做了那么多clone怎么都没有遇到这个问题?
相信做EBS dba的朋友都做过clone吧?从11.5.6的手动clone到11i.5.8 的autoconfig到R12更强大的clone.其实原理无外乎就是重建控制文件(修改SID),修改$CONTEXT_FILE文件中的路径/端口等.然后再去修改APP.对于APP从源机器到目标机器,可以打包FTP,磁带,带库等等方式去恢复,而对于DB一般采用2种方式:冷备或RMAN热备;
我遇到的问题就出现了: 因为近期把DB的归档模式打开,顺便也就备份了一下,Time:2010-02-08:15:00:00(春节还在加班,辛苦吧).以下为clone步骤:
1. restore cold backup (database time:2011-2-8, include datafile/control file/redo log file)
2. recover database using backup controlfile until time '2011/02/15 09:00:00'
3. alter database open resetlogs;
4. database startup and shutdown normal;
5. I startup ebs applications, see error in alert.log;
6. identify the corrupt Object reported by dbv;
----------------------------alert.log--------------------------------------
Errors in file/u02/TEST/db/testdb/11.1.0/admin/TEST_erpdemo/diag/rdbms/test/TEST/trace/TEST_ora_15053.trc (incident=30577):
ORA-01578:ORACLE data block corrupted (file # 31, block # 23687)
ORA-01110:data file 31: '/u02/TEST/data/testdata/a_txn_data09.dbf'
ORA-26040:Data block was loaded using the NOLOGGING option
----------------------------alert.log--------------------------------------
---------------------------------------dbv output----------------------------------------
DBV-00201: Block, DBA 130226757, markedcorrupt for invalid redo application
DBV-00201: Block, DBA 130226758, markedcorrupt for invalid redo application
DBV-00201: Block, DBA 130226759, markedcorrupt for invalid redo application
....
DBVERIFY - Verification complete
Total Pages Examined : 262144
Total Pages Processed (Data) : 128651
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 10268
Total Pages Failing (Index): 0
Total Pages Processed (Other): 109754
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 13471
Total Pages Marked Corrupt : 459
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 4247806962 (1388.4247806962)
---------------------------------------dbv output----------------------------------------
根据错误判断,EBS系统中某些表可能使用NOLOGGING 特性,在restore恢复数据库的时候,db无法判断block的状态,导致出现block corrupted . 如果是因为这样的话,对于DB文件的备份只能采用冷备吗?[我个人的考虑目前还很欠缺,等测试完毕后在更新此Blog]