ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用户自定义的数据库修复(转)

用户自定义的数据库修复(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-02-10 08:03:07 0 删除 编辑

一、 自动应用重做日志
1、 利用set autorecovery命令自动应用重做日志
完成对数据文件的修复操作
sql>startup mount; 启动实例并加载数据库
sql>set autorecovery on 启用重做日志自动应用功能
sql>recover database 恢复指定表空间、数据文件或整个数据库
sql>alter database open; 完成恢复后打开数据库

2、 利用recovery automatic命令自动应用重做日志
完成对数据文件的修复操作
sql>startup mount; 启动实例并加载数据库
sql>recover automatic database
sql>alter database open; 完成恢复后打开数据库

二、 不归档模式下的数据库介质恢复

1、 将数据库恢复到原来的位置上
sql>shutdown immediate 如果数据库仍然处于打开状态,关闭数据库;
将数据库文件恢复到原来的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复;
sql>recover database until cancel
sql>cancel
sql>alter database open resetlogs;将当前重做日志顺序号设置为1。

2、 将数据库恢复到新的位置上
sql>shutdown immediate 如果数据库仍然处于打开状态,关闭数据库;
将数据库文件恢复到新的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复; 对初始化参数文件中的control_files参数进行编辑,使它执行保存在新位置中修复后的控制文件;
sql>startup mount
如果修复后的数据库文件处于新的位置,必须利用alter database rename file语句对控制文件进行修改,使它指向新位置中修复后的数据文件。如:
sql>alter database rename file ‘i:ora9ioradatasystem01.dbf’ to ‘k:oracleoradatasystem01.dbf’;
sql>recover database until cancel
sql>cancel
sql>alter database open resetlogs;将当前重做日志顺序号设置为1。

三、 归档模式下的完全介质恢复

1、 关闭状态下的完全恢复
sql>shutdown abort(如果数据库处于打开状态,将它强行关闭)
将数据文件恢复到原来的位置上,如果介质故障无法排除,需要将数据文件恢复到其它位置上;
利用备份修复丢失或损坏的数据文件,也可利用alter database create datafile 语句重建一个空白的数据文件替换对视或损坏的数据文件;
sql>startup mount
如果修复后的数据文件不在原来的位置上,需要使用alter database rename file …to …语句在控制文件中更新它们的信息
sql>select name,status from v$datafile;查询数据文件的名称和状态
sql>alter database datafile … online;将脱机数据文件改未联机
sql>recover database 或 sql>recover tablespace users
或 sql>recover datafile ‘i:ora9ioradatausers0.dbf;
sql>alter database open;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122667/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    409
  • 访问量
    187201