一、增加一个控制文件
1、首先在数据库在open状态下,spfile里增加一条记录。
alter system set control_files=
‘/u01/app/oracle/oradata/caidao/control01.ctl’,
‘/u01/app/oracle/oradata/caidao/control02.ctl’,
‘/u01/app/oracle/oradata/caidao/control03.ctl’,
‘/home/oracle/control51.ctl’ -->新增的控制文件(只是在spfile里)
scope=spfile';
2、关闭数据库使spfile参数文件生效
shutdown immediate;
3、复制一个现有的控制文件,可用sql命令,也可用操作系统命令
SQl> host copy /u01/app/oracle/oradata/caidao/control03.ctl /home/oracle/control51.ctl’
或者直接cp /u01/app/oracle/oradata/caidao/control03.ctl /home/oracle/control51.ctl’
4、重新启动数据库
startup;
5、查询一下现在的控制文件
select name from v$controlfile;
二、删除一个控制文件
1、数据库处于nomount或者open时,用alter system set control_files = …. scope=spfile语句来更改。
alter system set control_files=
‘/u01/app/oracle/oradata/caidao/control01.ctl’,
‘/u01/app/oracle/oradata/caidao/control02.ctl’,
‘/u01/app/oracle/oradata/caidao/control03.ctl’,
‘/home/oracle/control51.ctl’ -->删除这个控制文件(只是在spfile里)删除这一行。
scope=spfile';
2、关闭数据库使spfile参数文件生效
shutdown immediate;
3、删除这个控制文件,可用sql命令,也可用操作系统命令
SQl> host del /home/oracle/control51.ctl’
或者直接rm /home/oracle/control51.ctl’
4、重新启动数据库
startup;
5、查询一下现在的控制文件
select name from v$controlfile;
三、移动一个控制文件(控制文件最好放在不用的硬盘上,提高效率和安全性)
1、数据库处于nomount或open状态,用alter system set control_files = …. scope=spfile语句
来更改控制文件的存放位置或名称。
2、关闭数据库使spfile参数文件生效。
shutdown immediate
3、启动数据库并查询控制文件信息
startup;
select name from v$controlfile;
四、备份一个控制文件
1、将控制文件备份为二进制文件,也就是把数据库运行期间的控制文件原封不动的复制一份。
alter database backup controlfile to ‘/home/oralce/backup/ctrl.bkp’;
2、将控制文件备份为文本文件,被称为跟踪备份(backup to trace)
跟踪文件存放在初始化参数user_dump_dest指定的目录中,可用下列查询语句查看位置:
show parameter user_dump_dest;
备份语句如下:
alter database backup controlfile to trace;
该文件的命名格式为:<SID>ora<PID.trc
五、新建控制文件 见本博客另外一篇文章。