添加控制文件成员形成多路径

在一般生产的环境中,重要的文件,比如三大文件,其中控制文件与日志文件,都需要创建冗余形成多路径
控制文件或者多路径日志文件,这样提高数据库的安全性。学习环境就没有必要这样做,以下是模拟创建冗余的过程:

添加控制文件成员:


1、查看目前的控制文件

SQL> select name from v$controlfile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/PROD/ora_control1.ctl

/u01/app/oracle/oradata/PROD/ora_control2.ctl


 2、添加两个控制文件,形成多路径控制文件:

SQL> alter system set control_files=

  2  '/u01/app/oracle/oradata/PROD/ora_control1.ctl',

  3  '/u01/app/oracle/oradata/PROD/ora_control2.ctl',

  4  '/u01/app/oracle/fast_recovery_area/ora_control3.ctl',

  5  '/u01/app/FRA/ora_control4.ctl'

  6  scope = spfile;                
 -------因为这个修改静态参数,所以要以scope = spfile修改,重启数据库后才能生效,在当前会话不生效。

System altered.

 

3、关闭数据库,系统层复制控制文件:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 
4、在系统层生产跟写在参数文件里控制文件参数值相对应的文件对象:(这个非常关键
-----这一步操作,必须在关闭数据库的状态下进行,主要是为了关闭控制文件,避免控制文件写内容。

SQL> !cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/oracle/fast_recovery_area/ora_control3.ctl

SQL> !cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/FRA/ora_control4.ctl

添加了两个控制文件成员,就相应地添加连个控制文件的对象,这个还可以在系统层oracle用户的home目录下进行操作
如下:
[oracle@enmo ~]$  cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/oracle/fast_recovery_area/ora_control3.ctl
[oracle@enmo ~]$  cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/FRA/ora_control4.ctl


5、查看文件:

[oracle@enmo ~]$ cd /u01/app/oracle/fast_recovery_area/

[oracle@enmo fast_recovery_area]$ ls

ora_control3.ctl

[oracle@enmo ~]$ cd /u01/app/FRA/

[oracle@enmo FRA]$ ls

ora_control4.ctl

看到新控制文件成员已经创建成功。

6、打开数据库:

SQL> startup

ORACLE instance started.

 

Total System Global Area  835104768 bytes

Fixed Size                  2257840 bytes

Variable Size             541068368 bytes

Database Buffers          289406976 bytes

Redo Buffers                2371584 bytes

Database mounted.

Database opened.

添加成功,没有发现错误,正常启动数据库。

 

7、再次查看控制文件:

SQL> select name from v$controlfile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/PROD/ora_control1.ctl

/u01/app/oracle/oradata/PROD/ora_control2.ctl

/u01/app/oracle/fast_recovery_area/ora_control3.ctl

/u01/app/FRA/ora_control4.ctl
新的控制文件生效。

以上在添加过程中,有一些步骤是非常关键的。记得在我第一次添加控制文件成员的时候,由于先在系统层生成
控制文件成员,再修改参数文件的该静态参数,最后在启动数据库到mount状态的时候报错了,原因是控制文件
版本不一样。因为该参数是在数据库打开的状态下修改的,修改参数过程中,数据库在不断地往控制文件中写入数据库
的修改信息,这些修改信息都要注册到控制文件中才能被数据库识别生效。那一次的错误操作的教训,让我刻骨铭心。

所以记得两点:

1》先修改参数再关库。
2》先关库再在系统复制控制文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2126426/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31392094/viewspace-2126426/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值