ora-600 [2662] && ora-01031 权限不足的解决 (ora-01152)

来源:互联网 发布:杭州算法工程师招聘 编辑:程序博客网 时间:2024/05/23 19:40

今天碰到:

ORA-00600: 内部错误代码, 参数: [2662], [0], [583782], [0], [631878], [4194313], [], []

ORA-600 [2662] [a] [c] [d] [e]
Arg [a] Current SCN WRAP
Arg Current SCN BASE
Arg [c] dependent SCN WRAP
Arg [d] dependent SCN BASE
Arg [e] Where present this is the DBA where the dependent SCN came from.

解决方法通常可以用:

SQL> alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';

会话已更改。

来解决,可是我执行完看到alert 日志上: 又有:ora-01031 权限不足 的报错,看了只能求助有bbed 了,在window 上我没有bbed,

只能用下面的办法把database open:

SQL> startup;

ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 96469672 bytes
Database Buffers 188743680 bytes
Redo Buffers 7139328 bytes
Database mounted.

ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\SYSTEM01.DBF'

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
           4532411

SQL> select checkpoint_change# from v$datafile;

CHECKPOINT_CHANGE#
------------------

           4532411
           4532411
           4532411
           4532411
           4532411
           4532411
           4532411
           4532411
           4664735

9 rows selected.

SQL> select checkpoint_change# from v$datafile_header;

CHECKPOINT_CHANGE#
------------------

           4711164
           4711164
           4711164
           4711164
           4711164
           4711164
           4711164
           4711164
           4664735

9 rows selected.

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4697108 generated at 12/24/2007 11:48:57 needed for thread 1
ORA-00289: suggestion :
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\ARCHIVEARC00007_0641832494.001
ORA-00280: change 4697108 for thread 1 is in sequence #7


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\SYSTEM01.DBF'


ORA-01112: media recovery not started

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\SYSTEM01.DBF'

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4697108 generated at 12/24/2007 11:48:57 needed for thread 1
ORA-00289: suggestion :
L:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\ARCHIVEARC00007_0641832494.001
ORA-00280: change 4697108 for thread 1 is in sequence #7


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORC2\SYSTEM01.DBF'

ORA-01112: media recovery not started

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced

SQL> startup force;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 96469672 bytes
Database Buffers 188743680 bytes
Redo Buffers 7139328 bytes
Database mounted.
Database opened.


SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------

           4717118

SQL> select checkpoint_change# from v$datafile;

CHECKPOINT_CHANGE#
------------------

           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
           4664735

9 rows selected.

SQL> select checkpoint_change# from v$datafile_header;

CHECKPOINT_CHANGE#
------------------

           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
           4717118
                 0

9 rows selected.

SQL> select last_change# from v$datafile;

LAST_CHANGE#
------------
     4664735

9 rows selected.

具体步骤如下:
startup force;
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
alter databse open resetlogs;

特别声明: 备份很重要,要是没有备份,就recover 不行啦。

 

原创粉丝点击