在一次异机基于时间点恢复时,在以resetlogs方式打开数据库时报错:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00392: log 1 of thread 1 is being cleared, operation not allowed
ORA-00312: online log 1 thread 1: ‘+DATA’
查看v$log,发现所有的日志组状态都变为了CLEARING_CURRENT和CLEARING。
解决方法:
通常这种报错有几种原因:
在异机上恢复时,重组日志所在的路径没有被提前创建好;
所指定的目录Oracle用户没有相应的权限。
当执行alter database open resetlogs时发现其他异常,例如:操作系统错误、服务器重启、Oracle进程被kill等等。
在我遇到的这个问题中,远端的日志文件创建在了+DATA磁盘组中,目标端没有指定重做日志的创建路径,导致出现了这个问题,需要关闭数据库重建控制文件来解决:
操作步骤:
以resetlogs选项创建控制文件脚本:
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘/tmp/control.sql’ resetlogs ;
Database altered.
提取出resetlogs部分,并修改控制文件中logfile的路径:
如修改前:
CREATE CONTROLFILE REUSE DATABASE “ZXD” RESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 1168
LOGFILE
— GROUP 1 ‘+DATA’ SIZE 50M BLOCKSIZE 512,
GROUP 5 ‘/data/ZXD/ZXD/onlinelog/o1_mf_5_b68w3ygt_.log’ SIZE 100M BLOCKSIZE 512,
GROUP 6 ‘/data/ZXD/ZXD/onlinelog/o1_mf_6_b68w45fv_.log’ SIZE 100M BLOCKSIZE 512
— STANDBY LOGFILE
DATAFILE
‘/data/ZXD/datafile/system.256.858783103’,
‘/data/ZXD/datafile/sysaux.257.858783103’,
‘/data/ZXD/datafile/undotbs1.258.858783103’,
‘/data/ZXD/datafile/users.259.858783103’,
‘/data/ZXD/datafile/undotbs2.264.858783235’,
‘/data/ZXD/datafile/weipos.dbf’,
‘/data/ZXD/datafile/maternal.dbf’,
‘/data/ZXD/datafile/zt_500.dbf’,
‘/data/ZXD/datafile/soe.dbf’,
‘/data/ZXD/datafile/zt_04510018.dbf’,
‘/data/ZXD/datafile/zt_07310123.dbf’,
‘/data/ZXD/datafile/zt_0280003.dbf’,
‘/data/ZXD/datafile/zt_0100003.dbf’,
‘/data/ZXD/datafile/zt_05920047.dbf’,
‘/data/ZXD/datafile/zt_05100017.dbf’,
‘/data/ZXD/datafile/zt_05120035.dbf’,
‘/data/ZXD/datafile/zt_04510019.dbf’,
‘/data/ZXD/datafile/zt_05120036.dbf’,
‘/data/ZXD/datafile/zt_0210049.dbf’,
‘/data/ZXD/datafile/goldengate.295.863025783’,
‘/data/ZXD/datafile/zt_07310083.dbf’,
‘/data/ZXD/datafile/sms.dbf’,
‘/data/ZXD/datafile/zt_168.300.863292103’,
‘/data/ZXD/datafile/zt_05740022.dbf’
CHARACTER SET ZHS16GBK
;
修改后:
SQL> CREATE CONTROLFILE REUSE DATABASE “ZXD” RESETLOGS FORCE LOGGING ARCHIVELOG
2 MAXLOGFILES 192
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 1024
5 MAXINSTANCES 32
6 MAXLOGHISTORY 1168
7 LOGFILE
8 — GROUP 1 ‘+DATA’ SIZE 50M BLOCKSIZE 512,
GROUP 5 ‘/data/ZXD/ZXD/onlinelog/o1_mf_5_b68w3ygt_.log’ SIZE 100M BLOCKSIZE 512,
9 10 GROUP 6 ‘/data/ZXD/ZXD/onlinelog/o1_mf_6_b68w45fv_.log’ SIZE 100M BLOCKSIZE 512
11 — STANDBY LOGFILE
12 DATAFILE
13 ‘/data/ZXD/datafile/system.256.858783103’,
‘/data/ZXD/datafile/sysaux.257.858783103’,
14 15 ‘/data/ZXD/datafile/undotbs1.258.858783103’,
16 ‘/data/ZXD/datafile/users.259.858783103’,
17 ‘/data/ZXD/datafile/undotbs2.264.858783235’,
18 ‘/data/ZXD/datafile/weipos.dbf’,
19 ‘/data/ZXD/datafile/maternal.dbf’,
‘/data/ZXD/datafile/zt_500.dbf’,
20 21 ‘/data/ZXD/datafile/soe.dbf’,
22 ‘/data/ZXD/datafile/zt_04510018.dbf’,
23 ‘/data/ZXD/datafile/zt_07310123.dbf’,
‘/data/ZXD/datafile/zt_0280003.dbf’,
24 25 ‘/data/ZXD/datafile/zt_0100003.dbf’,
26 ‘/data/ZXD/datafile/zt_05920047.dbf’,
27 ‘/data/ZXD/datafile/zt_05100017.dbf’,
28 ‘/data/ZXD/datafile/zt_05120035.dbf’,
29 ‘/data/ZXD/datafile/zt_04510019.dbf’,
‘/data/ZXD/datafile/zt_05120036.dbf’,
30 31 ‘/data/ZXD/datafile/zt_0210049.dbf’,
32 ‘/data/ZXD/datafile/goldengate.295.863025783’,
33 ‘/data/ZXD/datafile/zt_07310083.dbf’,
34 ‘/data/ZXD/datafile/sms.dbf’,
‘/data/ZXD/datafile/zt_168.300.863292103’,
35 36 ‘/data/ZXD/datafile/zt_05740022.dbf’
37 CHARACTER SET ZHS16GBK
38 ;
Control file created.
SQL>
创建控制文件后,做一次恢复:
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL ;
ORA-00279: change 47496927 generated at 11/13/2014 16:02:22 needed for thread 1
ORA-00289: suggestion :
/oracle/product/11.2.0/dbhome_1/dbs/arch1_1300_858783179.dbf
ORA-00280: change 47496927 for thread 1 is in sequence #1300
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
以resetlogs方式开启数据库:
SQL> ALTER DATABASE OPEN RESETLOGS ;
Database altered.
SQL>
数据库成功打开。
未经允许不得转载:SRE空间 » 记一次resetlog报错:ora-00392
评论前必须登录!
注册