ITPub博客

首页 > 数据库 > Oracle > ora11_node_dg(4)主库宕机后,从库升为主库,重新搭建DG

ora11_node_dg(4)主库宕机后,从库升为主库,重新搭建DG

原创 Oracle 作者:fjzcau 时间:2015-12-31 16:46:00 0 删除 编辑

主库宕机后,从库切换为主库,重新搭建DG过程如下,


  1. 1、修改primary端初始化参数文件 (不用修改,目前就是这样的配置)

  2. alter system set log_archive_config = 'DG_CONFIG=(zzdb,zzdb_dg)' scope=both;
  3. alter system set log_archive_dest_1 = 'LOCATION=/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=zzdb_dg' scope=both;
  4. alter system set log_archive_dest_2 = 'SERVICE=zzdb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=zzdb' scope=both;
  5. alter system set log_archive_dest_state_1 = enable;
  6. alter system set log_archive_dest_state_2 = enable;
  7. alter system set fal_server=zzdb scope=both;
  8. alter system set fal_client=zzdb_dg scope=both;
  9. alter system set standby_file_management=AUTO scope=both;
  10. alter system set db_file_name_convert='/oracle/product/oradata/zzdb','/oracle/product/oradata/zzdb' scope=spfile;
  11. alter system set log_file_name_convert='/oracle/product/oradata/zzdb','/oracle/product/oradata/zzdb' scope=spfile;


  12. 2、现primary端pfile参数文件和密码文件,并且拷贝到standby节点(原primary节点)段相应位置

  13. SQL> create pfile from spfile;
  14. cd $ORACLE_HOME/dbs
  15. scp initzzdb.ora orapwzzdb ora11-node1:$ORACLE_HOME/dbs
  16. cd $ORACLE_BASE
  17. scp -r admin/ diag/ ora11-node1:$ORACLE_BASE


  18. 3、修改standby(原primary节点)的监听文件及初始化参数文件

  19. --复制现primary节点的监听文件
  20.   
  21. --启动监听
  22. [oracle@ora11-node1 dbs]$ lsnrctl start


  23. --修改参数文件
  24. [oracle@ora11-node1 ~]$ sqlplus / as sysdba
  25. SQL> startup nomount;
  26. SQL> create spfile from pfile='$ORACLE_HOME/dbs/initzzdb.ora';
  27. SQL> shutdown abort;
  28. SQL> startup nomount;
  29. SQL>
  30. alter system set db_unique_name=zzdb scope=spfile;
  31. alter system set log_archive_config='DG_CONFIG=(zzdb,zzdb_dg)' scope=both;
  32. alter system set log_archive_dest_1 = 'LOCATION=/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=zzdb' scope=spfile;
  33. alter system set log_archive_dest_2 = 'SERVICE=zzdb_dg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=zzdb_dg' scope=spfile;
  34. alter system set fal_server=zzdb_dg scope=spfile;
  35. alter system set fal_client=zzdb scope=spfile;

  36. SQL> shutdown abort;
  37. SQL> startup nomount;


  38. 4、在primary端通过Rman创建备库,在 ora11-node2 上执行如下命令

  39. #primary备份数据库
  40. mkdir -p /oracle/db_backup
  41. rman target / <<!
  42. run {
  43.   CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
  44.   backup database format '/oracle/db_backup/%d_%s_%p_%t.%T';
  45. }
  46. !

  47. # primary生成备库控制文件
  48. rman target / <<!
  49. run {
  50.   allocate channel c1 device type disk format '/oracle/db_backup/CON_%U';
  51.   backup current controlfile for standby;
  52. }
  53. !

  54. # cp备份文件和控制文件到standby
  55. cd /oracle/db_backup
  56. scp * ora11-node1:/oracle/db_backup

  57. #standby节点,恢复控制文件
  58. rman target / <<!
  59. run {
  60.   restore controlfile from '/oracle/db_backup/CON_0bqq71jt_1_1';
  61.   alter database mount;
  62. }
  63. !

  64. #standby节点,通过rman进行恢复
  65. rman target / <<!
  66.   CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
  67.   restore database;
  68. !

  69. #至此已经恢复完成


  70. 5、在 standby 端 查看standby日志
  71. SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

  72. 若没有添加:

  73. SQL> alter database add standby logfile
  74. group 4 ('/oracle/product/oradata/zzdb/zzdb_dgredo04.log') size 50m,
  75. group 5 ('/oracle/product/oradata/zzdb/zzdb_dgredo05.log') size 50m,
  76. group 6 ('/oracle/product/oradata/zzdb/zzdb_dgredo06.log') size 50m,
  77. group 7 ('/oracle/product/oradata/zzdb/zzdb_dgredo07.log') size 50m;


  78. 6、在standby端开启实时日志应用

  79. SQL> alter database recover managed standby database using current logfile disconnect from session;

  80. recover managed standby database disconnect from session;

  81. startup;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22661144/viewspace-1969263/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-03

  • 博文量
    208
  • 访问量
    547152