问题描述
-------------------------------------
Oracle数据库11.2.0.1.0
存档日志模式
每天进行RMAN备份,备份控制文件和备份存档日志文件1次到磁盘。
------------------------------------
嗨,问汤姆团队,
停电后,我得到了上述错误。我使用以下步骤恢复了数据库。我没有手动验证任何交易。
但是我仍然不确定,这是恢复的最佳方法吗?
我可以通过使用这些方法释放一些数据吗?
还有其他更好的恢复数据库的方法吗?
RMAN可以恢复数据库吗 (我尝试从RMAN还原数据库,但它不起作用)?
感谢和问候
法赫德
Oracle数据库11.2.0.1.0
存档日志模式
每天进行RMAN备份,备份控制文件和备份存档日志文件1次到磁盘。
------------------------------------
嗨,问汤姆团队,
停电后,我得到了上述错误。我使用以下步骤恢复了数据库。我没有手动验证任何交易。
但是我仍然不确定,这是恢复的最佳方法吗?
我可以通过使用这些方法释放一些数据吗?
还有其他更好的恢复数据库的方法吗?
RMAN可以恢复数据库吗 (我尝试从RMAN还原数据库,但它不起作用)?
感谢和问候
法赫德
Enter user-name: sys@orcl2 / as sysdba
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],[1384], [1270], [2885], [], [], [], [], [], [], []
SQL> select a.member, a.group#, b.status from v$logfile a ,v$log b where a.group# = b.group# and b.status='CURRENT' ;
MEMBER
--------------------------------------------------------------------------------
GROUP# STATUS
---------- ----------------
D:\APP\DELL\ORADATA\ORCL2\REDO01.LOG
1 CURRENT
SQL> recover database using backup controlfile until cancel ;
ORA-00279: change 35045479 generated at 10/15/2019 23:18:20 needed for thread 1
ORA-00289: suggestion :
D:\APP\DELL\FLASH_RECOVERY_AREA\ORCL2\ARCHIVELOG\2019_10_17\O1_MF_1_1384_%U_.ARC
ORA-00280: change 35045479 for thread 1 is in sequence #1384
Specify log: {=suggested | filename | AUTO | CANCEL}
D:\APP\DELL\ORADATA\ORCL2\REDO01.LOG ----Copied current Redolog file which i got from above query
Log applied.
Media recovery complete.
SQL> Alter database open resetlogs ;
Database altered. 专家解答
MOS note 1296264.1解释了该怎么做,看起来您遵循了这些步骤。
你可以用RMAN做同样的事情,即发出恢复,但我怀疑它不会知道它想应用当前的重做日志。
Do cancel based reocvery, and apply 'current online redolog' manually ------------ SQL>Startup mount ; 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 ;
你可以用RMAN做同样的事情,即发出恢复,但我怀疑它不会知道它想应用当前的重做日志。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




