第11步:数据库冗余

目前在 ASM 上控制文件只有一份,需要给控制文件做镜像


      1. 查看当前控制文件
代码 1
[root@sgdb1 ~]# su - oracle
[oracle@sgdb1 ~]$ export ORACLE_SID=sgdb1   //第2个节点为: export ORACLE_SID=sgdb2
[oracle@sgdb1 ~]$ sqlplus / as sysdba
SQL> show parameter control_files
NAME                              TYPE  VALUE
------------------------------------ ----------- ------------------------------
control_files                       string  +BJ_SGDB_DATA/sgdb/controlfile/current .256.887810989


      1. 复制控制文件
1 )两个节点分别关闭数据库
代码 2
[oracle@sgdb1 ~]$ sqlplus / as sysdba
SQL> shutdown immediate;     
Database closed.
Database dismounted.
ORACLE instance shut down.
 
代码 3
[oracle@sgdb2 ~]$ sqlplus / as sysdba
SQL> shutdown immediate;     
Database closed.
Database dismounted.
ORACLE instance shut down.
 
2 )启动数据库到 nomount 状态 (实例之一即可)
代码 4
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1.0055E+10 bytes
Fixed Size                  2261888 bytes
Variable Size           5435821184 bytes
Database Buffers     4596957184 bytes
Redo Buffers            19742720 bytes
查看控制文件位置
SQL> show parameter control_files;
NAME                              TYPE  VALUE
------------------------------------ ----------- ------------------------------
control_files                       string  +BJ_SGDB_DATA/sgdb/controlfile/current
                                           .256.887810989
3 )使用 RMAN 复制控制文件 (实例之一即可)
代码 5
[oracle@sgdb1 ~]$ rman target /
RMAN> restore controlfile to '+BJ_SGDB_DATA' from
'+BJ_SGDB_DATA/sgdb/controlfile/current.256.887810989';
4 )查看新生成的控制文件副本
注意:新生成的文件名目前没有看到,可以通过 grid 用户,使用 asmcmd 查看
代码 6
[grid@sgdb1 ~]$ export ORACLE_SID=+ASM1
[grid@sgdb1 ~]$ asmcmd
ASMCMD> cd DATA/SGDB/CONTROLFILE
ASMCMD> ls
Current.256.887810989
current.269.887816799
 
显然,新生成的文件名字为 current.269.887816799
 
5 )修改 SPFILE
注意 RAC 不能像单实例那样直接修改 pfile ,不要轻易使用 “create pfile from spfile;” 命令创建 PFILE 文件,因此还是老老实实地修改 spfile 吧:
代码 7
[oracle@sgdb1 ~]$ sqlplus / as sysdba
当前状态应该已经为 nomount
SQL> select status from v$instance;
STATUS
------------
STARTED
修改参数文件
SQL> alter system set control_files = '+BJ_SGDB_DATA/sgdb/controlfile/current.256.887810989', '+BJ_SGDB_DATA/sgdb/controlfile/current.269.887816799' scope = spfile;
System altered.
 
 
 
6 )分别重启两个数据库( sgdb1 & sgdb2 ),查看控制文件
代码 8
SQL> startup force;
SQL> show parameter control_files;
NAME                              TYPE  VALUE
------------------------------------ ----------- ------------------------------
control_files                       string  +BJ_SGDB_DATA/sgdb/controlfile/current
                                           .256.887810989, +BJ_SGDB_DATA/sgdb/con
                                           trolfile/current.269.887816799

    1. REDO LOG冗余

目前 REDO LOG 一共有 8 组,每个组只有一名成员,需要做镜像
代码 9
[oracle@sgdb1 ~]$ sqlplus / as sysdba
拷贝下面语句,执行添加成员
alter database add logfile member '+BJ_SGDB_DATA' to group 1;
alter database add logfile member '+BJ_SGDB_DATA' to group 2;
alter database add logfile member '+BJ_SGDB_DATA' to group 3;
alter database add logfile member '+BJ_SGDB_DATA' to group 4;
alter database add logfile member '+BJ_SGDB_DATA' to group 5;
alter database add logfile member '+BJ_SGDB_DATA' to group 6;
alter database add logfile member '+BJ_SGDB_DATA' to group 7;
alter database add logfile member '+BJ_SGDB_DATA' to group 8;
 

终于,OracleRAC安装完成!

==============================================================================
1.rman-00554:initialization of internal recovery manager package failed
rman-04005:error from target database:
ORA-12162:TNS:net service name is incorrectly specified
 
 

解决过程:

忘记了,下次在遇到留意下。

 
 
 
2.启动RAC其中一个节点正常,启动第二个节点报错,提示如下:
SQL> startup force;
ORACLE instance started.
 
Total System Global Area 1068937216 bytes
Fixed Size            2260088 bytes
Variable Size          444597128 bytes
Database Buffers      616562688 bytes
Redo Buffers            5517312 bytes
ORA-01105: mount is incompatible with mounts by other instances
ORA-01606: parameter not identical to that of another mounted instance
 
解决过程:
之前的步骤修改SPFILE修改参数文件,应该两个节点同时关闭,同时以nomount方式启动,同时执行
alter system set control_files = '+BJ_SGDB_DATA/sgdb/controlfile/current.256.887810989', '+BJ_SGDB_DATA/sgdb/controlfile/current.269.887816799' scope = spfile;
System altered.
问题解决。

转载于:https://www.cnblogs.com/wuwanyu/p/8276148.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值