一、增加一个控制文件

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&lt;PID.trc

 

五、新建控制文件 见本博客另外一篇文章。