数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

旧数据文件,旧控制文件,新日志,怎样恢复?


发布日期:2022年03月26日
 
旧数据文件,旧控制文件,新日志,怎样恢复?

步骤

修改trc文件(或者编写)你的create control file 的脚本(或sql语句)

类似下面的例如保存到aaasql

CREATE CONTROLFILE REUSE DATABASE SCP NORESETLOGS ARCHIVELOGARCHIVELOG

MAXLOGFILES

MAXLOGMEMBERS

MAXDATAFILES

MAXINSTANCES

MAXLOGHISTORY

LOGFILE

GROUP /home/oracle/recovery/redodbf SIZE K

GROUP /home/oracle/recovery/redodbf SIZE K

GROUP /home/oracle/recovery/redodbf SIZE K

GROUP /home/oracle/recovery/redodbf SIZE K

GROUP /home/oracle/recovery/redodbf SIZE K

GROUP /home/oracle/recovery/redodbf SIZE K

DATAFILE

/home/oracle/recovery/SYSTEM_drd

/home/oracle/recovery/TOOLS_drd

/home/oracle/recovery/RBS_drd

/home/oracle/recovery/TEMP_drd

/home/oracle/recovery/USERS_drd

/home/oracle/recovery/INDX_drd

CHARACTER SET USASCII

;

用你的有效备份覆盖现在的错误数据文件

重建控制文件就是前面的帖子的步骤

sqlplus internal或者sqlplus /nolog ; conn / as sysdba

startup nomount

@aaasql

用控制文件恢复数据库

shutdown

startup mount

recover using backup controlfile until cancel;

直到所有的archive log file都用完了alter database open resetlogs;

resetlogs open db

注意!如果你的archive 和init中定义的不一致系统会提示你输入 Specify log: {=suggested | filename | AUTO | CANCEL}你可以输入auto也可以指定你的archive log files的路径和名称或者你也可以用类似下面的命令

recover automatic from /home/oracle/recovery/arch using backup controlfile until cancel;

()丢失所有数据文件控制文件redo日志文件 (续

成功恢复过程

拷贝旧冷备数据文件

rcp r 冷备 数据目录

mount数据库

Oracle_home>bin/svrmgrl

SVRMGR> connect internal

SVRMGR> startup mount

用using backup controlfile进行恢复

SVRMGR> recover database until cancel using backup controlfile;

出现输入提示时输入AUTO

用Open Resetlog 打开数据库

SVRMGR> alter database open RESETLOGS;

恢复结束看一下目前日志状态

SVRMGR> archive log list;

应出现

Oldest online log sequence

Next log sequence to archive

Current log sequence

其恢复过程如下

丢失所有数据文件控制文件redo日志文件

成功恢复过程

拷贝旧冷备数据文件

rcp r 冷备 数据目录

mount数据库

Oracle_home>bin/svrmgrl

SVRMGR> connect internal

SVRMGR> startup mount

用using backup controlfile进行恢复

SVRMGR> recover database until cancel using backup controlfile;

出现输入提示时输入AUTO

用Open Resetlog 打开数据库

SVRMGR> alter database open RESETLOGS;

恢复结束看一下目前日志状态

SVRMGR> archive log list;

应出现

Oldest online log sequence

Next log sequence to archive

Current log sequence

上一篇:Oracle9i密码策略--密码重用规则

下一篇:使用eventapi诊断数据导入imp性能