共计 1795 个字符,预计需要花费 5 分钟才能阅读完成。
配置 Oracle 数据库控制文件冗余的操作过程:
查看数据字典 v$controlfile 来获取现有控制文件信息
SQL> set lines 200;
SQL> col name for a50;
SQL> select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS
——- —————————— — ———- ————–
/data/cams/control01.ctl NO 16384 692
/data/cams/control02.ctl NO 16384 692
此处发现两个控制文件在一个路径下,显然不安全,现在对控制文件做冗余
查看 spfile 信息:
SQL> show parameter pfile;
NAME TYPE VALUE
———————————— ———– ——————————
spfile string /oradata/oracle/product/11.2.0
/db_1/dbs/spfilecams.ora
关闭数据库,创建 pfile 文件
SQL> create pfile from spfile;
SQL> !ls /oradata/oracle/product/11.2.0/db_1/dbs
hc_cams.dat initcams.ora init.ora lkCAMS orapwcams snapcf_cams.f spfilecams.ora
SQL> !vi /oradata/oracle/product/11.2.0/db_1/dbs/initcams.ora
修改 *.control_files=’/data/cams/control01.ctl’,’/data/cams/control02.ctl’ 内容为
*.control_files=’/data/cams/control01.ctl’,’/file/cams/controlfile/control02.ctl’,’/backup/cams/controlfile/control03.ctl’
创建路径
mkdir -p /file/cams/controlfile
mkdir -p /backup/cams/controlfile
拷贝现有控制文件至存储路径中
SQL> !ls /file/cams/controlfile
control02.ctl
SQL> !ls /backup/cams/controlfile
control03.ctl
通过 pfile 启动 oracle, 并新创建 spfile
SQL> startup pfile=’/oradata/oracle/product/11.2.0/db_1/dbs/initcams.ora’;
SQL> create spfile from pfile;
SQL> shutdown immediate;
SQL> startup;
总结操作过程:
(1)利用数据字典 v$controlfile 来获取现有控制文件信息。
(2)查看 spfile 所在路径
(3)正常关闭数据库
(4)利用 spfile 文件创建 pfile 文件
(5)修改 pfile 文件中的 CONTROL_FILES 参数,修改为最新的控制文件信息
(6)创建新的文件路径,并将现有控制文件拷贝到指定位置
(7)通过 pfile 启动 oracle, 并新创建 spfile
(8)关闭数据库,利用 spfile 参数文件启动数据库
其他说明:
(1)如果数据库使用 pfile 启动,没有 spfile,可以省略 spfile 和 pfile 切换过程,直接修改 pfile 即可。
(2)本文操作也可不使用 spfile 转化为 pfile 后进行修改的操作,使用 alter system set control_files = XXX scope=spfile; 命令实现改变 CONTROL_FILES 参数信息。
(3)修改完成后建议进行检查,查看 v$controlfile 以及服务器上的物理控制文件。
(4)如果操作完成后出现无用控制文件,比如用不到原控制文件了,建议在操作完成后删除无用的控制文件,避免出现系统垃圾文件。