发布于: Aug 26, 2022

 

数据备份与灾难恢复方案是每一个数据库使用者平时就应该留心的问题,当灾难发生后再想挽回损失可能就于事无补了。利用 Amazon RDS for Oracle 建立只读副本可以帮助你防患于未然

 

数据备份灾难恢复方案是每一个数据库使用者平时就应该留心的问题,当灾难发生后再想挽回损失可能就于事无补了。利用 Amazon RDS for Oracle 建立只读副本可以帮助你防患于未然。下面就来看看具体如何操作吧。

 

Amazon RDS for Oracle 只读副本为各数据库实例提供强大的性能与持久性。Amazon RDS 可使用源数据库实例的快照创建第二个数据库实例。要启用只读副本,大家需要首先启用自动备份选项(将备份保留周期的值设置为大于 0),并在源数据库实例上启用强制日志记录。要启用强制日志记录模式,请连接数据库实例并输入以下代码:

exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);

关于创建只读副本以及相关限制的更多详细信息,请参阅 Oracle 数据库只读副本限制说明。

在本章节中,我们将共同了解如何创建跨区域只读副本。

创建主(源数据库)实例。
为了单纯展示只读副本的创建过程,我们已经在“us-west-2”区域内创建了名为“mydbinstance”的主数据库实例,具体操作命令如下:

aws rds create-db-instance \
  --db-instance-identifier mydbinstance \
  --db-name MYDB \
  --allocated-storage 20 \
  --storage-type gp2 \
  --db-instance-class db.m5.xlarge \
  --engine oracle-ee  \
  --port 1521 \
  --backup-retention-period 1 \
  --license-model byol \
  --master-user-password XXXXXXXXXX \
  --master-username admin \
  --engine-version 19.0.0.0.ru-2020-01.rur-2020-01.r1

关于更多详细信息,请参阅创建一个 Oracle 数据库实例,及如何连接 Oracle 数据库实例上的数据库。当主数据库实例状态显示为 Available 后,您即可创建只读副本了(请确保在 Amazon RDS 控制台中前往 Region 部分,并选定主数据库实例)。

  • 创建主(源数据库)实例

为了单纯展示只读副本的创建过程,我们已经在“us-west-2”区域内创建了名为“mydbinstance”的主数据库实例,具体操作命令如下:

aws rds create-db-instance \
  --db-instance-identifier mydbinstance \
  --db-name MYDB \
  --allocated-storage 20 \
  --storage-type gp2 \
  --db-instance-class db.m5.xlarge \
  --engine oracle-ee  \
  --port 1521 \
  --backup-retention-period 1 \
  --license-model byol \
  --master-user-password XXXXXXXXXX \
  --master-username admin \
  --engine-version 19.0.0.0.ru-2020-01.rur-2020-01.r1

关于更多详细信息,请参阅创建一个 Oracle 数据库实例,及如何连接 Oracle 数据库实例上的数据库。当主数据库实例状态显示为 Available 后,您即可创建只读副本了(请确保在 Amazon RDS 控制台中前往 Region 部分,并选定主数据库实例)。

  • 在 Amazon RDS 控制台中,选择 Databases。
  • 选择 mydbinstance。
  • 在 Actions 下拉菜单中,选择 Create read replica。
  • 在 Instance specifications 部分的 DB instance class 中,选择 m5.xlarge。
  • 在 Multi-AZ deployment 部分,选择 No。
  • 在 Storage type 部分,选择 General Purpose (SSD)。
  • 在 Network & Security 部分的 Destination region 处,选择 US East (N. Virginia)。
  • 在 Destination DB subnet group 处,选择 default。
  • 在 Availability zone 处,选择 No preference。
  • 在 Publicly accessible 部分,选择 Yes。
  • 在 VPC security groups 部分,选择 default。
  • 在 Settings 部分的 Read replica source 处,选择 mydbinstance。
  • 在 DB instance identifier 部分,输入 mydbinstance-ro。
  • 在 Monitoring 部分的 Enhanced monitoring 处,选择 Disable enhanced monitoring。
  • 在 Log exports 部分,取消所有选中的日志类型。
  • 在 Performance Insights 部分,选择 Disable Performance Insights。
  • 在 Maintenance 部分的 Auto minor version upgrade 处,选择 No。
  • 选择 Create read replica。整个创建过程大概需要 10 到 15 分钟,创建完成后您的主数据库实例将在 us-west-2 中显示为 Master 。

The role for the Read Replica shows as Replica in us-east-1

 

 

另外,大家也可以在 Amazon Web Services CLI 中或者使用 create-db-instance-read-replica Amazon RDS API 创建只读副本。要在 us-east-1 中创建跨区域只读副本 (mydbinstance-ro),并在 us-west-2 区域中运行主数据库实例 (mydbinstance),请输入以下操作代码:

aws rds create-db-instance-read-replica \
--source-db-instance-identifier arn:aws:rds:us-west-2:xxxxxxxxxx:db:mydbinstance\
--source-region us-west-2\
--db-instance-identifier mydbinstance-ro\
--region us-east-1
-- kms-key-id  kms-key-id xxxxxxxxxx: xxxxxxxxxx:

如果您希望在其他区域中创建加密的只读副本,则需要为目标区域指定一个 Amazon Web Services KMS 密钥。您在区域内创建的 Amazon Web Services KMS 加密密钥,将只能在该区域中使用;我们无法在某一区域中使用其他区域内创建的加密密钥。

 

相关文章