ORACLE的控制文件是数据库的非常重要的文件,它保存着数据库的连接实例(instance)和database的一个桥梁,它定义了当前数据库物理信息的状态。因此控制文件对于一个数据库来说是非常重要的,在某些时候我们需要重新创建控制文件:
1。当控制文件丢失的时候,并且没有最近的文件Copy备份(一般在建库完成后的生成一个创建ControlFile的的脚本)。
2。需要修改数据库初始物理信息,如Log文件数量,数据文件的数量等,这些信息是在建库的时候写在ControlFIle里的,如果需要修改,可以通过重建ControlFile来调整。
以下是一种较好的重建控制文件的方法:
1. 在重建Contrl前,建议备份数据库中的数据,以防不测。
2. sqlplus /nolog
3. SQL>connect /as sysdbal
4. SQL>alter database backup controlfile to trace; 备份创建控制文件的脚本到TRC文件
或者 alter database backup controlfile to trace as '/home/oralm/ctl.txt'
5. 在$ORACLE_HOME/admin/SID/udump下可找到最新生成的TRACE文件,如ora_23456.trc,此文件就包含了当前控制文件的参数及生成语法。
6. 提取ora_23456.trc中有关控制文件生成的语句另存为recreatctl.sql。
7. 如果需要修改,可按自己的需要编辑creatctl.sql中的参数,如maxdatafiles、maxinstances等。
8. sqlplus /nolog
9. SQL>connect /as sysdba
10. SQL>shutdown immediate
11. SQL>@recreatctl.sql
12. SQL>alter database open;
重新建控制文件完毕。
控制文件对于数据库来说是非常重要的数据结构,在进行数据恢复时通常是必不可少的.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25402324/viewspace-715408/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25402324/viewspace-715408/