Oracle 11gR2 DataGuard_02配置

配置步骤:

一、开启强制日志

二、配置pri端传输参数

三、备份pri端数据库

四、拷贝文件到sty端

五、配置sty端传输参数

六、将sty端启动到mount状态并恢复数据

七、在pri端应用发送归档日志文件

八、在sty端开启强制redo应用

九、配置standby日志

十、在pri端启动强制日志应用

 

11gR2DG传输架构

图:

clip_image002[4]

 

 

DBName Role DB_UNIQUE_NAME Oracle Net Service Name

Woo

Primary Pri PRI
Physical standby Sty STY

 

一、两节点分别输入如下命令开启强制日志模式:

 

[sql][/sql] view plaincopy

  1. SQL> startup mount;
  2. SQL> alter database archivelog;
  3. SQL> alter database open;
  4. SQL> alter database force logging;

 

二、修改Pri端参数文件:

 

[sql][/sql] view plaincopy

  1. SQL> alter system set db_unique_name =pri scope=spfile;
  2. SQL> alter system set log_archive_config= ‘DG_CONFIG=(pri,sty)’ scope=spfile;
  3. SQL>alter system set log_archive_dest_1= ‘LOCATION=/DBBackup/Archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=pri’ scope=spfile;
  4. SQL> alter system set log_archive_dest_2= ‘SERVICE=sty LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=sty’ scope=spfile;
  5. SQL> alter system setlog_archive_dest_state_2 = DEFER;
  6. alter system set fal_server=styscope=spfile;
  7. SQL> alter system set fal_client=priscope=spfile;
  8. SQL> alter system setstandby_file_management=AUTO scope=spfile;

三、在Pri端输入如下命令,创建standby控制文件

 

 

[sql][/sql] view plaincopy

  1. SQL> alter database create standbycontrolfile as ‘/DBBackup/Phycal/stycontrol.ctl’;

四、通过rman备份pri端数据库

 

 

[sql][/sql] view plaincopy

  1. Rman>backup database format’/DBBackup/Phycal/full_db_%U’;
  2. #copy file to standby
  3. 监听文件:listener.oratnsnames.ora
  4. 参数文件:initWoo.ora
  5. 密码文件:orapwWoo
  6. sty控制文件:stycontrol.ctl
  7. 全库备份文件:full_db_*
  8. 日志输出目录:$ORACLE_BASE/admin$ORACLE_BASE/diag

五、拷贝监听文件,参数文件,密码文件,sty端控制文件,rman备份文件,admin/目录,diag诊断目录,flash_recovery_area目录,归档目录 到sty端用于恢复及起库

 

 

[sql][/sql] view plaincopy

  1. [oracle@pri ~]$ cd$ORACLE_HOME/network/admin     –拷贝监听文件
  2. [oracle@pri admin]$ ls
  3. listener.ora  samples shrept.lst  tnsnames.ora
  4. [oracle@pri admin]$ scp *.orasty:$ORACLE_HOME/network/admin
  5. oracle@sty’s password:
  6. listener.ora                                                                100%  294    0.3KB/s   00:00
  7. tnsnames.ora                                                               100%  669     0.7KB/s  00:00
  8. [oracle@pri admin]$ cd $ORACLE_HOME/dbs         –拷贝密码文件及pfile参数文件
  9. [oracle@pri dbs]$ ls
  10. hc_DBUA0.dat  hc_Woo.dat init.ora  initWoo.ora  lkPRI lkWOO  orapwWoo  snapcf_Woo.f spfileWoo.ora
  11. [oracle@pri dbs]$ scp initWoo.ora orapwWoosty:$ORACLE_HOME/dbs
  12. oracle@sty’s password:
  13. initWoo.ora                                                                 100%  999    1.0KB/s   00:00
  14. orapwWoo                                                                   100% 1536     1.5KB/s   00:00
  15. [oracle@pri dbs]$ cd /DBBackup/Phycal/             –拷贝备份文件
  16. [oracle@pri Phycal]$ ls
  17. full_db_01o9j16h_1_1  full_db_02o9j17b_1_1  stycontrol.ctl
  18. [oracle@pri Phycal]$ scp full_db_0*stycontrol.ctl sty:/DBBackup/Phycal/
  19. oracle@sty’s password:
  20. full_db_01o9j16h_1_1                                                         100%  943MB  20.1MB/s  00:47
  21. full_db_02o9j17b_1_1                                                         100% 9600KB   9.4MB/s   00:01
  22. stycontrol.ctl                                                               100% 9520KB   9.3MB/s   00:00
  23. [oracle@pri ~]$ cd $ORACLE_BASE      –拷贝admin/,diag/,flash_recovery_area三目录
  24. [oracle@pri DBSoft]$ ls
  25. admin cfgtoollogs  checkpoints  diag flash_recovery_area  oraInventory  Product
  26. [oracle@pri DBSoft]$ scp -r admin/ diag/admin/ flash_recovery_area/ sty:$ORACLE_BASE

六、修改sty端pfile参数文件,添加和修改如下内容

 

 

[plain][/plain] view plaincopy

  1. vi /DBSoft/Product/11.2.0/db_1/dbs/initWoo.ora
  2. *.db_unique_name=sty
  3. *.log_archive_config=’DG_CONFIG=(pri,dg)’
  4. *.log_archive_dest_1=’LOCATION=/DBBackup/ArchiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sty’
  5. *.log_archive_dest_2=’SERVICE=pri LGWR SYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pri’
  6. *.fal_server=pri
  7. *.fal_client=sty
  8. *.standby_file_management=AUTO
  9. #*.db_file_name_convert=’pri’,’pri’
  10. #*.log_file_name_convert=’pri’,’pri’
  11. *.control_files=’/DBBackup/Phycal/control01.ctl’

 

 

七、启动sty端数据库到mount状态,并恢复pri端数据库到sty端

 

[plain][/plain] view plaincopy

  1. SQL> startup mountpfile=’/DBSoft/Product/11.2.0/db_1/dbs/initWoo.ora’;
  2. ORACLE instance started.
  3. Total System Global Area  839282688 bytes
  4. Fixed Size                  2217992 bytes
  5. Variable Size             507512824 bytes
  6. Database Buffers          327155712 bytes
  7. Redo Buffers                2396160 bytes
  8. Database mounted.
  9. SQL> exit
  10. [oracle@sty Phycal]$ export ORACLE_SID=Woo
  11. [oracle@sty Phycal]$ rman target /                         –进入rman开始恢复数据库
  12. Recovery Manager: Release 11.2.0.1.0 -Production on Tue May 14 03:22:47 2013
  13. Copyright (c) 1982, 2009, Oracle and/or itsaffiliates.  All rights reserved.
  14. connected to target database: WOO(DBID=4154863782, not open)
  15. RMAN> catalog start with’/DBBackup/Phycal/’;
  16. Starting implicit crosscheck backup at14-MAY-13
  17. using target database control file insteadof recovery catalog
  18. allocated channel: ORA_DISK_1
  19. channel ORA_DISK_1: SID=25 device type=DISK
  20. Finished implicit crosscheck backup at14-MAY-13
  21. Starting implicit crosscheck copy at14-MAY-13
  22. using channel ORA_DISK_1
  23. Finished implicit crosscheck copy at14-MAY-13
  24. searching for all files in the recoveryarea
  25. cataloging files…
  26. no files cataloged
  27. searching for all files that match thepattern /DBBackup/Phycal/
  28. List of Files Unknown to the Database
  29. =====================================
  30. File Name:/DBBackup/Phycal/full_db_01o9j16h_1_1
  31. File Name:/DBBackup/Phycal/full_db_02o9j17b_1_1
  32. Do you really want to catalog the abovefiles (enter YES or NO)? yes
  33. cataloging files…
  34. cataloging done
  35. List of Cataloged Files
  36. =======================
  37. File Name:/DBBackup/Phycal/full_db_01o9j16h_1_1
  38. File Name:/DBBackup/Phycal/full_db_02o9j17b_1_1
  39. RMAN> restore database;
  40. Starting restore at 14-MAY-13
  41. using target database control file insteadof recovery catalog
  42. allocated channel: ORA_DISK_1
  43. channel ORA_DISK_1: SID=25 device type=DISK
  44. channel ORA_DISK_1: starting datafilebackup set restore
  45. channel ORA_DISK_1: specifying datafile(s)to restore from backup set
  46. channel ORA_DISK_1: restoring datafile00001 to /DBData/Woo/Woo/system01.dbf
  47. channel ORA_DISK_1: restoring datafile00002 to /DBData/Woo/Woo/sysaux01.dbf
  48. channel ORA_DISK_1: restoring datafile00003 to /DBData/Woo/Woo/undotbs01.dbf
  49. channel ORA_DISK_1: restoring datafile00004 to /DBData/Woo/Woo/users01.dbf
  50. channel ORA_DISK_1: reading from backuppiece /DBBackup/Phycal/full_db_01o9j16h_1_1
  51. channel ORA_DISK_1: piecehandle=/DBBackup/Phycal/full_db_01o9j16h_1_1 tag=TAG20130514T025617
  52. channel ORA_DISK_1: restored backup piece 1
  53. channel ORA_DISK_1: restore complete,elapsed time: 00:00:13
  54. Finished restore at 14-MAY-13
  55. RMAN>                     —至此恢复工作已经完成

八、在pri端应用接受归档日志文件

 

 

[sql][/sql] view plaincopy

  1. SQL> ALTER SYSTEM SETLOG_ARCHIVE_DEST_STATE_2=ENABLE;
  2. System altered.

九、再sty上启动日志应用

 

 

[sql][/sql] view plaincopy

  1. SQL> alter database recover managedstandby database disconnect from session;
  2. Database altered.

 

十、在sty端配置standby 日志,并使其进入active状态生效,通常需要重启一遍备库:

 

[sql][/sql] view plaincopy

  1. SQL> alter database add standby logfile
  2. group 4 (‘/DBData/Woo/Woo/styredo04.log’)size 50m,
  3. group 5 (‘/DBData/Woo/Woo/styredo05.log’)size 50m,
  4. group 6 (‘/DBData/Woo/Woo/styredo06.log’)size 50m,
  5. group 7 (‘/DBData/Woo/Woo/styredo07.log’)size 50m;
  6. SQL> SELECTGROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
  7.    GROUP#    THREAD#  SEQUENCE# ARC STATUS
  8. ———- ———- ———- ————-
  9.         4          0          0 YES UNASSIGNED
  10.         5          0          0 YES UNASSIGNED
  11.         6          0          0 YES UNASSIGNED
  12.         7          0          0 YES UNASSIGNED
  13. SQL> shutdown immediate
  14. Database closed.
  15. Database dismounted.
  16. ORACLE instance shut down.
  17. SQL> startup
  18. ORACLE instance started.
  19. Total System Global Area  839282688 bytes
  20. Fixed Size                  2217992 bytes
  21. Variable Size             507512824 bytes
  22. Database Buffers          327155712 bytes
  23. Redo Buffers                2396160 bytes
  24. Database mounted.
  25. Database opened.
  26. SQL> SELECTGROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
  27.    GROUP#    THREAD#  SEQUENCE# ARC STATUS
  28. ———- ———- ———- ————-
  29.         4          1         11 YES ACTIVE
  30.         5          1          0 NO UNASSIGNED
  31.         6          0          0 YES UNASSIGNED
  32.         7          0          0 YES UNASSIGNED
  33. SQL>

 

 

十一、在pri端启动redo应用

 

[sql][/sql] view plaincopy

  1. SQL> recover managed standby database usingcurrent logfile disconnect from session;

 

 

查看DG数据保护模式:

 

 

[sql][/sql] view plaincopy

  1. SQL> select protection_mode,protection_level from v$database;
  2. PROTECTION_MODE      PROTECTION_LEVEL
  3. ——————– ——————–
  4. MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

附录:

十二、需修改添加的参数介绍:

角色 参数名称 介绍
Pri DB_NAME 数据库名称,primary端和standby端相同
DB_UNIQUE_NAME 指定唯一名称,区别pri 端和 sty端
LOG_ARCHIVE_CONFIG 指定DG的全局日志配置,包含所有数据库的名称,及归档路径
CONTROL_FILES 控制文件路径及名称
LOG_ARCHIVE_DEST_n 指定主备库的归档路径
LOG_ARCHIVE_DEST_STATE_n 配置是否允许通过redo进行日志传输及路径
REMOTE_LOGIN_PASSWORDFILE 配置远程登陆模式,是否独享还是共享
LOG_ARCHIVE_FORMAT 配置归档日志文件存储格式规范
LOG_ARCHIVE_MAX_PROCESS=integer 配置归档进程数量,默认为4
FAL_SERVER 配置服务器角色
DB_FILE_NAME_CONVERT 配置数据库数据文件转换,用在主备库数据文件路径不一致
LOG_FILE_NAME,_CONVERT 配置数据库redo日志文件转换,用在主备库redo日志文件路径不一致
STANDBY_FILE_MANAGEMENT 配置备库是否同步主库的表空间添加或数据文件添加。
sty DB_UNIQUE_NAME 指定唯一名称,区别pri 端和 sty端
CONTROL_FILES 控制文件路径及名称
DB_FILE_NAME,_CONVERT 配置数据库数据文件转换,用在主备库数据文件路径不一致
LOG_FILE_NAME_CONVERT 配置数据库数据文件转换,用在主备库数据文件路径不一致
LOG_ARCHIVE_DEST_n 指定主备库的归档路径
FAL_SERVERS 配置服务器角色

 

 

 

 

十三、监听信息:

 

[plain][/plain] view plaincopy

  1. listener.ora
  2. [oracle@sty admin]$ cat listener.ora
  3. # listener.ora Network Configuration File:/DBSoft/Product/11.2.0/db_1/network/admin/listener.ora
  4. # Generated by Oracle configuration tools.
  5. SID_LIST_LISTENER =
  6.  (SID_LIST =
  7.    (SID_DESC =
  8.      (SID_NAME = PLSExtProc)
  9.      (ORACLE_HOME = /DBSoft/Product/11.2.0/db_1)
  10.     (PROGRAM = extproc)
  11.     )
  12.      (SID_DESC =
  13.     (SID_NAME = Woo )
  14.     (ORACLE_HOME = /DBSoft/Product/11.2.0/db_1)
  15.     )
  16.    )
  17.  —————————————————————————————————————————————————–
  18. [oracle@sty admin]$cat tnsname.ora
  19. # tnsnames.ora Network Configuration File:/DBSoft/Product/11.2.0/db_1/network/admin/tnsnames.ora
  20. # Generated by Oracle configuration tools.
  21. STY =
  22.  (DESCRIPTION =
  23.    (ADDRESS_LIST =
  24.      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.102)(PORT = 1521))
  25.     )
  26.    (CONNECT_DATA =
  27.      (SERVICE_NAME = woo)
  28.     )
  29.   )
  30. PRI =
  31.  (DESCRIPTION =
  32.    (ADDRESS_LIST =
  33.      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.101)(PORT = 1521))
  34.     )
  35.    (CONNECT_DATA =
  36.      (SERVICE_NAME = woo)
  37.     )
  38.   )

标签