一、环境检查
1 检查DG 是否正常运行。
数据库版本:11204 主机环境:rhel 6.1 备库:select distinct(thread#),max(sequence#) from gv$archived_log group by thread#;select distinct(thread#),max(sequence#) from gv$archived_log where applied=’YES’ group by thread#; 主库:alter system log archive log current; // 执行多次 备库:select distinct(thread#),max(sequence#) from gv$archived_log group by thread#;select distinct(thread#),max(sequence#) from gv$archived_log where applied=’YES’ group by thread#; 看看和上面的有没有变化,有则正常。
2 检查磁盘是否挂好,是否映射两个节点。
二、修改添加磁盘的权限。
方案一:手动修改磁盘权限
chown grid:oinstall /dev/mapper/***chmod 660 /dev/mapper/*** 两节点执行。vi /etc/udev/rules.d/12-dm-permissions.rulesENV{DM_NAME}=="mpath?", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathe", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathd", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathc", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathb", OWNER:="grid", GROUP:="oinstall", MODE:="660"### 不需要重启udev
方案二:udev 修改磁盘权限
这个方案要要重启udev ,会导致集群hang 住,建议暂停业务,关闭数据库和集群:1 关闭数据库和集群(11g) ## 因为是短时间关闭所以不需要对dg 备端进行操作。停监听:gridSrvctl stop scan_listenerSrvctl stop listener停库 gridoracle: srvctl stop database -d oracle_name ## (注意是db_name,不是instance name)
停crs
root :crsctl stop crs (需每节点运行) 2 修改udev 文件 ### 两节点执行vi /etc/udev/rules.d/12-dm-permissions.rulesENV{DM_NAME}=="mpath?", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathe", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathd", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathc", OWNER:="grid", GROUP:="oinstall", MODE:="660"ENV{DM_NAME}=="mpathb", OWNER:="grid", GROUP:="oinstall", MODE:="660" root 用户: start_udev 后/dev 下的dm* 会变成grid 属主 3 重启集群数据库: 手动启:root: ./crsctl start crs(两节点执行)srvctl start database -d oracle_namesrvctl start listenerSrvctl start scan_listener启动后crsctl check crs 检查状态crs_stat –t 检查select name,database_role,open_mode from gv$database;
三、添加磁盘组、
方法一:图形界面添加 ## 推荐一
su – gridasmca 检查:select GROUP_NUMBER,NAME,FAILGROUP,STATE,PATH from v$asm_disk;select GROUP_NUMBER,NAME,free_mb,TYPE,TOTAL_MB,compatibility from v$asm_diskgroup;
方法二: sql 添加
su – grid$ sqlplus / as sysasm> create diskgroup data2 external redundancy disk '/dev/rhdisk1','/dev/rhdisk2','/dev/rhdisk3','/dev/rhdisk4' attribute 'COMPATIBLE.ASM'='11.2'; >exit$asmcmdlsdg#### 可以cd /data02 创建个datafile 文件夹 检查:select GROUP_NUMBER,NAME,FAILGROUP,STATE,PATH from v$asm_disk;select GROUP_NUMBER,NAME,free_mb,TYPE,TOTAL_MB,compatibility from v$asm_diskgroup; 二节点 ; alter diskgroup data2 mount; 检查:select GROUP_NUMBER,NAME,FAILGROUP,STATE,PATH from v$asm_disk;select GROUP_NUMBER,NAME,free_mb,TYPE,TOTAL_MB,compatibility from v$asm_diskgroup;
四、修改主库备库参数
主库:su – oraclesqlplus / as sysdbaalter system set db_file_name_convert='+DATA/zctg/datafile/','/oracle/app/oradata/','+DATA02/datafile/','/oracle/app/oradata/' scope=spfile sid=’*’; 备库:su – oraclesqlplus / as sysdba
alter system set db_file_name_convert='+DATA/zctg/datafile/','/oracle/app/oradata/','+DATA02/datafile/','/oracle/app/oradata/' scope=spfile; 备库修改完后重启下:
SQL>shutdown immediate
使用oracle用户登陆standby数据库主机将数据库开启
$sqlplus “/as sysdba”
SQL>alter database recover managed standby database cancel;
SQL>shutdown immediate
##
$sqlplus “/as sysdba”
SQL>startup mount
SQL>alter database recover managed standby database disconnect from session;
使用oracle用户登陆primary数据库主机将数据库开启
$sqlplus “/as sysdba”
SQL>startup
五、测试数据库能否正常添加数据文件
1 参照上面步骤检查dg是否正常。 2 如正常的话创建个表空间试试。 create tablespace test datafile ‘+DATA02/datafile/test1.dbf’ size 10M; 2 再次检查dg是否正常。 如正常,则完成本次添加
