一次ASM添加新的磁盘组

一、环境检查

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.rules

ENV{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 备端进行操作。

停监听:grid

Srvctl stop scan_listener

Srvctl stop listener

停库 grid

oracle: 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.rules

ENV{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_name

srvctl start listener

Srvctl start scan_listener

启动后

crsctl check crs 检查状态

crs_stat –t 检查

select name,database_role,open_mode from gv$database;

 

 

 

 

三、添加磁盘组、

方法一:图形界面添加 ## 推荐一

su – grid

asmca

检查:

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

$asmcmd

lsdg

#### 可以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 – oracle

sqlplus / as sysdba

alter system set db_file_name_convert='+DATA/zctg/datafile/','/oracle/app/oradata/','+DATA02/datafile/','/oracle/app/oradata/' scope=spfile sid=’*’;

 

备库:

su – oracle

sqlplus / 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是否正常。

如正常,则完成本次添加


请使用浏览器的分享功能分享到微信等