ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 读书笔记四 重建控制文件

oracle 读书笔记四 重建控制文件

原创 Linux操作系统 作者:anchen211 时间:2009-03-21 15:58:45 0 删除 编辑

oracle 读书笔记四 重建控制文件
步骤:
1. 准备数据库所有的数据文件和REDO文件列表
SELECT MEMBER FROM V$LOGFILE;
SELECT NAME FROM V$DATAFILE;
SELECT VALUE FROM V$PARAMETER WHERE NAME = 'control_files';

2 关闭数据库;

3 备份数据库所有的数据文件和REDO文件;

4 startup nomount;

5 创建控制文件
如果修改了数据库名则须作用RESETLOGS短语,否则使用NORESETLOGS短语;

6 把创建的控制文件做一个离线备份

7 修改数据库的参数文件
CONTROL_FILES与当前的控制文件保持一致
另外如果修改了数据库名字则同时也相应修改DB_NAME参数;

8 恢复数据库
recover database;
如果是以NORESETLOGS方式创建的控制文件,则需要进行介质恢复
如果是以RESETLOGS创建的控制文件,则需要带上USING BACKUP CONTROL FILE短语;

9 OPEN数据库;
如果进行了完全的介质恢复,则正常OPEN;alter database open;
如果是以RESETLOGS方式创建的控制文件,则ALTER DATABASE OPEN RESETLOGS;


后续工作:
检查文件的一致性
在ALERT日志中查找是否有不一致的地方。
如果在数据字典中包含有某个数据文件但在控制文件中没有,则数据库会在控制文件中创建一个未知数据库文件名的条目:MISSINGnnnn
如果MISSINGnnnn文件所对应的真实文件是只读的或者离线的,则只需进行rename;如果这个数据文件是读写的,则只能DROP掉这个数据文件所在的表空间;

相反,如果控制文件中有而数据字典中没有的文件,则数据库会从控制文件中删除此引用;

创建控制文件的常见错误:
多半是在文件列表中漏了所需的数据文件或者文件名有误;


控制文件的备份
1 创建一个二进制备份
ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/backup/control.bkp';
2 生成未来可以用来重建的SQL语句
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;


 

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

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

注册时间:2008-11-04

  • 博文量
    129
  • 访问量
    178632