touch_123 发表于 2013-1-14 08:53:00

Oracle 10G windows 平台 DataGuard 实例(二)

 
7. 在initorcl.ora添加以下内容: ­
*.log_archive_format='%T%S%r.ARC' ­
*.DB_UNIQUE_NAME='primary' ­
*.log_archive_config='DG_CONFIG=(primary,standby)' ­
*.log_archive_dest_1='location=D:/oracle/product/10.2.0/oradata/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary' ­
*.log_archive_dest_2='SERVICE=standby arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' ­
*.STANDBY_FILE_MANAGEMENT=AUTO ­
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE ­
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE ­
*.FAL_SERVER='standby' ­
*.FAL_CLIENT='primary' ­
 
关闭数据库,在用initorcl.ora重启,并创建spfile文件 ­
SQL>startup pfile='$ORACLE_HOME/database/initorcl.ora' ­
SQL>create spfile from pfile='$ORACLE_HOME/database/initorcl.ora' ­
 
8.­
A. 拷贝数据文件,参数文件,控制文件,密码文件到备库上 ­
initorcl.ora参数文件,PWDorcl.ora密码文件考到$ORACLE_HOME/database下的, ­
controlbak.ctl 考到$ORACLE_base/oradata/orcl/下,并分别重命名为control01.ctl,control01.ctl,control01.ctl ­
数据文件考到$ORACLE_base/oradata/orcl/下 ­
 
B. 用Rman拷贝,不用停机­
$ rman target /­
RMAN> backup full format 'D:/FULL_%d_%T_%s.bak' database include current controlfile for standby;­
RMAN> sql 'alter system archive log current';­
RMAN> Backup ArchiveLog all format='D:/arch_%d_%T_%s.bak'; ­
备份完后将备份文件拷到standby上同样的目录,强调:同样的目录,在standby进行rman 恢复即可­
 
9. 启动主数据库 ­
SQL>startup ­
 
--------------------------------------------------------------------- ­
Standy操作: ­
 
1. 用oradim工具创建备库orcl实例 ­
oradim.exe -new -sid orcl -startmode m ­
oradim.exe -edit -sid orcl -startmode a ­
2. 创建备库存放数据文件和后台跟踪目录 ­
   $ORACLE_BASE/ORADATA/ORCL ­
   $ORACLE_BASE/admin/orcl ­
   $ORACLE_BASE/admin/orcl/adump ­
   $ORACLE_BASE/admin/orcl/bdump ­
   $ORACLE_BASE/admin/orcl/cdump ­
   $ORACLE_BASE/admin/orcl/dpdump ­
   $ORACLE_BASE/admin/orcl/pfile ­
   $ORACLE_BASE/admin/orcl/udump ­
   $ORACLE_BASE/admin/orcl/ ­
3. 添加"备用联机日志文件" ­
SQL>startup mount ­
先查看日志文件位置: ­
SQL>select * from v$logfile; ­
在添加: ­
SQL> alter database add standby logfile group 4 ('D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/redo04.log') size 50m; ­
SQL> alter database add standby logfile group 5 ('D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/redo05.log') size 50m; ­
SQL> alter database add standby logfile group 6 ('D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/redo06.log') size 50m; ­
SQL> alter database add standby logfile group 7 ('D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/redo07.log') size 50m; ­
 
4. 在备库创建监听和配置tnsnams.ora ­
 
listener.ora配置如下: ­
# listener.ora Network Configuration File: D:/oracle/product/10.2.0/db_1/network/admin/listener.ora­
# Generated by Oracle configuration tools.­
SID_LIST_LISTENER =­
  (SID_LIST =­
    (SID_DESC =­
      (SID_NAME = PLSExtProc)­
      (ORACLE_HOME = D:/oracle/product/10.2.0/db_1)­
      (PROGRAM = extproc)­
    )­
    (SID_DESC =­
      (GLOBAL_DBNAME = orcl)­
      (ORACLE_HOME = D:/oracle/product/10.2.0/db_1)­
      (SID_NAME = orcl)­
    )­
  )­
LISTENER =­
  (DESCRIPTION_LIST =­
    (DESCRIPTION =­
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))­
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.3.44)(PORT = 1521))­
    )­
  )­
 
tnsnames.ora配置如下: ­
# tnsnames.ora Network Configuration File: D:/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora­
# Generated by Oracle configuration tools.­
primary =­
  (DESCRIPTION =­
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.3.44)(PORT = 1521))­
    (CONNECT_DATA =­
      (SERVER = DEDICATED)­
      (SERVICE_NAME = orcl)­
    )­
  )­
standby =­
  (DESCRIPTION =­
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.3.43)(PORT = 1521))­
    (CONNECT_DATA =­
      (SERVER = DEDICATED)­
      (SERVICE_NAME = orcl)­
    )­
  )­
EXTPROC_CONNECTION_DATA =­
  (DESCRIPTION =­
    (ADDRESS_LIST =­
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))­
    )­
    (CONNECT_DATA =­
      (SID = PLSExtProc)­
      (PRESENTATION = RO)­
    )­
  )­
 
 
5. 测试主备之间网络连通 ­
  primary: ­
   C:>lsnrctl start ­
   C:>tnsping standby ­
standby ­
   C:>lsnrctl start ­
   C:>tnsping primary ­
 
6. 配置备库初始化参数 ­
编辑$ORACLE_HOME/database目录下的initorcl.ora添加以下内容 ­
*.log_archive_format='%T%S%r.ARC' ­
*.DB_UNIQUE_NAME='standby' ­
*.log_archive_config='DG_CONFIG=(primary,standby)' ­
*.log_archive_dest_1='location=D:/oracle/product/10.2.0/oradata/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby' ­
*.log_archive_dest_2='SERVICE=primary arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary' ­
*.STANDBY_FILE_MANAGEMENT=AUTO ­
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE ­
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE ­
*.FAL_SERVER='primary' ­
*.FAL_CLIENT='standby' ­
更多信息请查看 java进阶网 http://www.javady.com
页: [1]
查看完整版本: Oracle 10G windows 平台 DataGuard 实例(二)