dataguard异机安装从库时遇到的几个问题及解决方法

来源:互联网 发布:linux主目录是什么 编辑:程序博客网 时间:2024/06/08 17:46

一、如果异机恢复时,ORA-01665: control file is not a standby control file,控制文件不是standby的,解决方法是从主库创建一个

SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/csspm/control_01.ctl';

然后scp到备库,并应用

SQL>alter system set control_files = '/u01/app/oracle/oradata/csspm/control_01.ctl' SCOPE=SPFILE;

SQL>shutdown immediate;

SQL>startup mount;

二、如果主从tnsping都通,但主库日志仍然报ORA-12154,去tnsnames.ora文件检查ip和tns名都没有问题的情况下,一般是主库参数

log_archive_dest_2的设置问题。

alter system set log_archive_dest_2='SERVICE=csspm_dg2 LGWR SYNC AFFIRM REOPEN=1800 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=csspm_dg2' scope=both;

改成

 alter system set log_archive_dest_2 = 'service="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.150.155)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=csspm_dg2)))"  LGWR SYNC AFFIRM DB_UNIQUE_NAME=csspm_dg2  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)';

重新设置后,一般主从同步会立刻生效。

三、异机恢复时,如果主从的网速很慢,用rman做活动数据库复制(active database duplication)时,由于网速慢意外中断,可以把rman备份拷贝到从库,

然后做恢复,在recover database;时也可能由于硬盘转速的问题,恢复到某个文件时就卡住了,数据库文件大小没有继续增大。但是日志没有报错,这是可以选择一个文件

一个文件的恢复recover datafile 1;recover datafile 2;.............这样去恢复,并用硬盘监测命令去监测硬盘的读写情况,也知道恢复的进程是否正常。

 iostat -x 2
最后都restore完了,执行recover database;
根据报错信息去主库把主库的归档日志文件scp到从库的归档位置。再recover database;
归档全部恢复完后就可以启动数据库到readonly了。
SQL>alter database recover managed standby database disconnect from session;

SQL>alter database recover managed standby database cancel;

SQL>alter database open read only;
然后应用主库的在线日志:
SQL>alter database recover managed standby database using current logfile disconnect;

四、有一次异机恢复时没有redo文件,我是自己手动创建的redo文件,alter database open resetlog;时报错
ORA-00392:log 3 thread 1 is being cleared,operationnot allowed
处理办法:alter database clear logfile group 3;

原创粉丝点击