首页 > 数据库 > Oracle > 一次ASM添加新的磁盘组
数据库版本: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#;
看看和上面的有没有变化,有则正常。
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 ,会导致集群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;
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是否正常。
如正常,则完成本次添加
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23732248/viewspace-2770888/ ,如需转载,请注明出处,否则将追究法律责任。