Sun Cluster Geographic Edition 数据复制指南(适用于 Oracle Data Guard)

Procedure如何准备备用数据库

  1. 创建主数据库的备份。

    下面的示例说明了如何使用 Oracle 恢复管理器 (Recovery Man, RMAN) 实用程序来创建可以在备用 cluster-newyork 群集上恢复的主数据库副本。该示例还说明了如何避免执行单独的步骤来创建备用数据库的控制文件。有关完成此步骤的选项的更多信息,请参见 Oracle 文档。


    oracle (phys-paris-1)$ rman
    RMAN> connect target sys/DBA_password@sales-svc;
    RMAN> connect auxiliary /;
    RMAN> backup device type disk tag 'mybkup' database include current
    2> controlfile for standby;
    RMAN> backup device type disk tag 'mybkup' archivelog all not backed up;
    
  2. 将备份文件复制到备用系统。

    cluster-newyork 群集上创建相应的目录分层结构,并将数据库备份复制到该群集中。您为此示例中所示的文件指定的实际位置取决于您在配置数据库时所做的具体选择。


    oracle (phys-newyork-1)$ mkdir -p $ORACLE_BASE/admin/salesdr
    oracle (phys-newyork-1)$ cd $ORACLE_BASE/admin/salesdr
    oracle (phys-newyork-1)$ mkdir adump bdump cdump dpdump hdump pfile udump
    Make the directory for the database backup
    oracle (phys-newyork-1)$ mkdir -p /oradata/flash_recovery_area/SALES/backupset/date
    Copy over the files
    oracle (phys-newyork-1)$ cd /oradata/flash_recovery_area/SALES/backupset/date
    oracle (phys-newyork-1)$ scp oracle@phys-paris-1:`pwd`/\* .
    Make the base directory for new database files
    oracle (phys-newyork-1)$ mkdir -p /oradata/SALESDR
    
  3. 创建一个 pfile 参数文件。

    为备用数据库 (salesdr) 创建一个合适的服务器初始化文件。创建此文件的最简单方法是复制主数据库的参数并进行修改。下面的示例说明如何创建 pfile 参数文件:


    oracle (phys-paris-1)$ sqlplus '/ as sysdba'
    SQL> CREATE PFILE='/tmp/initpfile_for_salesdr.ora' FROM SPFILE;
    File created.
    SQL> quit
    
  4. 修改 pfile 参数文件。

    将特定于主群集的所有条目更改为适合于备用群集的条目,如下面的示例所示。修改带 Oracle SID 前缀的条目(即 sales1sales2),以便使用备用数据库实例的 SID 名称(即 salesdr1salesdr2)。您可能还需要进行其他更改,具体取决于您的配置。


    注 –

    请勿更改 db_name 参数,该参数在两个群集上均必须保留为 sales


    You created these directories previously
    *.audit_file_dest='/oracle/oracle/product/10.2.0/db_1/admin/salesdr/adump'
    *.background_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/salesdr/bdump'
    *.user_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/salesdr/udump'
    *.core_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/salesdr/cdump'
    
    Remove the following entry
    *.control_files='...list primary control files...'
    
    Add this entry
    *.db_unique_name='salesdr'
    
    *.dg_broker_config_file1='/oradata/SALESDR/dr1salesdr.dat'
    *.dg_broker_config_file2='/oradata/SALESDR/dr2salesdr.dat'
    
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=salesdrXDB)'
    
    Switch the client and server entries around, as shown in the following entries
    *.fal_client='salesdr-svc'
    *.fal_server='sales-svc'
    
    *.remote_listener='LISTENERS_SALESDR'
    
    Switch the log archive destinations
    *.log_archive_dest_1='location=use_db_recovery_file_dest arch
    mandatory valid_for=(all_logfiles,all_roles) db_unique_name=salesdr'
    *.log_archive_dest_2='service=sales-svc lgwr sync affirm 
    valid_for=(online_logfiles,primary_role) db_unique_name=sales'
  5. pfile 参数文件复制到备用系统。

  6. 启动备用数据库,并将 pfile 参数文件转换为 spfile 服务器参数文件。

    1. 以 Oracle 用户身份登录到 cluster-newyork 节点之一,并将 pfile 参数文件转换为 spfile 服务器参数文件。


      oracle (phys-newyork-1)$ ORACLE_SID=salesdr1 export ORACLE_SID
      oracle (phys-newyork-1)$ sqlplus '/ as sysdba'
      SQL> startup nomount pfile='/tmp/initpfile_for_salesdr.ora';
      SQL> create spfile='/oradata/SALESDR/spfilesalesdr.ora'
        2> from pfile='/tmp/initpfile_for_salesdr.ora';
      SQL> shutdown
      
    2. 在所有 cluster-newyork 节点上创建 ${ORACLE_HOME}/dbs/initsalesdr1.ora 文件,并在该文件中插入以下条目:


      oracle (phys-newyork-1) cat ${ORACLE_HOME}/dbs/initsalesdr1.ora
      SPFILE='/oradata/SALESDR/spfilesalesdr.ora'
    3. 仅在一个节点上重新启动数据库,准备恢复所备份的主数据库。


      oracle (phys-newyork-1) sqlplus '/ as sysdba'
      You are now starting from the spfile
      SQL> startup nomount
      ORACLE instance started.
      
      Total System Global Area  532676608 bytes
      Fixed Size                  2031416 bytes
      Variable Size             289407176 bytes
      Database Buffers          234881024 bytes
      Redo Buffers                6356992 bytes
  7. 复制主数据库的 Oracle 密码文件以供备用数据库使用。

    复制您在 cluster-paris 群集上创建的 Oracle 密码文件,并将其放在 cluster-newyork 群集中的共享存储上。然后,从每个 cluster-newyork 节点创建指向该文件的链接,并再次更改符号链接的名称以反映本地备用节点上的 Oracle SID