根据冷备份恢复数据库操作流程

来源:互联网 发布:js 时间选择插件 csdn 编辑:程序博客网 时间:2024/05/17 15:40

建议:

1.目标数据库最好和源数据库安装路径一致,减少很多不必要的问题。

2.目标数据库和源数据库的版本和位数最好要一致,不然会要进行worldsize转码,会浪费很多的时间,目前不知道会留下什么后患。


1.关闭数据库

shutdownimmediate

2.将冷备份的数据拷贝到目标数据库中

/oradata/orcl->/oradata/orcl

3.启动数据库

startup


两个控制文件不匹配

4.需要将冷备份的控制文件拷贝到目标目录

5.shutdownimmediate

6.启动数据库

startup


7.通过

select archiver from v$instance; selectlog_mode from v$database;

可以发现没有开启归档模式。


8.通过追踪文件

app/Administrator/diag/rdbms/orcl/orcl/trace/alert_orcl.log

发现改文件不存在,是因为冷备份的数据库是存放在C盘的,而新建的数据库是建立在D盘的。目前面临两种选择,1、重建控制文件;2、重建数据库,将环境设置和源数据库一样。

9.尝试重建控制文件

9.1启动数据库,不挂载

STARTUPNOMOUNT

9.2建立一个sql脚本

CREATECONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 2272

LOGFILE

  GROUP 1'D:/app/Administrator/oradata/orcl/redo01.log' SIZE 50M,

  GROUP 2'D:/app/Administrator/oradata/orcl/redo02.log' SIZE 50M,

  GROUP 3'D:/app/Administrator/oradata/orcl/redo03.log' SIZE 50M

--STANDBY LOGFILE

DATAFILE

 'D:/app/Administrator/oradata/orcl/system01.dbf',

 'D:/app/Administrator/oradata/orcl/undotbs01.dbf',

 'D:/app/Administrator/oradata/orcl/sysaux01.dbf',

 'D:/app/Administrator/oradata/orcl/users01.dbf',

 'D:/app/Administrator/oradata/orcl/example01.dbf'

CHARACTERSET ZHS16GBK

;

9.3通过调用脚本重建控制文件

@D:\createContorller.sql


9.4shutdown immediate

9.5startup


9.6通过 select file# from v$recover_file;可以看出,所有的DBF文件都有问题,怀疑是控制文件出现了问题,所以查看控制文件,发现不是控制文件的问题。

这一步发现 system01文件是损坏的

9.7通过 recover datafile 1-5将这些文件修复

9.8启动数据库,提示丢失表空间,将目标库中的表空间复制到数据库中,继续修复文件。

9.9启动数据库.

10.1

0 0
原创粉丝点击