本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Oracle 数据库中备份@AWS
Oracle Database@AWS 提供了多种备份选项来保护您的 Oracle 数据库。您可以使用与 Amazon S3 无缝集成的 Oracle 托管备份,也可以使用 Oracle 恢复管理器 (RMAN) 创建自己的用户管理备份。
甲骨文管理了对亚马逊 S3 的备份
创建 ODB 网络时,Oracle Database@AWS 会自动为 Oracle 托管的 Amazon S3 备份配置网络访问权限。OCI 配置必要的 DNS 条目和安全列表。这些配置允许 OCI 虚拟云网络 (VCN) 和 Amazon S3 之间的流量。ODB 网络不启用或控制自动备份。
Oracle 托管的备份完全由 OCI 管理。创建 Oracle Exadata 数据库时,您可以通过在 OCI 控制台中选择启用自动备份来启用自动备份。选择以下备份目标之一:
-
Amazon S3
-
OCI 对象存储
-
自主恢复服务
有关更多信息,请参阅 OCI 文档中的 Backup Exadata 数据库
在 Oracle 数据库中由用户管理的 Amazon S3 备份@AWS
借助 Oracle Database@AWS,您可以使用专用基础架构上的 Exadata 数据库服务创建用户管理的数据库备份。您可以使用 Oracle 恢复管理器 (RMAN) 备份数据并将其存储在 Amazon S3 存储桶中。您可以完全控制备份计划、保留策略和存储成本,同时保持 Oracle Database AWS@ 的托管服务优势。
注意
Oracle Database@AWS 不支持在专用基础设施上对自治数据库进行用户管理的备份。
用户管理的备份与 Oracle Databas AWS e@ 提供的 AWS 托管备份解决方案相得益彰。您可以使用手动备份来满足合规性要求、跨区域灾难恢复或与现有备份管理工作流程的集成。
您可以使用以下用户管理的备份技术:
- Oracle Secure Backup
-
以最佳性能将备份直接传输到 Amazon S3。
- Storage Gateway
-
使用 Storage Gateway 进行使用 NFS 共享的基于文件的备份。
- S3 挂载点
-
使用文件客户端将 Amazon S3 存储桶挂载为本地文件系统。
在 Oracle 数据库中由用户管理的 Amazon S3 备份的先决条件@AWS
在将 Oracle Exadata 数据库备份到 Amazon S3 之前,请执行以下操作:
-
允许从您的 ODB 网络直接访问 Amazon S3。
-
在 Oracle Database@ 和 Amazon S3 之间配置网络连接AWS 和路由。
允许从您的 ODB 网络访问 Amazon S3
要将数据库手动备份到 Amazon S3,请启用从 ODB 网络直接访问 S3。该技术允许您的数据库访问Amazon S3以满足您的业务需求,例如数据导入/导出或用户管理的备份。您可以完全控制备份存储的目标位置,并且可以使用 VPC Lattice 使用策略来限制对 Amazon S3 的访问。
默认情况下,不启用从您的 ODB 网络直接访问 Amazon S3。您可以在创建或修改 ODB 网络时启用 S3 访问权限。
允许从您的 ODB 网络直接访问 Amazon S3
-
打开 Oracle Database@AWS 控制台,网址为。https://console.aws.amazon.com/odb/
-
在导航窗格中,选择 ODB 网络。
-
选择您要为其启用 Amazon S3 访问权限的 ODB 网络。
-
选择 Modify(修改)。
-
选择 Amazon S3。
-
(可选)配置 Amazon S3 策略文档以控制对 Amazon S3 的访问权限。如果您未指定策略,则默认策略会授予完全访问权限。
-
选择 “继续”,然后选择 “修改”。
要允许从 ODB 网络直接访问 Amazon S3,请使用带s3-access参数的update-odb-network命令:
aws odb update-odb-network \ --odb-network-idodb-network-id\ --s3-access ENABLED
要配置 Amazon S3 策略文档,请使用以下--s3-policy-document参数:
aws odb update-odb-network \ --odb-network-idodb-network-id\ --s3-policy-document file://s3-policy.json
启用 Amazon S3 访问后,您可以使用区域 DNS s3. 从您的 ODB 网络访问 Amazon S3。默认情况下,OCI 会配置此 DNS 名称。要使用自定义 DNS 名称,请修改您的 VCN DNS 以确保自定义 DNS 解析为服务网络终端节点的 IP 地址。region.amazonaws.com
在 Oracle Database@AWS 和 Amazon S3 之间配置网络连接
要允许用户管理备份到 Amazon S3,您的虚拟机必须能够访问 S3 Amazon VPC 终端节点。在 OCI 控制台中,您可以编辑网络安全组 (NSG) 中的安全规则以控制入口和出口流量。对于用户管理的备份,流量通过客户端子网而不是备份子网流动。在以下步骤中,您将更新客户端子网以添加 VPC 终端节点 IP 地址的出口规则。 NSGs
允许虚拟机访问 Amazon S3 终端节点
-
打开 Oracle Database@AWS 控制台,网址为。https://console.aws.amazon.com/odb/
-
选择 ODB 网络。
-
选择 ODB 网络的名称。
-
选择 OCI 资源。
-
选择 “服务集成” 选项卡。
-
在 Amazon S3 下,请注意以下信息:
-
亚马逊 VPC S3 终端节点 IPv4 的地址。您稍后需要此信息。例如,IP 地址可能是
192.168.12.223。 -
亚马逊 VPC S3 终端节点的域名。您稍后需要此信息。例如,域名可能是
s3.us-east-1.amazonaws.com。
-
-
在左侧导航窗格中,选择 Exadata 虚拟机集群,然后选择您的虚拟机集群名称。
-
在页面顶部,选择 “摘要” 选项卡。
-
选择虚拟机,然后选择虚拟机的名称。
-
注意 D NS 名称中的值。这是您在使用连接虚拟机时指定的主机名
ssh。 -
在右上角,选择在 OCI 中管理。这将打开 OCI 控制台。
-
在虚拟云网络列表页上,选择包含 ODB 网络客户端子网 () 的网络安全组 (NSG) 的 VCN。
exa_static_nsg有关更多信息,请参阅 OCI 文档中的管理 NSG 的安全规则。 -
在详细信息页面上,根据您看到的选项执行以下操作之一:
-
在 “安全” 选项卡上,转到 “网络安全组”。
-
在资源下,选择网络安全组。
-
-
为客户机子网选择 NSG (
exa_static_nsg)。 -
为您之前记下的 VPC 终端节点地址添加一条出口规则。
测试从您的虚拟机到 S3 的连接
-
ssh用于连接您之前root获得的 DNS 名称的虚拟机。连接时,请使用您的 SSH 密钥指定一个.pem文件。 -
运行以下命令以确保虚拟机可以访问 Amazon S3 Amazon VPC 终端节点。使用您之前记下的 S3 域名。
# nslookups3.us-east-1.amazonaws.com# curl -v https://s3.us-east-1.amazonaws.com/ # aws s3 ls --endpoint-url https://s3.us-east-1.amazonaws.com
使用 Oracle Secure Backup 备份到亚马逊 S3
Oracle Secure Backup 充当 SBT 接口,可与恢复管理器 (RMAN) 配合使用。你可以使用 RMAN 和 Oracle Secure Backup 将你的 Oracle Database@AWS 数据库直接备份到 Amazon S3。Oracle Secure Backup 具有以下优势:
-
Oracle Secure Backup 优化了 RMAN 和 S3 之间的数据传输。
-
无需中间备份存储。
-
Oracle Secure Backup 管理备份媒体的生命周期。
使用 Oracle Secure Backup 备份到亚马逊 S3
-
在 Exadata 虚拟机服务器上安装 Oracle 安全备份模块。将占位符值替换为您的 AWS 访问密钥和私有访问密钥。有关更多信息,请参阅使用 Oracle 安全备份云模块备份到云上的 Oracle
文档。 cd $ORACLE_HOME/lib java -jar osbws_install.jar -AWSIDaws-access-key-id-AWSKeyaws-secret-access-key-walletDir $ORACLE_HOME/dbs/osbws_wallet -locationus-west-2-useHttps -awsEndPoint s3.us-west-2.amazonaws.com -
连接 RMAN 并配置备份通道和默认设备类型。
RMAN target / RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_2/lib/libosbws.so, ENV=(OSB_WS_PFILE=/u02/app/oracle/product/19.0.0.0/dbhome_2/dbs/osbwssmalikdb1.ora)'; RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; -
验证配置。
RMAN> SHOW ALL; -
备份数据库。
RMAN> BACKUP DATABASE; -
验证备份是否成功完成。
RMAN> LIST BACKUP OF DATABASE SUMMARY;
在亚马逊上使用 AWS Storage Gateway 备份到亚马逊 S3 EC2
AWS Storage Gateway 是一项混合服务,可将您的本地环境与 AWS Cloud 存储服务连接起来。对于 Oracle Database@AWS 备份,您可以使用 Storage Gateway 创建直接写入 Amazon S3 的基于文件的备份工作流程。与 Oracle 安全备份技术不同,您可以管理备份的生命周期。
在此解决方案中,您可以创建一个单独的 Amazon EC2 实例来配置 Storage Gateway。您还可以添加一个 Amazon EBS 卷来缓存对 Amazon S3 的读取和写入。
此技术具有以下优点:
-
您不需要像 Oracle Secure Backup 这样的媒体管理器。
-
无需中间备份存储。
部署 Storage Gateway 并创建文件共享
-
打开 AWS 管理控制台 at https://console.aws.amazon.com/storagegateway/home/
,然后选择要在其中创建网关的 AWS 区域。 -
使用亚马逊 EC2 实例作为中心,部署并激活 Amazon S3 文件网关。按照 Storage Gateway 用户指南中为 S3 文件网关部署自定义 Amazon EC2 主机中的说明进行操作。
配置文件网关时,请确保执行以下操作:
-
至少添加一个 Amazon EBS 卷作为缓存存储空间,其大小至少为 150 GiB。
-
在您的安全组中打开 TCP/UDP 端口 2049 以进行 NFS 访问。这允许您创建 NFS 文件共享。
-
为入站流量打开 TCP 端口 80,以便在网关激活期间允许一次性 HTTP 访问。激活后,您可以关闭此端口。
-
-
为你的 ODB 网络和 Storage Gateway 之间的私有连接创建一个 Amazon VPC 终端节点。有关更多信息,请参阅使用接口 VPC 终端节点访问 AWS 服务。
-
通过 Storage Gateway 控制台为您的 Amazon S3 存储桶创建文件共享。有关更多信息,请参阅创建文件共享。
使用 Storage Gateway 将数据库备份到 Amazon S3
-
在终端中,使用连接
ssh到 Exadata 虚拟机的 DNS 名称。要查找 DNS 名称,请参阅在 Oracle 数据库中由用户管理的 Amazon S3 备份的先决条件@AWS。 -
在 Exadata 虚拟机群集服务器上为 NFS 挂载创建一个目录。以下示例会创建
/home/oracle/sgw_mount/目录。mkdir /home/oracle/sgw_mount/ -
将 NFS 共享挂载到您刚刚创建的目录上。以下示例在目录上创建共享
/home/oracle/sgw_mount/。SG-IP-address替换为您的 Storage Gatewyour-bucket-nameay IP 地址和 S3 存储桶的名称。sudo mount -t nfs -o nolock,hardSG-IP-address:/your-bucket-name/home/oracle/sgw_mount/ -
连接到 RMAN 并将数据库备份到已装载的目录。以下示例创建通道
rman_local_bkp并使用装入点路径来格式化备份片段。$ rman TARGET / RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK; RMAN> BACKUP FORMAT '/home/oracle/sgw_mount/%U' DATABASE; -
确认备份文件已在装载目录中创建。以下示例显示了两个备份片段。
$ ls -lart /home/oracle/sgw_mount/ total 8569632 -rw-r----- 1 oracle asmdba 1112223334 Jul 10 20:51 1a2b34cd_1234_1_1 drwxrwxrwx 1 nobody nobody 0 Jul 10 20:56 . -rw-r----- 1 oracle asmdba 5556667778 Jul 10 20:56 1a2b34cd_1235_1_1
使用 S3 挂载点备份到 Amazon S3
您可以使用 Amazon S3 挂载点先在本地创建备份,然后将其复制到 Amazon S3。此技术在本地存储上创建备份,然后使用挂载点接口将其传输到 Amazon S3。备份时间比其他技术长,因为您需要备份两次数据。
注意
不支持使用挂载点直接备份到 Amazon S3,无需暂存。RMAN 需要与 Amazon S3 挂载点接口不兼容的特定文件系统权限。
此技术不需要您许可 Oracle Secure Backup 等媒体管理器。您可以管理备份的生命周期。
使用 S3 挂载点备份到 Amazon S3
-
在终端中,使用连接
ssh到 Exadata 虚拟机的 DNS 名称。要查找 DNS 名称,请参阅在 Oracle 数据库中由用户管理的 Amazon S3 备份的先决条件@AWS。 -
在 Exadata 虚拟机群集服务器上安装 Amazon S3 挂载点。有关安装和配置的更多信息,请参阅《亚马逊 S3 用户指南》中的 Amazon S 3 安装点。
$ sudo yum install ./mount-s3.rpm -
通过运行
mount-s3命令来验证安装。$ mount-s3 --version mount-s3 1.19.0 -
在 Exadata 虚拟机群集服务器的本地存储上创建中间备份目录。您将数据库备份到此本地目录,然后将备份复制到 S3 存储桶。以下示例创建目录
/u02/rman_bkp_local。mkdir /u02/rman_bkp_local -
为 Amazon S3 挂载点创建目录。以下示例创建目录
/home/oracle/s3mount。$ mkdir /home/oracle/s3mount -
使用挂载点挂载您的 Amazon S3 存储桶。以下示例在目录
/home/oracle/s3mount上安装一个 S3 存储桶。your-s3-bucket-name替换为您实际的 Amazon S3 存储桶名称。$ mount-s3 s3://your-s3-bucket-name/home/oracle/s3mount -
确认您可以访问 Amazon S3 存储桶中的内容。
$ ls -lart /home/oracle/s3mount -
将 RMAN 连接到您的目标数据库并将其备份到本地暂存目录。以下示例创建通道
rman_local_bkp并使用该路径/u02/rman_bkp_local/格式化备份片段。$ rman TARGET / RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK; RMAN> BACKUP FORMAT '/u02/rman_bkp_local/%U' DATABASE; -
确认备份是在本地目录中创建的:
$ cd /u02/rman_bkp_local/ $ ls -lart total 4252128 drwxr-xr-x 8 oracle oinstall 4096 Jul 10 02:13 .. -rw-r----- 1 oracle asmdba 1112223334 Jul 10 02:13 abcd1234_1921_1_1 drwxr-xr-x 2 oracle oinstall 4096 Jul 10 02:13 . -rw-r----- 1 oracle asmdba 5556667778 Jul 10 02:14 abcd1234_1922_1_1 -
将备份文件从本地暂存目录复制到 Amazon S3 挂载点。
cp /u02/rman_bkp_local/* /home/oracle/s3mount/ -
确认您已成功将文件复制到 Amazon S3。
$ ls -lart /home/oracle/s3mount/ total 4252112 drwx------ 6 oracle oinstall 225 Jul 10 02:09 .. drwxr-xr-x 2 oracle oinstall 0 Jul 10 02:24 . -rw-r--r-- 1 oracle oinstall 1112223334 Jul 10 02:24 abcd1234_1921_1_1 -rw-r--r-- 1 oracle oinstall 5556667778 Jul 10 02:24 abcd1234_1922_1_1
禁止直接访问 Amazon S3
如果您不再需要从 ODB 网络直接访问 Amazon S3,则可以将其禁用。启用或禁用对 S3 的直接网络访问不会影响对 Oracle 托管的 Amazon S3 备份的网络访问。
禁用直接访问 Amazon S3
-
打开 Oracle Database@AWS 控制台,网址为。https://console.aws.amazon.com/odb/
-
在导航窗格中,选择 ODB 网络。
-
选择您要禁用 Amazon S3 访问权限的 ODB 网络。
-
选择 Modify(修改)。
-
清除 “启用 S3 访问权限” 复选框。
-
选择修改 ODB 网络。
将 update-odb-network 命令与 s3-access 参数一起使用。
aws odb update-odb-network \ --odb-network-idodb-network-id\ --s3-access DISABLED
对 Amazon S3 集成进行故障排除
如果您在 Oracle 托管的 Amazon S3 备份或直接访问 Amazon S3 时遇到问题,请考虑以下故障排除步骤:
- 无法从您的数据库访问 Amazon S3
-
请检查以下事项:
-
确认您的 ODB 网络已启用 Amazon S3 访问权限。使用
GetOdbNetwork操作来检查s3Access状态是否为Enabled。 -
确保您使用的是正确的区域 DNS 名称:
s3.。region.amazonaws.com -
检查您的 Oracle 数据库是否具有访问亚马逊 S3 所需的权限。
-
- 甲骨文管理的备份失败
-
请检查以下事项:
-
默认情况下,Oracle 对 Amazon S3 的托管备份处于启用状态,无法禁用。如果备份失败,请查看 Oracle 数据库日志中是否有特定的错误消息。
-
通过查看服务集成资源,验证 Amazon VPC Lattice 资源配置是否正确。
-
请联系 Oracle 支持部门,获取有关 Oracle 托管自动备份问题的帮助。有关更多信息,请参阅 获取对 Oracle 数据库的支持@AWS。
-