添加控制文件

Posted by Harid七月 - 12 - 2014 Leave comments

生产环境,控制文件往往要求有3个以上,并且分布在不同的磁盘上。

添加控制文件其实非常简单,本文以RAC数据库为背景,在ASM管理的磁盘上添加一个控制文件至DG_DATA磁盘组中。

当前的控制文件情况:

current_control_files

首先创建一个pfile文件,执行:

1
CREATE pfile='/home/oracle/initora11g.ora' FROM spfile;

sys@ORA11G> create pfile=’/home/oracle/initora11g.ora’ from spfile;

File created.

Elapsed: 00:00:00.25
sys@ORA11G>

shudown RAC库中的所有实例:

sys@ORA11G> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ORA11G>

修改之前创建的pfile文件initora11g.ora,将

1
*.control_files='+DG_ORA(CONTROLFILE)/ora11g/control01.ctl','+DG_DATA(CONTROLFILE)/ora11g/control02.ctl'

修改为:

1
*.control_files='+DG_ORA(CONTROLFILE)/ora11g/control01.ctl','+DG_DATA(CONTROLFILE)/ora11g/control02.ctl','+DG_DATA/ora11g/control03.ctl'

切换至grid用户,通过asmcmd拷贝“+DG_DATA/ora11g/control02.ctl”至“+DG_DATA/ora11g/control03.ctl”:

ASMCMD> ls
CONTROLFILE/
control02.ctl
ASMCMD> cp control02.ctl control03.ctl
copying +DG_DATA/ORA11G/control02.ctl -> +DG_DATA/ORA11G/control03.ctl
ASMCMD> ls
CONTROLFILE/
control02.ctl
control03.ctl
ASMCMD>

使用修改后的初始化参数文件来启动当前节点的数据库:

[oracle@RACA ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 12 00:00:41 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

idle> startup pfile=’/home/oracle/initora11g.ora’;
ORACLE instance started.

Total System Global Area 835104768 bytes
Fixed Size 2232960 bytes
Variable Size 650120576 bytes
Database Buffers 180355072 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
idle>

启动成功,利用当前pfile文件创建spfile文件,其中spfile文件应为在共享磁盘组中的spfile文件路径,并且分别在$ORACLE_HOME/dbs/initora11g1.ora和$ORACLE_HOME/dbs/initora11g2.ora中指明路径,执行:

1
CREATE spfile='+DG_ORA/ora11g/spfileora11g.ora' FROM pfile='/home/oracle/initora11g.ora';

[oracle@RACA dbs]$ pwd
/opt/oracle/app/product/11gR2/db/dbs
[oracle@RACA dbs]$ cat initora11g1.ora
SPFILE=’+DG_ORA/ora11g/spfileora11g.ora’
[oracle@RACA dbs]$

[oracle@RACB dbs]$ pwd
/opt/oracle/app/product/11gR2/db/dbs
[oracle@RACB dbs]$ cat initora11g2.ora
SPFILE=’+DG_ORA/ora11g/spfileora11g.ora’
[oracle@RACB dbs]$

创建spfile文件成功之后(在ASM管理的磁盘组中),使用该spfile文件启动第二个节点的数据库,执行:

1
startup;

最后查看当前控制文件如下图所示:

Last_control_files

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《添加控制文件


分享按钮