8.1.2 控制文件的存储位置

为了保证控制文件的安全,在创建控制文件时一个基本的要求是对它进行镜像。但如果把所有控制文件存放在同一个磁盘上,危险仍然潜在。如果磁盘损坏,那么所有的控制文件都将丢失。因此,控制文件应该分别存放在不同的磁盘上(注意,不是同一块硬盘的不同磁盘分区)。控制文件在多个磁盘上的镜像情况如图8.1所示。

figure_0246_0082

图 8.1 控制文件的镜像

例如我们可将前面使用的三个控制文件分别存放在三个磁盘上,然后修改初始化参数CONTROL_FILES,例如:


control_files=("/u01/app/base/oradata/orcl/control01.ctl",

"/u02/control02.ctl",

"/u03/control03.ctl")


其中/u01、/u02和/u03是三个分别位于不同磁盘上的文件系统。如果要改变控制文件的名称或位置,首先应该关闭数据库服务器,然后在操作系统中将控制文件复制到指定的位置,如果必要,可同时修改文件名。然后修改初始化参数control_fies的值,使其指向修改后的控制文件,最后重新启动数据库服务器。

现在的数据库一般都存储在磁盘阵列上,这种存储设备本来就通过冗余机制保证文件的安全,这时候把所有的控制文件存放在同一个存储位置下即可。需要注意的是,在这种情况下,多个控制文件仍然是有必要的。