1 recover database until time "to_date('2024-05-28 14:00:00','yyyy-mm-dd hh24:mi:ss')"
如图:
2 执行 alter database open resetlogs;,报错
试过很多办法,修改redo,但依然报错,如图:
后来想到重做控制文件,如下:
sql>alter database backup controlfile to trace as '/home/oracle/con.trace';
sql>shutdown immediate
slq>startup nomount
sql>CREATE CONTROLFILE REUSE DATABASE "XXX" RESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 384
MAXLOGMEMBERS 3
MAXDATAFILES 10000
MAXINSTANCES 32
MAXLOGHISTORY 4672
LOGFILE
GROUP 1
'/home/oracle/oradata/ifc/redo1.log' SIZE 1024M BLOCKSIZE 512,
GROUP 2
'/home/oracle/oradata/ifc/redo2.log' SIZE 1024M BLOCKSIZE 512,
GROUP 5
'/home/oracle/oradata/ifc/redo5.log' SIZE 1024M BLOCKSIZE 512
DATAFILE
'/home/oracle/oradata/ifc/system.257.1117115075',
'/home/oracle/oradata/ifc/data.271.1117124705',
'/home/oracle/oradata/ifc/sysaux.258.1117115099',
'/home/oracle/oradata/ifc/undotbs1.259.1117115115',
'/home/oracle/oradata/ifc/undotbs2.265.1117115301',
'/home/oracle/oradata/ifc/users.260.1117115115',
'/home/oracle/oradata/ifc/indx.272.1117124937',
'/home/oracle/oradata/ifc/gbs.282.1119184223',
'/home/oracle/oradata/ifc/bfs.283.1119184409',
'/home/oracle/oradata/ifc/gbs.286.1129557461',
'/home/oracle/oradata/ifc/gbs.287.1137668695',
'/home/oracle/oradata/ifc/gbs.288.1145781365',
'/home/oracle/oradata/ifc/gbs.289.1145781521',
'/home/oracle/oradata/ifc/gbs.290.1158661911',
'/home/oracle/oradata/ifc/gbs.291.1164624433',
'/home/oracle/oradata/ifc/gbs.292.1164624581',
'/home/oracle/oradata/ifc/gbs.293.1164624871'
CHARACTER SET AL32UTF8;
sql>alter database open resetlogs;还是报错,
ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
加上thread 2的日志文件:
SQL> ALTER DATABASE ADD LOGFILE THREAD 2
2 GROUP 5 '/u01/app/oradata/rac/redo_t2_log3.log' SIZE 10M REUSE,
3 GROUP 6 '/u01/app/oradata/rac/redo_t2_log4.log' SIZE 10M REUSE;
Database altered.
SQL> alter database open resetlogs;
Database altered.
SQL>alter database disable thread 2;
至此恢复正常