停电遭受ORA-60051CTO博客 - 亚美娱乐

停电遭受ORA-60051CTO博客

2019-03-06 10:23:35 | 作者: 雪卉 | 标签: 文件,操控,数据库 | 浏览: 124

1:周末遭受停电,新装备的内网测验数据库active dataguard 环境主动封闭,今早发动主库后发现报错如下

[oracle@db1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:00:57 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.3362E+10 bytes
Fixed Size                  2217952 bytes
Variable Size            6777997344 bytes
Database Buffers         6576668672 bytes
Redo Buffers                4960256 bytes
Database mounted.
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[6], [301353], [301354], [], [], [], [], [], [], []

2:榜首反响先recover下database,再测验拉起数据库,问题仍旧

SQL> recover database;
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[6], [301353], [301354], [], [], [], [], [], [], []

3:所以看alert日志和相关的trace文件,归纳判别或许操控文件呈现问题

[oracle@db1 ~]$ tail -f alert_db.log
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []
ORA-600 signalled during: ALTER DATABASE OPEN...
Trace dumping is performing id=[cdmp_20130617170117]
Mon Jun 17 17:02:13 2013
Sweep [inc][24153]: completed
Sweep [inc2][24153]: completed
Mon Jun 17 17:02:38 2013
ALTER DATABASE RECOVER  database
Media Recovery Start
 started logmerger process
Parallel Media Recovery started with 4 slaves
Mon Jun 17 17:02:38 2013
Recovery of Online Redo Log: Thread 1 Group 3 Seq 6 Reading mem 0
  Mem# 0: /u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log
  Mem# 1: /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log
Media Recovery Complete (db)
Completed: ALTER DATABASE RECOVER  database
Mon Jun 17 17:02:54 2013
alter database open
Beginning crash recovery of 1 threads
 parallel recovery started with 3 processes
Started redo scan
Completed redo scan
 read 152 KB redo, 0 data blocks need recovery
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc  (incident=24154):
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/db1/db/incident/incdir_24154/db_ora_32462_i24154.trc
Mon Jun 17 17:02:55 2013
Trace dumping is performing id=[cdmp_20130617170255]
Aborting crash recovery due to error 600
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []
ORA-600 signalled during: alter database open...
Mon Jun 17 17:03:13 2013
Sweep [inc][24154]: completed
Sweep [inc2][24154]: completed

4:所以生成操控文件trace操控脚本对操控文件履行康复

SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SQL> alter database backup controlfile to trace as /tmp/1.ctl;
Database altered.
[oracle@db1 ~]$ cat /tmp/1.ctl
CREATE CONTROLFILE REUSE DATABASE "DB" NORESETLOGS FORCE LOGGING ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    /u01/app/oracle/oradata/DB/onlinelog/o1_mf_1_8vpmdkl9_.log,
    /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_1_8vpmdryt_.log
  ) SIZE 512M BLOCKSIZE 512,
  GROUP 2 (
    /u01/app/oracle/oradata/DB/onlinelog/o1_mf_2_8vpmfqmw_.log,
    /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_2_8vpmhk2z_.log
  ) SIZE 512M BLOCKSIZE 512,
  GROUP 3 (
    /u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log,
    /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log
  ) SIZE 512M BLOCKSIZE 512
--STANDBY LOGFILE
--   GROUP 4 (
--     /u01/app/oracle/oradata/DB1/onlinelog/o1_mf_4_8vpq6nvy_.log,
--     /u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_4_8vpq7wk8_.log
--   ) SIZE 512M BLOCKSIZE 512,
--   GROUP 5 (
--     /u01/app/oracle/oradata/DB1/onlinelog/o1_mf_5_8vpqbh6s_.log,
--     /u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_5_8vpqcmbj_.log
--   ) SIZE 512M BLOCKSIZE 512,
--   GROUP 6 (
--     /u01/app/oracle/oradata/DB1/onlinelog/o1_mf_6_8vpqf3rz_.log,
--     /u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_6_8vpqfv5w_.log
--   ) SIZE 512M BLOCKSIZE 512,
--   GROUP 7 (
--     /u01/app/oracle/oradata/DB1/onlinelog/o1_mf_7_8vpqgw0j_.log,
--     /u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_7_8vpqhcql_.log
--   ) SIZE 512M BLOCKSIZE 512
DATAFILE
  /u01/app/oracle/oradata/DB/datafile/o1_mf_system_8vpm8hf3_.dbf,
  /u01/app/oracle/oradata/DB/datafile/o1_mf_sysaux_8vpm8hjq_.dbf,
  /u01/app/oracle/oradata/DB/datafile/o1_mf_undotbs1_8vpm8hl4_.dbf,
  /u01/app/oracle/oradata/DB/datafile/o1_mf_users_8vpm8hn1_.dbf
CHARACTER SET ZHS16GBK;
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1.3362E+10 bytes
Fixed Size                  2217952 bytes
Variable Size            6777997344 bytes
Database Buffers         6576668672 bytes
Redo Buffers                4960256 bytes
SQL> @/tmp/1.ctl;
Control file created.

5:重建操控文件后,对数据库进行recover,成功翻开数据库

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1:
/u01/app/oracle/oradata/DB/datafile/o1_mf_system_8vpm8hf3_.dbf
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select open_mode,database_role from v$database;  
OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
READ WRITE           PRIMARY

6:经过调查alert日志,增加暂时表空间数据文件

[oracle@db1 ~]$ tail -f alert_db.log
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_m001_381.trc:
ORA-25153: Temporary Tablespace is Empty
Mon Jun 17 17:17:25 2013
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_j007_400.trc:
ORA-25153: Temporary Tablespace is Empty
Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_j007_400.trc:
ORA-12012: error on auto execute of job 12696
ORA-25153: Temporary Tablespace is Empty
ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073
ORA-06512: at line 1
Mon Jun 17 17:18:20 2013
alter tablespace temp add tempfile
Completed: alter tablespace temp add tempfile
SQL> alter tablespace temp add tempfile;
Tablespace altered.

7:调查physical database,发现呈现如下问题

[root@db2 ~]# su - oracle
[oracle@db2 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:18:50 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.3362E+10 bytes
Fixed Size                  2217952 bytes
Variable Size            6777997344 bytes
Database Buffers         6576668672 bytes
Redo Buffers                4960256 bytes
Database mounted.
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1:
/u01/app/oracle/oradata/DB2/datafile/o1_mf_system_08oc7c38_.dbf
SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1:
/u01/app/oracle/oradata/DB2/datafile/o1_mf_system_08oc7c38_.dbf

8:所以封闭physical standby,在主库上发动system表空间的热备份,复制相应的文件至从库指定方位,从头同步正常

SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> alter tablespace system begin backup;
Tablespace altered.
[oracle@db1 datafile]$ pwd
/u01/app/oracle/oradata/DB/datafile
[oracle@db1 datafile]$ scp o1_mf_system_8vpm8hf3_.dbf root@db2:/tmp
SQL> alter tablespace system end backup;
Tablespace altered.


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章