增加空值文件意味着复制现存的控制文件,并修改CONTROL_FILES参数使数据库获得该副本的位置信息。这个任务必须在关闭数据库的情况下完成。只有在现存的控制文件状态良好并可被复制的情况下,这种处理过程才能起作用。
增加控制文件的处理过程如下:
- 修改初始化文件中的CONTROL_FILES参数,使之包含新增控制文件的名称和位
置。
- 关闭数据库。
- 使用OS命令将现存的控制文件复制到新位置并重命名。
- 启动数据库。
使用spfile的情况
1、确认初始化文件是否为spfile。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/19.3.0
/dbhome_1/dbs/spfilesso.ora
2、确定CONTROL_FILES参数的当前值。
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oradata/SSO/control01
.ctl, /u01/app/oradata/SSO/con
trol02.ctl
3、修改CONTROL_FILES参数,使之包含要增加的控制文件,但是这仅对spfile操作范
围的修改(无法修改内存中的这个参数)。
SQL> alter system set control_files='/u01/app/oradata/SSO/control01.ctl','/u01/app/oradata/SSO/control02.ctl','/u01/app/oradata/SSO/control03.ctl' scope=spfile;
4、关闭数据库
SQL> shutdown immediate;
5、将现存的控制文件复制到新位置并重命名。
[oralce12:oracle:sso$]cp control01.ctl control03.ctl
6、启动数据库
SQL> startup
7、查看修改后的CONTROL_FILES参数
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oradata/SSO/control01
.ctl, /u01/app/oradata/SSO/con
trol02.ctl, /u01/app/oradata/S
SO/control03.ctl




