【官方文档解析】创建物理备用数据库




  • 3.创建物理备用数据库

    通过本章的步骤,你可以进行创建物理备用数据库的过程,它包含以下主要的标题:

    ■  准备用于创建备用数据库的主数据库
    ■  介绍创建物理备用数据库的步骤
    ■  创建完成后的步骤

    本章中描述的,最大性能方式的备用数据库配置,这种方式是默认的数据保护方式。章节5提供了配置不同数据保护方式的相关信息。本章中的论述假定你指定了服务器初始化参数文件(SPFILE),来代替文本初始化参数文件(PFILE)。

    请参阅:
    ■  Oracle Database Administrator's Guide 文档中关于创建和使用服务器参数文件的 相关信息
    ■  Oracle Data Guard Broker 和 Enterprise Manager在线帮助系统中关于使用图形 界面用户接口自动创建物理备用数据库的相关信息

    3.1准备用于创建备用数据库的主数据库

    在创建备用数据库之前,你务必要确保主数据库已经配置正确。
    表3–1  提供了一个任务清单,列出了你在主数据库上准备创建物理备用数据库所需要的任务。详细的任务描述,也可以参考清单中的章节。表3–1  为创建物理备用数据库而在主数据库中所作的准备
    参考                      工作                                
    小节 3.1.1           启用 Forced Logging
    小节 3.1.2           创建密码文件
    小节 3.1.3           配置备用重做日志
    小节 3.1.4           设置主数据库的初始化参数文件
    小节 3.1.5           启用归档
    ========================================================================================
    注意: 仅需执行这些预先准备工作一次。完成了这些步骤以后,这个数据库就可以作为主数据库,为一个或更多的备用数据库服务。
    ========================================================================================
    3.1.1 启用 Forced Logging
    在数据库创建后,使用下面的SQL语句,将主数据库置于 FORCE LOGGING 模式下。

    SQL> ALTER DATABASE FORCE LOGGING;

    由于这段语句要等待全部的尚未记录的直接I/O完成,因此它会花费一段相当长的时 间才能完成。

    3.1.2 创建密码文件
    如果密码文件不存在,则要创建一个密码文件。Data Guard 中的每一个数据库必须 配置密码文件,为了redo数据传输成功,每一个系统中SYS用户的密码必须完全一致。
    参阅 Oracle Database Administrator's Guide

    3.1.3 配置备用重做日志
    最大保护和最大可用模式需要备用 redo log ,并且所有数据中推荐使用 LGWR ASYNC 传输方式。相比独立的已归档的redo log文件, Data Guard能通过备用数据库的redo log,恢复和应用更多的redo数据。
    在创建备用数据库时,你应该计划备用redo log 的组成和创建所有必须的日志组以及日志成员。为了增加可用性,按照复用在线redo log文件的同样的方法,考虑复用备用的 redo log文件。
    执行如下的步骤来配置备用redo log文件。

    步骤1 确保主备数据库日志文件尺寸完全一样
    当前备用redo log文件的尺寸必须和当前主数据库的在线redo log文件尺寸完全匹配。
    例如,如果主数据库使用2组在线日志,每个日志文件为200K,则备用日志组也应该有200k 的日志文件。

    步骤2 决定备用redo log文件组合适的数量
    最低的限度, 应该配置一个比主数据库中的在线redo log文件组数多的备用日志文件组数。
    然而,备用日志文件组推荐的数量是依赖主数据库的线程数。使用如下的等式来决定备用日志文件组合适的数量:

    (maximumnumber of logfiles for each thread + 1) * maximumnumber of threads

    使用这个等式减少了主数据库日志写进程(LGWR)由于备用redo log文件不能分配给备用 数据库而阻塞的可能性。
    例如,如果主数据库有2个线程,每个线程有2个日志文件,而备用数据库上则需要6个备用日志文件组。
    ========================================================================================
    注意: 逻辑备用数据库随工作负载,可能需要更多的备用redo log 文件(或者额外的ARCn 进程)。这是因为逻辑备用数据库同时写 在线redo log文件,它优先于备用redo log文件。因此,备用redo log 文件不能和在线redo log文件一样快的被归档。请参阅 章节 5.7.3.1.
    ========================================================================================

    步骤3 交验相关的数据库参数和设置
    交验SQL CREATE DATABASE语句中的MAXLOGFILES 和 MAXLOGMEMBERS 选项使用的值为不限制备用redo log文件组和成员数量,并且,你也可以添加。
    唯一覆盖指定MAXLOGFILES 和 MAXLOGMEMBERS 选项限制的方法就是重建主数据库或者控制文件。

    参阅 Oracle Database SQL Reference 和 Oracle 文档中描述你的操作系统的
    MAXLOGFILES 和 MAXLOGMEMBERS 选项的默认值和合法值。

    步骤4 创建备用redo log 文件组.
    创建新的备用redo log文件组和成员,你必须要有 ALTER DATABASE 系统权限。备用 数据库开始使用新建的备用redo数据,在下一次主数据库日志切换的时候。样例 3–1 和 样例 3–2 展示了使用带有ADD STANDBY LOGFILE GROUP 选项变量的 ALTER DATABASE语句如何创建一个新的备用redo log文件组。

    样例 3–1 添加备用Redo Log 文件组带有Thread描述
    如下的语句添加了一个新的备用redo log文件组给备用数据库,并且分配给线程5

    SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 5
    2> ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;

    只有你想添加一个或更多的备用redo log文件组给一个主数据库中指定的线程,才需要 配置THREAD 选项。如果没有包括THREAD 选项和使用了 Real Application Clusters (RAC)结构, Data Guard 将自动分配备用redo log 文件组给运行时所需它们的各个 RAC实例上。

    样例 3–2 添加备用 Redo Log 文件组带有 Group Number描述
    你也可以使用GROUP 选项指定组的标识号码。

    SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 10
    2> ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;

    使用组号码能容易的管理备用redo log文件组。然而,组号码必须在1和 MAXLOGFILES 选项的设置值之间. 不要跳过日志组号码(就是,10,20,30,等等不 要作为号码),否则你将会在备用数据库控制文件中使用额外的空间。
    ========================================================================================
    注意: 虽然备用redo log仅能用在当数据库运行在备用角色时, 但Oracle推荐你在主数据库中创建备用redo log,以便主数据库在没有额外的DBA干预的情况下能够快速的切换到备用角色。考虑使用 Oracle Enterprise Manager 在主备数据库中来自动配置备用redo log 。
    ========================================================================================

    步骤5 交验创建的redo log文件组
    验证备用redo log文件组的创建和正常运行,先对主数据库进行日志切换,然后在已创建完成的备用数据库中查询V$STANDBY_LOG视图或者V$LOGFILE视图。例如:
    SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG; 
    GROUP#     THREAD#    SEQUENCE#  ARC STATUS
    ---------- ---------- ---------- --- ----------
             3          1         16 NO  ACTIVE
             4          0          0 YES UNASSIGNED
             5          0          0 YES UNASSIGNED

    3.1.4 设置主数据库初始化参数文件
    在主数据库上,你可以定义初始化参数文件,为在数据库作为主库角色时控制redo 传输服务 。你需要添加附加的参数,用于当主数据库转换为备库角色时,控制redo 数据和日志应用服务的接收。

    样例 3–3 显示了在主数据库中你应该保持的主角色初始化参数。 这个样例代表了一个 Data Guard 的结构, 主数据库位于芝加哥,物理备用数据库位于波士顿。样例 3–3 中 无论这个芝加哥数据库是运行在主或是备数据库角色时,显示的参数均是有效的。样例结构所使用的名称 显示在下面表格中:

    Database                      DB_UNIQUE_NAME      Oracle Net Service Name

    Primary                            chicago                             chicago

    Physical standby          boston                               boston

    样例 3–3 主数据库: 主角色初始化参数

    DB_NAME=chicago DB_UNIQUE_NAME=chicago
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)' 
    CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl' 
    LOG_ARCHIVE_DEST_1='LOCATION=/arch1/chicago/
    VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
    DB_UNIQUE_NAME=chicago' 
    LOG_ARCHIVE_DEST_2= 'SERVICE=boston LGWR ASYNC
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
    DB_UNIQUE_NAME=boston' 
    LOG_ARCHIVE_DEST_STATE_1=ENABLE
    LOG_ARCHIVE_DEST_STATE_2=ENABLE 
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    LOG_ARCHIVE_FORMAT=%t_%s_%r.arc LOG_ARCHIVE_MAX_PROCESSES=30

    这些参数控制了redo传输服务如何传送redo数据到备用系统,以及如何在本地文件系统 中归档redo数据。注意样例中对LOG_ARCHIVE_DEST_2 初始化参数为传输redo数据所设置的 LGWR 进程 和asynchronous (ASYNC) 异步网络传输的描述。这些是备用redo log 文件推荐的设置和要求(参阅 3-2页中的章节 3.1.3, "备用Redo Log的配置" ).

    样例 3–4 显示了主数据库中附加的备库角色初始化参数。 这些参数在主数据库 转换为备库角色时产生影响。

    样例 3–4 主数据库: 备库角色的初始参数

    FAL_SERVER=boston FAL_CLIENT=chicago
    DB_FILE_NAME_CONVERT='boston','chicago'
    LOG_FILE_NAME_CONVERT=
    '/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/'
    STANDBY_FILE_MANAGEMENT=AUTO

    样例 3–4 显示的初始参数描述了在主数据库上设置的减少间隔,从新的主数据库转换新 的数据文件和日志文件的路径名,归档输入的redo数据,当这个数据库作为备库角色 时。按照描述的方式设置主备库角色初始参数,在角色转换后无需要改变任何参数。

    下表中提供了有关样例 3–3 和样例 3–4 显示的每个参数的简短说明。
    参数                           推荐的设置
    DB_NAME           指定一个8字符的名字。所有备用数据库要使用相同的名字。
    DB_UNIQUE_NAME     指定每个数据库的唯一名字。这个名字在数据库工作中无法改变,即使是主备数据库角色
    发生转换。
    LOG_ARCHIVE_CONFIG 此参数指定DG_CONFIG属性, 该属性中列出了Data Guard结构中主备数据库的
    DB_UNIQUE_NAME名称;这个参数能够动态的增加备用数据库为 Data Guard结构,
    此结构包括Real Application Clusters并运行于最大保护模式或者最大可用模
    式的主数据库 。通过默认值,LOG_ARCHIVE_CONFIG参数能够让数据库发送和接收
    redo; 角色转换之后,你可能需要再次使用SEND, NOSEND, RECEIVE,或者
    NORECEIVE关键字来指定这些设置。
    CONTROL_FILES   指定了主数据库控制文件的路径名。

    样例 3–3 显示了如何使用两个控制文件。 这是推荐的方法,同一个实例中有效
    的第二份控制文件拷贝,可以将好的控制文件拷贝到损坏的控制文件位置,进
    而轻松的使数据库可以重新开始 。

    参数 推荐设置
    LOG_ARCHIVE_DEST_n 指定了主备系统中将要被归档的redo数据的存放位置。 样例 3–3:

    ■ LOG_ARCHIVE_DEST_1 通过从主数据库中的本地在线redo log文件到目 录/arch1/chicago/中的本地归档redo log文件形成了归档redo数据。

    ■ LOG_ARCHIVE_DEST_2 仅仅作为主库角色时才有效。这个传输redo数据的 目的文件夹属于远程波士顿的物理备用目的文件夹

    注意: 如果设置了 flash recovery area快速闪回区 (使用 DB_RECOVERY_FILE_DEST初始参数) ,你就不能明确的 用LOCATION 属性配 置本地归档目的文件夹 ,Data Guard 自动使用 LOG_ARCHIVE_DEST_10 初始 参数 作为本地归档的默认目的文件夹。 参阅 小节 5.2.3 中的更多信息。参阅 章 节 14 关于LOG_ARCHIVE_DEST_n 的完整信息。

    LOG_ARCHIVE_DEST_STATE_n 指定 ENABLE 允许redo传输服务传输redo数据到指定目的文件夹

    REMOTE_LOGIN_ PASSWORDFILE

    设置主备数据库上为SYS用户的相同密码。这是EXCLUSIVE 或者 SHARED推荐的 设置。

    LOG_ARCHIVE_FORMAT 指定归档redo log文件的格式,使用线程 (%t),队列号码 (%s),和 resetlogs ID
    (%r)。 参阅 小节 5.7.1 中的其他样例。

    LOG_ARCHIVE_MAX_
    PROCESSES =integer

    指定归档 (ARCn) 进程的最大数 (从 1 到 30) ,作为你想Oracle软件最初所支持 的数量。默认值是4. 参阅 小节 5.3.1.2 关于 ARCn进程的更多信息。

    FAL_SERVER 指定FAL server 的Oracle Net service 名称 (代表了这个数据库运行于主库角色). 当
    芝加哥的数据库运行于备库角色时,FAL server用于波士顿数据库,作为如果波
    士顿不能自动的发送丢失的日志文件,则从FAL server取到 (需要的) 丢失的归档
    redo log文件。 参阅 小节 5.8.

    FAL_CLIENT 指定芝加哥数据库的Oracle Net service名称。FAL server (Boston) 拷贝丢失的归
    档redo log 文件给 芝加哥备用数据库. 参阅 小节 5.8.

    DB_FILE_NAME_CONVERT 描述位于主数据库中数据文件的路径名和文件名,然后是备用数据库的数据文件
    的路径名和文件名 。这个参数将主数据库的路径名转换到备用数据库的数据文件
    路径名。如果备用数据库和主数据库是同样的操作系统,或者如果位于主站点和
    备用站点的数据文件的目录结构不同,则需要这个参数。 注意这个参数仅用于物
    理备用数据库转换路径名,这个参数可以指定多对的路径。

    LOG_FILE_NAME_CONVERT 描述位于主数据库中在线redo log文件的位置,然后是备用数据库的在线redo log
    文件的位置 。这个参数将主数据库的日志文件路径名转换到备用数据库的日志文
    件路径名。如果备用数据库和主数据库是同样的操作系统,或者如果位于主数据
    库和备用数据库的日志的目录结构不同,则需要这个参数。 这个参数可以指定多
    对的路径。

    STANDBY_FILE_MANAGEMENT 设置 AUTO 用作当从主数据库中添加或者删除数据文件时,
    备用数据库也自动完成相匹配的变化。
    ========================================================================================
    警告: 复查初始参数文件中可能需要修改的补充参数,例如,你可能 需要修改 dump目的文件夹参数 (BACKGROUND_ DUMP_DEST, CORE_DUMP_DEST, USER_DUMP_DEST) ,如果这些目录位置在主数 据库中的设定不同于备用数据库。另外,如果他们不存在你可能不得 不在备库系统上创建这些目录。
    ========================================================================================
    3.1.5 启用归档
    如果归档没有启用,,发出下面的语句使主数据库进入归档模式,并启用自动归档:

    SQL> SHUTDOWN IMMEDIATE; 
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE ARCHIVELOG;
    SQL> ALTER DATABASE OPEN;

    参阅 Oracle Database Administrator's Guide 中归档的相关信息.

    3.2 创建物理备用数据库步骤介绍
    本小节描述了创建物理备用数据库时你要做的的任务。
    表 3–2 提供了你执行创建物理备用数据库时的任务列表,你应该在这个或这些数据 库中执行每一个任务。可以参考这些章节中对任务的详细描述。
    表 3–2 创建物理备用数据库
    参考       工作                    数据库
    小节 3.2.1   创建主数据库数据文件的备份拷贝    主数据库
    小节 3.2.2   创建备用数据库的控制文件         主数据库
    小节 3.2.3   准备备用数据库的初始化参数文件    主数据库
    小节 3.2.4   将文件从主系统复制到备用系统      主数据库
    小节 3.2.5   建立支持备用数据库的环境         备用数据库
    小节 3.2.6   开始物理备用数据库               备用数据库
    小节 3.2.7   验证物理备用数据库正适当的运行     备用数据库

    3.2.1 创建主数据库数据文件的备份拷贝
    你可以使用主数据库的任何备份拷贝来创建物理备份数据库,只要你有必要的归档日 志文件来完整的恢复数据库。Oracle 推荐你使用 Recovery Manager 工具 (RMAN).
    参阅 Oracle High Availability Architecture and Best Practices 关于备份的建议和 Oracle Database Backup and Recovery Advanced User's Guide 关于执行 RMAN 备份操作.

    3.2.2 创建备用数据库的控制文件
    如果备份程序需要你关闭主数据库,发出下面的SQL*Plus语句来启动数据库

    SQL> STARTUP MOUNT;

    然后,创建备用数据库的控制文件,打开主数据库用于用户访问 ,如下面样例中的显 示:

    SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/boston.ctl'; SQL> ALTER DATABASE OPEN;

    注意: 你不能为主备数据库使用单独的控制文件。

    3.2.3 准备备用数据库的初始化参数文件
    执行下面的步骤来创建备用初始化参数文件

    步骤1 将主数据库的参数文件复制到备用数据库 使用主数据库创建文本初始化参数文件(SPFILE);文本初始化参数文件能够复制 到备用位置,并且可以进行修改 。例如:

    SQL> CREATE PFILE='/tmp/initboston.ora' FROM SPFILE;

    在稍后的小节 3.2.5,你将对包含用于物理备用数据库的参数值进行修改后,转换这个文件为服务器参数文件。

    步骤 2 设置物理备用数据库的初始化参数 尽管你从主数据拷贝的文本初始化参数文件中的大部分初始参数也可用于物理备用 数据库,但需要做一些修正。
    样例 3–5 显示了备用初始化参数文件的一部分,一些值已经为物理备用数据库进行了修 正。 与样例3–3 和样例3–4 中不同的参数值用粗体表示。样例3–5中显示的参数,无论波士顿数据库运行在主数据库模式还是备用数据库模式,均为适用的。

    样例 3–5 修改物理备用数据库的初始化参数

    .
    .
    .
    DB_NAME=chicago
    DB_UNIQUE_NAME=boston
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)' 
    CONTROL_FILES='/arch1/boston/control1.ctl', '/arch2/boston/control2.ctl' 
    DB_FILE_NAME_CONVERT='chicago','boston'
    LOG_FILE_NAME_CONVERT=
    '/arch1/chicago/','/arch1/boston/','/arch2/chicago/','/arch2/boston/' 
    LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
    LOG_ARCHIVE_DEST_1=
    'LOCATION=/arch1/boston/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

    创建物理备用数据库步骤介绍

    DB_UNIQUE_NAME=boston' LOG_ARCHIVE_DEST_2= '
    SERVICE=chicago LGWR ASYNC
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
    DB_UNIQUE_NAME=chicago' LOG_ARCHIVE_DEST_STATE_1=ENABLE 
    LOG_ARCHIVE_DEST_STATE_2=ENABLE 
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE 
    STANDBY_FILE_MANAGEMENT=AUTO
    FAL_SERVER=chicago FAL_CLIENT=boston
    .
    .
    .

    注意这个样例中,假设LGWR进程使用LOG_ARCHIVE_DEST_2初始化参数指定的本
    地和远程目的文件夹传输redo 数据。
    另外,确保 COMPATIBLE 初始化参数在主备数据库中设置了同样的值。如果这个值不 同,redo传输服务不能够在主数据库和备用数据库间传输redo数据。在Data Guard 结 构中,COMPATIBLE 最低限度必须是 9.2.0.1.0。然而,如果你想利用 Oracle Database 10g 的新特性, 设置COMPATIBLE 参数为 10.2.0.0 或更高。
    使用SHOW PARAMETERS 命令交验没有其他的参数被改变,总是一个好的习惯 下表中提供了在样例 3–5 中显示的不同于主数据的关于参数设置的简短解释。

    参数 推荐设置
    DB_UNIQUE_NAME 指定每个数据库的唯一名字。这个名字在数据库工作中无法改变,即使是主备数
    据库角色发生转换。
    CONTROL_FILES 指定了备用数据库控制文件的路径名。样例 3–5 显示了如何使用两个控制文件。
    这是推荐的方法,同一个实例中有效的第二份控制文件拷贝,可以将好的控制文
    件拷贝到损坏的控制文件位置,进而轻松的使数据库可以重新开始 。

    DB_FILE_NAME_CONVERT 描述位于主数据库中数据文件的路径名和文件名,然后是备用数据库的数据文件
    的路径名和文件名 。这个参数将主数据库的路径名转换到备用数据库的数据文件
    路径名。如果备用数据库和主数据库是同样的操作系统,或者如果位于主站点和
    备用站点的数据文件的目录结构不同,则需要这个参数。

    LOG_FILE_NAME_CONVERT 描述位于主数据库中在线redo log文件的位置,然后是备用数据库的在线redo log
    文件的位置 。这个参数将主数据库的日志文件路径名转换到备用数据库的日志
    文件路径名。如果备用数据库和主数据库是同样的操作系统,或者如果位于主
    数据库和备用数据库的日志的目录结构不同,则需要这个参数

    参数 推荐设置
    LOG_ARCHIVE_DEST_n 指定了将要被归档的redo数据的存放位置。在 样例 3–5:
    ■ LOG_ARCHIVE_DEST_1 从主数据库接收归档redo数据并归档redo文件 到 /arch1/boston/目录

    ■ LOG_ARCHIVE_DEST_2 已经被忽略,因为这个目的文件夹仅在主库角色时 适用。如果交换发生,并且这个实例变成主数据库,然后将传输redo数据到 远程的芝加哥目的文件夹。

    注意: 如果设置了 flash recovery area快速闪回区 (使用 DB_RECOVERY_FILE_DEST初始参数) ,你就不能明确的 用LOCATION 属性配 置本地归档目的文件夹 ,Data Guard 自动使用 LOG_ARCHIVE_DEST_10 初始参 数 作为本地归档的默认目的文件夹。 参阅 小节 5.2.3 中的更多信息。参阅 章节 14 关于LOG_ARCHIVE_DEST_n 的完整信息。

    FAL_SERVER 指定FAL server 的Oracle Net service 名称 (代表了这个数据库运行于主库角色). 当
    波士顿的数据库运行于备库角色时,FAL server用于芝加哥数据库,作为如果芝
    加哥不能自动的发送丢失的日志文件,则从FAL server取到 (需要的) 丢失的归档
    redo log文件。 参阅 小节 5.8.

    FAL_CLIENT 指定波士顿数据库的Oracle Net service名称。FAL server (Chicago) 拷贝丢失的归档
    redo log 文件给 波士顿备用数据库. 参阅 小节 5.8.
    ========================================================================================
    警告: 检查初始化参数文件中关于可能需要修改的附加参数。例如, 你可能需要修改dump目的文件夹参数 (BACKGROUND_ DUMP_DEST, CORE_DUMP_DEST, USER_DUMP_DEST) 。如果这些目录位置在主数据库中的设定不同于备用数据库。另外,如果他们不存在你可能不得不在备库系统上创建这些目录。
    ========================================================================================
    3.2.4 将文件从主系统复制到备用系统
    使用操作系统copy工具,从主数据库中复制下面的二进制文件到备用数据库。
    ■ 小节 3.2.1 创建的备份数据文件
    ■ 小节 3.2.2 创建的备用控制文件
    ■ 小节 3.2.3 创建的初始化参数文件

    3.2.5 建立支持备用数据库的环境
    执行下面的步骤创建Windows的基本服务,创建秘密文件,建立 Oracle网络环境和创 建SPFILE文件。
    步骤 1 创建Windows基本服务. 如果备库系统运行于基于Windows的系统,使用ORADIM工具创建 Windows 服务和 密码文件。例如:

    WINNT> oradim -NEW -SID boston -INTPWD password -STARTMODE manual

    参阅 Oracle Database Platform Guide for Microsoft Windows (32-Bit) 关于使用ORADIM 工具的更多信息.
    步骤 2 创建密码文件 在除Windows的其他平台外,创建密码文件,设置和用于主数据库SYS用户相同的SYS 用户密码。为了redo传输的成功,这个用于SYS用户的密码在Data Guard 结构的每一个 数据库中必须完全相同。参阅 Oracle Database Administrator's Guide.
    步骤 3 配置主备数据库的监听
    在全部的主备站点,使用Oracle Net Manager为各自的数据库配置监听。
    重启监听 (新配置完成后),在全部的主备系统中输入下面 LSNRCTL 工具的命令

    % lsnrctl stop
    % lsnrctl start

    参阅 Oracle Database Net Services Administrator's Guide.

    步骤 4 创建Oracle Net service名称.
    在全部主备系统中, 使用 Oracle Net Manager 为将要使用redo传输服务的主备数据库创 建网络服务名称 。
    Oracle Net service名必须确定连接描述符中使用相同的协议,主机地址,端口和你为 主备数据库配置过的监听指定的服务。连接描述符也必须指定的专用连接 。
    参阅 Oracle Database Net Services Administrator's Guide 和 Oracle Database Administrator's Guide.

    步骤 5 创建备用数据库的服务器参数文件
    在空的备用数据库上,使用SQL CREATE 语句从在页 3-8 步骤 2中编辑过的文本初始化参数文件为备用数据库创建服务器参数文件 。例如:

    SQL> CREATE SPFILE FROM PFILE='initboston.ora';

    3.2.6 开始物理备用数据库
    执行下面的步骤来开始物理备用数据库并应用Redo。

    步骤 1 开始物理备用数据库
    在备用数据库中, 发出下面的 SQL 语句来开始和装载 数据库:

    SQL> STARTUP MOUNT;

    步骤 2 开始应用Redo 在备用数据库中,发出下面的命令来开始 Redo 应用:

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

    这个包含 DISCONNECT FROM SESSION 选项的语句以便 Redo Apply 作为会话运行 在后台。参阅 小节 6.3, "在物理备用数据库应用Redo数据" 相关更多的信息
    步骤 3 测试物理备用数据库归档操作 在这个样例中,日志切换后,redo数据发生传输到远程备用位置。默认情况下,当在线 redo log文件写满后,发生日志切换。在主数据库中使用如下的 ALTER SYSTEM 语句, 强制切换日志,以便立刻完成redo数据的传输。例如:

    SQL> ALTER SYSTEM SWITCH LOGFILE;

    3.2.7 验证物理备用数据库正适当的运行
    一旦你创建了物理备用数据库并建立了redo传输服务,你可能想验证数据库的修改,通过成功从主数据库向备用数据库的传输。
    为了在备用数据库观察到redo数据的接收,你应该首先在备用数据库上确认归档redo log 文件的存在,在主数据库上强制进行一次日志切换并且归档一些在线redo log文件,然后再次检查备用数据库。下面的步骤显示如何执行这些工作。

    步骤 1 确认归档redo log文件的存在
    在备用数据库上,查询V$ARCHIVED_LOG 视图确认存在归档redo log文件。例如:

    SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
    2 FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
    
    SEQUENCE# FIRST_TIME NEXT_TIME
    ---------- ------------------ ------------------ 
    8 11-JUL-02 17:50:45 11-JUL-02 17:50:53
    9 11-JUL-02 17:50:53 11-JUL-02 17:50:58
    10 11-JUL-02 17:50:58 11-JUL-02 17:51:03
    
    3 rows selected.

    步骤 2 强制一次日志切换以归档当前在线日志文件
    在主数据库上,发出ALTER SYSTEM SWITCH LOGFILE语句强制一次日志切换并归档当前在线日志文件组。

    SQL> ALTER SYSTEM SWITCH LOGFILE;

    步骤 3 交验备用数据库中新生成的归档redo数据 在备用数据库中,查询V$ARCHIVED_LOG视图交验redo数据的接收和在备用数据库中的归档:

    SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME 2> FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
    
    SEQUENCE# FIRST_TIME NEXT_TIME
    ---------- ------------------ ------------------ 
    8 11-JUL-02 17:50:45 11-JUL-02 17:50:53
    9 11-JUL-02 17:50:53 11-JUL-02 17:50:58
    10 11-JUL-02 17:50:58 11-JUL-02 17:51:03
    11 11-JUL-02 17:51:03 11-JUL-02 18:34:11
    4 rows selected.

    归档重做日志文件现在已经可以应用在物理备用数据库上。

    步骤 4 交验新归档重做日志文件的应用
    在备用数据库上,查询V$ARCHIVED_LOG视图交验归档重做日志文件的应用。

    SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG
    2 ORDER BY SEQUENCE#;
    
    SEQUENCE# APP
    --------- ---
    8         YES
    9         YES
    10        YES
    11        YES
    
    4 rows selected.

    参阅小节5.9.1, "监控日志文件归档的信息" 和小节 8.5.4, "在物理备用数据库中监控日志应用服务" 来验证重做日志传输服务和日志应用服务正在正确的工作。

    3.3 创建后的步骤
    此刻,物理备份数据库运行并且能够提供最佳性能的数据保护级别。下面的列表描述了你可以在物理备用数据库上附加的准备工作:

    ■ 升级数据保护模式
    Data Guard结构最初设置为最高性能 (默认值)。参阅小节5.6关于数据保护模式的信息以及如何提高或者降低当前的保护模式。

    ■ 启用闪回数据库
    在故障转移后,闪回数据库从需要重建的主数据库中移除。 闪回数据库能够让你依次的返回数据到过去最近的时间,比传统的基于时间点的恢复更快,因为闪回不要求从备份中还原数据文件,也不要求应用额外的重做日志数据。你可以在主数据库启用闪回数据库, 也可以在备用数据库启用,或者两者都启动。参阅小节12.4 和小节12.5关于展示如何在环境中使用闪回数据库的场景。参阅Oracle Database Backup and Recovery Advanced User's Guide关于闪回数据库的相关信息。

    Speak Your Mind

    *