一次ASM添加新的磁盘组

来源:这里教程网 时间:2026-03-03 16:38:16 作者:

一、环境检查

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是否正常。 如正常,则完成本次添加

相关推荐