一次ASM新增新的磁碟組

yingyifeng306發表於2021-05-06

一、環境檢查

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

如正常,則完成本次新增


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2770888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章