如果在Primary数据库执行了无日志操作,则DataGuard会发生如下错误:
当产生此错误时,可按如下方式解决:
在Standby数据库上,
1. 停止应用重做
点击( 此处 )折叠或打开
2. 对受影响的数据文件,使其离线
3. 重新开始应用重做数据
在Primary数据库上:
4. 用RMAN备份受影响的数据文件,并复制到Standby数据库,替换受影响的文件。
5. 停止应用重做数据,脚本同(1)
6. 使之前离线的数据文件重新在线:
7. 重新应用重做数据,脚本同(3)
无日志操作能加快写入速度,如果确有实际需求,考虑下列几种不同的强制级别:
1)数据库级别:
2) 表空间级别:
注意:这会给切换和故障转移带来麻烦。
3)表级别:不推荐!
检查是否有无日志操作
在Primary数据库上主动检查:
NAME
--------------------------------------------------------------------------------
UNRECOVERABLE_CHANGE# TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYYHH:MI:SS')
--------------------- ----------------------------------------------------------
/oradata/shanghai/users01.dbf
0
/oradata/shanghai/soe01.dbf
1170680 22-DEC-2014 01:39:28
上例中,soe01.dbf数据文件有无日志操作。
在Standby数据库,可用dbv工具检查数据文件
如果有无日志操作,则显示如下报错:
点击(此处)折叠或打开
- ORA-01578: ORACLE data block corrupted (file # 10, block # 514)
- ORA-01110: data file 3: '+data/Matrix_DR0/datafile/users.278.56783987'
- ORA-26040: Data block was loaded using the NOLOGGING option
在Standby数据库上,
1. 停止应用重做
点击( 此处 )折叠或打开
- ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
点击(此处)折叠或打开
- ALTER DATABASE DATAFILE <name> OFFLINE DROP;
点击(此处)折叠或打开
- ALTER DATABASE RECOVER MANAGED STANDBY DATABASE [using current logfile] DISCONNECT;
4. 用RMAN备份受影响的数据文件,并复制到Standby数据库,替换受影响的文件。
5. 停止应用重做数据,脚本同(1)
6. 使之前离线的数据文件重新在线:
点击(此处)折叠或打开
- ALTER DATABASE DATAFILE <NAME> ONLINE;
无日志操作能加快写入速度,如果确有实际需求,考虑下列几种不同的强制级别:
1)数据库级别:
点击(此处)折叠或打开
- ALTER DATABASE FORCE LOGGING;
点击(此处)折叠或打开
- ALTER TABLESPACE <NAME> FORCE LOGGING;
3)表级别:不推荐!
检查是否有无日志操作
在Primary数据库上主动检查:
点击(此处)折叠或打开
- SELECT NAME, UNRECOVERABLE_CHANGE#,
- TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYY HH:MI:SS')
- FROM V$DATAFILE;
NAME
--------------------------------------------------------------------------------
UNRECOVERABLE_CHANGE# TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYYHH:MI:SS')
--------------------- ----------------------------------------------------------
/oradata/shanghai/users01.dbf
0
/oradata/shanghai/soe01.dbf
1170680 22-DEC-2014 01:39:28
在Standby数据库,可用dbv工具检查数据文件
点击(此处)折叠或打开
- dbv file=soe01.dbf
点击(此处)折叠或打开
- DBV-00201: Block, DBA 223776, marked corrupt for invalid redo application
-
- DBV-00201: Block, DBA 223777, marked corrupt for invalid redo application
-
- DBV-00201: Block, DBA 223778, marked corrupt for invalid redo application
-
- DBV-00201: Block, DBA 223779, marked corrupt for invalid redo application
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1376007/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22621861/viewspace-1376007/