创建物理备用数据库
创建物理备用数据库
此教程说明如何创建物理备用数据库。所介绍的步骤将把备用数据库配置为最佳性能模式,它是默认的数据保护模式。本教程介绍如何:
- 使用新的 DUPLICATE FROM ACTIVE DATABASE RMAN 命令
- 启用“最佳性能”备用模式
- 验证数据已到达物理备用数据库
- 使用 SQL*Plus 查看监视主数据库和物理备用数据库的视图
注:在本 OBE 代表的 Data Guard 配置中,orcl 是主数据库,orclsby1 是物理备用数据库 SID。出于简明性考虑,在本 OBE 中,主数据库和备用数据库都运行于同一服务器上。
大约 1 个小时
本教程包括下列主题:
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
Oracle 数据库 11g RMAN 在 DUPLICATE FOR STANDBY 命令中引入了 FROM ACTIVE DATABASE 功能。这减轻了先前对主系统和备用系统上临时存储的需要,以及对单流网络流量的限制。
现在,在提取主数据库备份的同时,您可同时以并行 流方式通过网络创建 和恢复 备用数据库。除一些简单的 Oracle Net 设置和创建几个目录和一个临时口令文件外,使用一个 RMAN 脚本就可完成整个备用数据库的创建。
RMAN 将自动将服务器参数文件复制到备用主机,使用服务器参数文件启动备用实例,恢复备份控制文件,并将所有必需的数据库文件和归档的重做日志通过网络复制到备用主机。
前提条件
开始本教程之前,您应该:
| 1. |
在单一服务器环境中,执行 Oracle 数据库 11g 安装(安装有软件和 db);在双服务器环境中,在一个服务器上执行 Oracle 数据库 11g 安装(安装有软件和 db),在另一服务器上只执行 Oracle 数据库 11g 软件。 |
| 2. |
将 physstby.zip 文件下载并解压缩到您的工作目录(即 wkdir)。 |
返回主题列表
在该过程中,验证已正确配置好主数据库以支持物理备用数据库。
下列准备任务只需执行一次。完成这些步骤后,数据库将可作为一或多个备用数据库的主数据库。您应执行以下步骤:
|
1. |
确定是否启用了 FORCE LOGGING。如果未启用,启用 FORCE LOGGING 模式。完成该语句可能需要一些时间,因为它要等待所有未记入日志的直写 I/O 完成。使用以下命令:
Select FORCE_LOGGING from V$DATABASE;
ALTER DATABASE FORCE LOGGING;

|
2. |
配置重做传输认证。
Data Guard 使用 Oracle Net 会话在 Data Guard 配置的成员间传输重做数据和控制消息。这些重做传输会话使用安全套接字层 (SSL) 协议或远程登录口令文件完成验证。
在本 OBE 中,我们将使用在后续步骤中将创建的远程登录口令文件。
|
|
3. |
通过添加备用日志文件到主数据库来配置主数据库接收重做数据。在验证反映您环境的目录路径后,您可以使用 cr_sby_redologs.sql 脚本。
强烈建议您在主数据库在线重做日志组的基础上,再使用一个备用数据库重做日志组。该文件必须与主数据库的在线重做日志大小一样或更大。
SQL> alter database add standby logfile 2 '/u01/app/oracle/oradata/orcl/srl01.log' size 52428800 3 /
Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl02.log' size 52428800
3 /
Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl03.log' size 52428800
3 /
Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl04.log' size 52428800
3 /
Database altered.
|
|
4. |
设置主数据库初始化参数
在主数据库中,定义数据库处于主数据库角色时控制重做数据传输服务的初始化参数。使用类似以下的 SQL 命令验证这些设置:

确保以下参数的设置反映了 Data Guard 配置。
| DB_NAME |
指定数据库名称。必须是 orcl。 |
| DB_UNIQUE_NAME |
为每个数据库指定一个唯一的名称。即使 DG 角色更改也不要更改。必须是 orcl。 |
| CONTROL_FILES |
指定主数据库上的控制文件的本地路径名称。 |
| LOG_ARCHIVE_CONFIG |
使用 DG_CONFIG 属性列出主数据库和备用数据库的 DB_UNIQUE_NAME。 |
| LOG_ARCHIVE_DEST_1 |
默认的本地归档重做日志文件的归档目的地。 |
| LOG_ARCHIVE_DEST_2 |
只对主数据库角色有效,该目的地将重做数据传输至远程物理备用数据库目的地 orclsby1。 |
| REMOTE_LOGIN_PASSWORDFILE |
如果使用了远程登录口令文件,则必须是 EXCLUSIVE 或 SHARED(默认值 = EXCLUSIVE) |
| LOG_ARCHIVE_DEST_STATE_n |
必须是 ENABLE(默认设置) |
使用以下命令设置 LOG_ARCHIVE_CONFIG 和 LOG_ARCHIVE_DEST_2,表示主数据库和备用数据库。

|
| 5. |
使用以下语句来确定您的数据库的归档状态,然后将主数据库置于 ARCHIVELOG 模式,以启用自动归档。

|
返回主题列表
在该过程中,配置网络环境并创建物理备用数据库。
注: 在本 OBE 中,您将配置单一服务器环境的网络。如果您在两个不同的服务器上配置环境,您相应地需要在两个服务器上配置 Net Manager。
返回主题列表
A. 使用 Oracle Net Manager 为您的物理备用数据库创建 Oracle Net 服务名称。
| 1. |
启动 Net Manager。
netmgr
|
| 2. |
展开 Local。选择 Service Naming 并单击加号。

|
| 3. |
在 Net Service Name 域中输入您的 <物理备用数据库 SID>(即 orclsby1),单击 Next。

|
| 4. |
选择 TCP/IP(互联网协议)并单击 Next。

|
| 5. |
输入您的完全限定的 <主机名>(即 edtdr9p1.us.oracle.com),然后单击 Next。

|
| 6. |
在 Service Name 域中输入您的 <物理备用数据库主机名>(即 orclsby1.us.oracle.com),单击 Next。

|
| 7. |
单击 Finish。
|
| 8. |
单击 File -> Save Network Configuration 将信息保存到 tnsnames.ora 文件。
|
返回主题
B. 使用 Oracle Net Manager 在 listener.ora 文件中为您的备用数据库配置一个条目。
| 1. |
展开 Listeners。
|
| 2. |
选择 LISTENER。
|
| 3. |
在下拉列表中选择 Database Services。

|
| 4. |
单击 Add Database。
|
| 5. |
在 Global Database Name 域中输入您的 <物理备用数据库主机名>(即 orclsby1.us.oracle.com)。在 SID 域中输入您的 <oracle 主目录> 和您的 <物理备用数据库 sid>(即 orclsby1)。

|
| 6. |
选择 File -> Save Network Configuration。
|
| 7. |
选择 File -> Exit。
|
返回主题
C. 通过网络创建备用数据库
| 1. |
重新加载监听器。
|
| 2. |
浏览至 ORACLE_HOME/dbs 文件夹以执行以下步骤。
将远程登录口令文件 (orapworcl) 从主数据库系统复制到备用数据库系统,将它重命名为 orapworclsby1。
在每次授予和撤消 SYSDBA 或 SYSOPER 权限时以及更改具有这些权限的用户的登录口令时,必须重新复制口令文件。如果您使用不同的服务器,您需要 FTP,或者一些其他远程文件传输机制。
注:如果您针对管理用户使用 Oracle 数据库 11g 加密或 OS 验证,这一步是必需的。
|
| 3. |
在 ORACLE_HOME/dbs 文件夹中,针对备用系统,创建初始化参数文件 initorclsby1.ora,包含一个参数:DB_NAME=<物理备用数据库 SID>(即 orclsby1)
|
| 4. |
针对备用系统,转至 /u01/app/oracle/admin 目录。创建您的 <物理备用数据库 SID>(即 orclsby1)目录。转到您的 <物理备用数据库 SID>(即 orclsby1)目录并创建 adump 目录。
|
| 5. |
针对备用系统,在数据文件的 $ORACLE_BASE/oradata 中创建您的 <物理备用数据库 SID>(即 orclsby1)。
注:根据您安装 Oracle 数据库 11g 的方式,您可能还需要添加以下目录路径:$ORACLE_BASE/flash_recovery_area 和 $ORACLE_BASE/oradata

|
| 6. |
在备用系统上,将 ORACLE_SID 环境变量设置为您的 <物理备用数据库 SID>(即 orclsby1),并使用文本初始化参数文件以 NOMOUNT 模式启动实例。
|
| 7. |
在主系统上,确保 ORACLE_SID 环境变量设置为您的主 DB <SID> (即 orcl)。
|
| 8. |
在主系统上,调用 RMAN 并以 SYSDBA 身份连接到目标数据库。连接至备用数据库。
|
| 9. |
在主系统上从 RMAN 执行 cr_phys_sby1.txt 脚本。该脚本执行结束后,您将得到通过网络创建的新备用数据库,不需任何临时存储。
|
| 10. |
在主数据库上执行日志切换,重做将开始发送到备用数据库。

|
| 11. |
在备用系统上,确保 ORACLE_SID 环境变量设置为您的 <物理备用数据库 SID>(即 orclsby1)并启动 MRP 进程。

|
返回主题
创建了物理备用数据库并设置好了重做传输服务后,您可能想验证一下数据库更改已成功从主数据库传输至备用数据库。要查看备用数据库在接收重做数据,您首先要找到备用数据库中现有的归档重做日志文件,在主数据库上强制进行日志切换并完成一些在线重做日志文件的归档,然后再重新检查看备用数据库。以下步骤说明如何完成这些任务。
| 1. |
在备用数据库上,查询 V$ARCHIVED_LOG 视图找到现有的归档重做日志文件。
您可以使用 query_archived_log.sql 文件。
|
| 2. |
在主数据库上,发出 ALTER SYSTEM SWITCH LOGFILE 语句,强制进行日志切换并将当前联机重做日志文件组归档。
|
| 3. |
在备用数据库上,重新查询 V$ARCHIVED_LOG 视图,验证备用数据库上已接收和归档了重做数据:
|
| 4. |
在备用数据库上,查询 V$ARCHIVED_LOG 视图以验证确实应用了归档的重做日志文件。重复查询,直至您在 APPLIED 栏中看见 YES。
完成这一步后,说明物理备用数据库正常运行,提供了最佳的数据保护。

|
在本教程中,您学习了如何:
返回主题列表
将鼠标置于该图标上可以隐藏所有的屏幕截图。
|