Oracle控制文件如何高效管理(1)(2)
结果显示为:
- NAME
- ----------------------------------
- d:oracleoradataoradb01control01.ctl
- e:oracleoradataoradb01control02.ctl
- f:oracleoradataoradb01control03.ctl
这里列出了控制文件的名称以及位置
2.更改spfile中控制文件的信息:(增加了一个新的控制文件)
- SQL>alter system set control_files=
- 'd:oracleoradataoradb01control01.ctl',
- 'e:oracleoradataoradb01control02.ctl',
- 'f:oracleoradataoradb01control03.ctl',
- 'g:oracleoradataoradb01control04.ctl'
- scope=spfile
结果显示为:
系统已经更改。
(第二步的操作需要注意的是:进行这些操作,必须是在DB启动的时候,否则会弹出“ORACLE not available”错误。)
3.关闭数据库
4.在操作系统中将已有的控制文件复制,修改名称保存到刚才增加控制文件的指定位置。(这步必须做的,否则数据库无法启动)
5.重新启动控制文件,使控制文件改变生效。
管理控制文件
备份控制文件
- SQL> alter database backup controlfile to ‘d:\20080326.ctl’
数据库已更改。
然后从这个备份的位置直接把文件拷贝回之前的目录覆盖就好了。
删除控制文件(删除某一路的控制文件)
spfile文件
1.利用SYS帐号登陆SQL*PLUS,查询一下控制文件信息视图
- SQL>select name from v$controlfile;
结果显示为:
- NAME
- ----------------------------------
- d:oracleoradataoradb01control01.ctl
- e:oracleoradataoradb01control02.ctl
- f:oracleoradataoradb01control03.ctl
- g:oracleoradataoradb01control04.ctl
- 这里列出了控制文件的名称以及位置
- 2.更改spfile中控制文件的信息,删除一个新的控制文件
- SQL>alter system set control_files=
- 'd:oracleoradataoradb01control01.ctl',
- 'e:oracleoradataoradb01control02.ctl',
- 'f:oracleoradataoradb01control03.ctl',
- scope=spfile
结果显示为:
系统已经更改。
3.关闭数据库
4.在操作系统中删除控制文件
5.重新启动数据库,使控制文件生效