更改数据库打开-Oracle11g



由于遇到一些问题,我正在Oracle11g上尝试以下查询。但它的投掷错误。有人能帮吗

查询:更改数据库打开

*第1行出现错误:ORA-00600:内部错误代码,参数:[kcratr_nab_less_than_odr],[1],[505],[3317],[3719],[],[],]],[],[[],[]

提前感谢

使用ORA-00600 kcratr_nab_less_than_odr 更改数据库打开失败

Option a:  Do cancel based reocvery, and apply 'current online redolog' manually
------------
SQL>Startup mount ;
SQL>Show parameter control_files
Query 1
------------
SQL> select a.member, a.group#, b.status from v$logfile a ,v$log b where a.group#=b.group# and b.status='CURRENT' ;
Note down the name of the redo log
SQL> Shutdown abort ;
Take a OS Level backup of the controlfile (This is to ensure we have a backup of current state of controlfile)
SQL> Startup mount ;
SQL> recover database using backup controlfile until cancel ;
Enter location of redo log shown as current in Query 1 when prompted for recovery
Hit Enter
SQL> Alter database open resetlogs ;

Option b: Recreate the controlfile using the Controlfile recreation script
-----------
NOTE:  If you are using RMAN backup without a catalog, you will need to catalog the backups after the controlfile is recreated.  For tape backups, capture your backup information before recreating the controlfile as this will be needed.  
With database in mount stage
$ rman target /
rman> spool log to '/tmp/rman.log';
rman> list backup ;
rman> exit
# Keep this log handy
Go to sqlplus
SQL> Show parameter control_files 
Keep this location handy.
SQL> oradebug setmypid 
SQL> Alter session set tracefile_identifier='controlfilerecreate' ;
SQL> Alter database backup controlfile to trace noresetlogs;
SQL> oradebug tracefile_name ; --> This command will give the path and name of the trace file
Go to this location ,Open this trace file and select the controlfile recreation script with NOResetlogs option 
SQL> Shutdown immediate;
Rename the existing controlfile to <originalname>_old ---> This is Important as we need to have a backup of existing controlfile since we plan to recreate it
SQL> Startup nomount
Now run the Controlfile recreation script with NO Resetlogs option.
SQL> Alter database open ;
For database version 10g and above 
Once database is opened you can recatalog the rman backup information present in the list /tmp/rman.log using
Rman> Catalog start with '<location of backupiece>' ;
If backups are on tape, and you are not using a catalog, backups can be cataloged using information in:
How to Catalog Tape Backup Pieces (Doc ID 550082.1)
Once the database has been opened using the Option a or Option b,  it is recommended to take a hot backup of the database.  The same steps are applicable to RAC if all instance are down with same error.
If  both Options (a|b) fails,  or you do not have the full set of files, then you have to restore and recover the Database from a recent Backup. 

ORA-00600消息是针对Oracle内核代码中未处理的副作用(即错误)的捕获。这些东西往往是特定于某个版本的Oracle数据库的,通常操作系统和服务器也是如此。

这种事情的标准方法是向Oracle支持部门提出服务请求。这看起来是11gR2基本版本中的一个已知错误。(支持说明ID 1296264.1)

然而,如果您在2015年仍在运行11.2.0.1的未修补实例,我想您不太可能有支持合同。在这种情况下,你没有太多的选择。

这篇博客文章提出了一些你可以尝试的事情。(关于你在网上读到的东西,通常需要注意)。两者都需要DBA和/或系统管理员能力。

最新更新