控制文件对于Oracle的重要性(2)
第三步:复制控制文件并改名。为了确保所有控制文件能够互为镜像,完全相同,最好能够在关闭数据库的情况下,将原先的控制文件复制到一个新的位置,然后进行重命名。注意这里的位置与控制文件的名字,必须同第一步指定的路径与名字相同。
第四步:重新启动数据库与相关的服务。启动数据库之后,需要注意手工启动服务窗口中的相关选项。如果怕麻烦的话,那么重新启动一下操作系统,系统会在重新启动的过程中自动启用相关的Oracle数据库服务。数据库重新启动之后,多路复用的控制文件就可以使用了。如果要确认一下原先的设置是否奏效,可以使用上图所示的查询语句来进行查询。当使用ALTER SYSTEM参数更改完初始化参数之后,由于这个控制文件实际上还并不存在,为此利用这个语句来查询的时候就查不到更改后的变化。复制控制文件并重新启动数据库系统后,所做的更改生效了。此时才可以通过这个查询语句查找到起作用的控制文件。或者说,如果管理员实际复制了控制文件,但是在这里查询不到相应结果的话,则说明肯定是哪个地方出现了问题。此时系统工程师就要从头开始来排除故障可能出现的原因。
三、在实现过程中的注意点。
显然,要在Windows操作系统上实现控制文件多路复用的话,比较简单。不过在具体的配置过程中,有一些细节方面的内容要引起管理员重视。
首先,在使用ALTER SYSTEM更改初始化参数的时候,一定要把原先的控制文件信息带上。也就是说,默认情况下Oracle数据库已经有了三个控制文件。如果数据库管理员还还需要在其他硬盘上多采用两个控制文件的话,那么在ALTER SYSTEM语句中必须加入五条信息。也就是说,原先的控制文件信息必须也带上。如果在这条语句中,数据库管理员只带上两条新控制文件的语句的话,则数据库系统会认为原先的三个控制文件都不要了,而直接采用后面加上的两个控制文件来代替。为此笔者提醒各位数据库管理员,在调整设置的时候千万不要犯这个低级的错误。
其次需要考虑多路复用控制文件的存储位置。像数据库的默认设置,控制文件时存储在同一个目录中。这显然并不是很安全。至少要将控制文件放置在不同的硬盘上或者分区上。具体来说,控制文件的每个副本都应该保存在不同的磁盘驱动器上。也就是说可以将控制文件的副本存储在每个存储有重做日至文件组组成员的硬盘驱动器上。不过有一点需要说明的是,最好不要将控制文件的副本保存在网络主机上。这主要是因为系统会同时更新多个数据库控制文件。如果网络比较繁忙时,更新网络主机上的控制可能会花费比较多的时间。可见,这个位置的选择不仅关系到控制文件的更新速度,而且还关系到控制文件副本的安全性。为此在规划数据库的时候,也需要好好想想这个控制文件副本该存放在哪个地方合适。
第三需要注意的是,这个控制文件的默认存储位置在不同的操作系统中是不同的。如在Linux操作系统与Windows操作系统中,虽然默认情况下都是三个控制文件,其中连个为控制文件的副本。但是他们存储的路径不同。为此如果要在不同的操作系统上复制控制文件时,就需要通过上面的查询语句来查询当前生效的控制文件。千万不要凭感觉去找。因为即使你找到了控制文件,也不能够保证这个控制文件是否有效的,是否包含了最新的内容。如果不是的话,则无法保证所有的控制文件都相同,无法确保所有控制文件能够互为镜像