欢迎光临
我们一直在努力

记一次resetlog报错:ora-00392

 在一次异机基于时间点恢复时,在以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_CURRENTCLEARING

解决方法:

通常这种报错有几种原因:

在异机上恢复时,重组日志所在的路径没有被提前创建好;

所指定的目录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

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

oracle