Oracle控制文件多元化

原创
2016-06-07 17:27:17 537浏览

多元化控制文件后,多个控制文件互为镜像,内容总是保持完全一致。装载Oracle数据库时,系统会读取并打开control_files 参数多对

控制文件多元化:就是复制多个控制文件并存放到不同的磁盘。

1、使用SPFILE多元化控制文件

1)查看控制文件信息和spfile 信息
05:55:48 SQL> select name from v$controlfile;
NAME
------------------------------------------------------------------------------------------------------ ------------------------------------------------
/u01/app/Oracle/oradata/lx02/control01.ctl
05:56:45 SQL> show parameter contro
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/lx02/c
ontrol01.ctl
05:56:49 SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfilelx02.ora
05:57:00 SQL>

2)修改control_files 参数
05:57:55 SQL> alter system set control_files=
05:58:01 2 '/u01/app/oracle/oradata/lx02/control01.ctl','/disk1/lx02/oradata/control02.ctl' scope=spfile;
System altered.

3)关闭instance ,拷贝controlfile
05:58:29 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
05:59:02 SQL> !
[oracle@oracle ~]$ cp /u01/app/oracle/oradata/lx02/control01.ctl /disk1/lx02/oradata/control02.ctl

4)startup 启动实例
05:59:44 SQL> select name from v$controlfile;
NAME
--------------------------------------------

/u01/app/oracle/oradata/lx02/control01.ctl
/disk1/lx02/oradata/control02.ctl

2、使用PFILE多元化控制文件

1)关闭实例,修改init 文件
06:01:16 SQL> startup pfile=$ORACLE_HOME/dbs/initlx02.ora
ORACLE instance started.
Total System Global Area 176160768 bytes
Fixed Size 1218364 bytes
Variable Size 88082628 bytes
Database Buffers 83886080 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
06:01:43 SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
06:02:15 SQL> select name from v$controlfile;
NAME
----------------------------------------------------------------
/u01/app/oracle/oradata/lx02/control01.ctl
06:02:21 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@oracle ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle dbs]$ vi initlx02.ora
control_files = $ORACLE_BASE/oradata/lx02/control01.ctl,/disk1/lx02/oradata/control02.ctl,/disk2/lx02/oradata/control03 .ctl

2)拷贝controlfile
[oracle@oracle dbs]$ cp $ORACLE_BASE/oradata/lx02/control01.ctl /disk1/lx02/oradata/control02.ctl
[oracle@oracle dbs]$ cp $ORACLE_BASE/oradata/lx02/control01.ctl /disk2/lx02/oradata/control03.ctl

3)startup
06:07:59 SQL> startup pfile=$ORACLE_HOME/dbs/initlx02.ora
ORACLE instance started.
Total System Global Area 176160768 bytes
Fixed Size 1218364 bytes
Variable Size 88082628 bytes
Database Buffers 83886080 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
06:08:21 SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
06:08:30 SQL> select name from v$controlfile;
NAME
------------------------------------------------------------------------------------------------------ ------------------------------------------------
/u01/app/oracle/oradata/lx02/control01.ctl
/disk1/lx02/oradata/control02.ctl
/disk2/lx02/oradata/control03.ctl
06:08:39 SQL> create spfile from pfile;
File created.

多元化控制文件后,多个控制文件互为镜像,内容总是保持完全一致。装载Oracle数据库时,系统会读取并打开control_files 参数多对应的所有控制文件。
需要注意:多元化了控制文件后,如果某个控制文件丢失或损坏,数据库将无法加载。
如果要改变数据库名称或数据库的永久参数,必须重新建立控制文件。

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。