oracle 11g資料庫ASM磁碟組儲存空間擴容實施

kunlunzhiying發表於2017-01-25
 

1.       任務概述

XX系統存放oracle資料檔案的DATA磁碟組空間因為開發方新上線業務,造成原有資料庫表空間較為緊張,應業務開發方要求,為了適應未來的資料增長要求,需要擴容。

此方案為資料庫擴容常規標準步驟,無需專門測試,但是,在資料庫儲存擴容前,為防止變更操作帶來的風險,需要對資料庫資料作備份,以防萬一出現問題時做回退恢復。

在實施儲存擴容變更操作時,由於是底層磁碟陣列和作業系統的標準化操作,為了防止 操作失誤,必須一人操作,另一人在旁監督檢查,並且分步確認,步步把關,確保萬無一失。

  

1.1.       實施任務

DATA磁碟組擴容:

DS5300儲存RAID10組中劃分新的2300GLUN並新增到DATA磁碟組給XX叢集資料庫使用,RAID10組剩餘的空間可以留給以後擴容或其他用途使用。

1.2.       環境簡介

系統名稱:XX系統;主機:兩臺IBM P750小型機;作業系統:AIX 6.1

儲存:1IBM DS5300;資料庫:ORACLE RAC 11.2.0.3.0

1.3.       實施時間

201311月。

1.4.       實施人員

2.         實施方案

2.1.       實施內容

原有資料庫需要作資料作RMAN備份;

連線到儲存DS5300劃分LUN,並載入到主機;

主機掃描識別,修改屬性及許可權;

ASM儲存DATA磁碟組增加disk擴容;

檢查資料庫和應用。

2.2.       實施步驟

步驟

花費時間

備註

1.       資料庫資料備份

60分鐘

2.       連線到儲存DS5300

3.       建立LUN

4.       LUN載入到主機

5.       主機掃描新劃分的磁碟

6.       修改磁碟機代號屬性

7.       修改磁碟所有者及許可權

8.       檢視當前ASM空間使用情況

9.       DATA磁碟組擴容

2.3.       實施風險控制

在資料庫儲存擴容前,為防止變更操作風險,需要對資料庫資料作備份,以防萬一。

在實施儲存擴容變更操作時,由於是底層磁碟陣列和作業系統的標準化操作,為了防止 操作失誤,必須一人操作,另一人在旁監督檢查,並且分步確認,步步把關,確保萬無一失。

3.             詳細實施步驟

3.1.    RMAN備份

在資料庫伺服器節點2上透過RMAN對資料庫做全備份,歷時約60分鐘。

具體步驟如下:

root使用者建立備份用的目錄,並更改所有者等;

#mkdir -p /backup/20131122

#chown -R oracle:dba /backup/

oracle使用者建立rman備份用的指令碼,並賦許可權:

#su - oracle

$cd /backup/20131122

$vi rmanbackup.sh  

$chmod 744 rmanbackup.sh

RMAN全備份指令碼rmanbackup.sh內容:

run{

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

allocate channel ch3 device type disk;

backup as compressed backupset full database format '/backup/20131122/db_%U_%d' tag="full" spfile include current controlfile;

sql 'alter system archive log current';

change archivelog all crosscheck;

backup as compressed backupset archivelog all format '/backup/20131122/arch_%t_%s'  tag="archivelog";

release channel ch1;

release channel ch2;

release channel ch3;

}

使用指令碼做RMAN備份,透過引數cmdfile指定命令檔案,使用log指定日誌檔案:

nohup rman target / cmdfile=/backup/20131122/rmanbackup.sh log=/backup/20131122/rmanbackup.log &

3.2.    連線到儲存

將本機設定為192.168.128.XX(不要跟儲存控制器的管理ip有衝突),透過集線器,連線到IBM DS5300儲存的兩個控制器的管理口,SPA192.168.128.101)和SPB192.168.128.102),在本機ping兩個管理口地址,是否能ping通。

如果兩個控制器管理IP均可以ping通,然後使用IBMstorage manager客戶端連線到儲存。

3.3.    建立LUN

        參照目前DS5300儲存劃分給DATA磁碟組的LUN大小,為了保證資料庫儲存層面的效能穩定性,這次擴容在DS5300儲存RAID10組中新建立2300GLUNDATA_0005- DATA_0013

        點選RAID10組(array2),檢視此raid組剩餘空間為1.5TB,右鍵點選RAID10組的free capacity,選擇create logical drive,建立一個LUN;等到上一個建立完成後,繼續建立下一個。

注意:在新建LUN時,選擇自定義,選擇將LUN分配給資料庫使用,其他使用預設設定。

3.4.    LUN載入到主機

將剛剛建立的幾個LUN載入到資料庫的主機組裡,對映,後臺同步。

3.5.    主機掃描

root使用者執行操作,主機掃描新劃分的磁碟:

1)登入資料庫伺服器節點1,使用cfgmgr命令,掃描一下新盤,然後透過lspv命令,檢視掃描到的硬碟:

# lspv

# cfgmgr

# lspv

hdisk18         none                                None                               

hdisk19         none                                None                               

2)登入資料庫伺服器節點2,使用cfgmgr命令,掃描一下新盤,然後透過lspv命令,檢視掃描到的硬碟:

# lspv          

# cfgmgr

# lspv

hdisk18         none                                None                               

hdisk19         none                                None                               

注意:要確保資料庫的兩個節點掃描到的磁碟機代號一致

          

3.6.    修改磁碟機代號屬性

root使用者登入資料庫伺服器節點1,修改磁碟機代號屬性:

# chdev -l hdisk18 -a reserve_policy=no_reserve

# chdev -l hdisk19 -a reserve_policy=no_reserve

root使用者登入資料庫伺服器節點2,修改磁碟機代號屬性:

# chdev -l hdisk18 -a reserve_policy=no_reserve

# chdev -l hdisk19 -a reserve_policy=no_reserve

3.7.    修改磁碟所有者及許可權

root使用者登入資料庫伺服器節點1,修改磁碟所有者及許可權:

#cd /dev

#ls -l rhdisk*

#chown grid:dba  /dev/rhdisk18

#chown grid:dba  /dev/rhdisk19

#chmod 660  /dev/rhdisk18

#chmod 660  /dev/rhdisk19

#ls -l rhdisk*

root使用者登入資料庫伺服器節點2,修改磁碟所有者及許可權:

#cd /dev

#ls -l rhdisk*

#chown grid:dba  /dev/rhdisk18

#chown grid:dba  /dev/rhdisk19

#chmod 660  /dev/rhdisk18

#chmod 660  /dev/rhdisk19

#ls -l rhdisk*

================================================================

說明:以下步驟(3.8-3.9)只在節點1上操作即可:

3.8.    檢視ASM空間情況

登入到資料庫伺服器節點1,以grid使用者檢視ASM磁碟組空間情況:

#su - grid

$ asmcmd

ASMCMD> lsdg

3.9.    DATA磁碟組擴容

登入到資料庫伺服器節點1,檢視asm_power_limit引數值,並調大為10,以加快後臺ASM動態平衡速度:

說明:

以下如無特殊說明,均由grid使用者操作;

此步驟調整asm_power_limit引數值必須是ASM型別例項下操作,否則報錯ORA-15021

su - grid

sqlplus  / as sysdba

show parameter asm_power_limit

alter system set asm_power_limit=10 sid= '*' scope=both;

show parameter asm_power_limit

檢視磁碟組使用情況及磁碟名稱和路徑:

select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

select name,path from v$asm_disk;

將新增加的磁碟依次新增到DATA磁碟組:

說明:此處必須以sysasm身份操作,否則報錯ORA-15032和ORA-15260,這是oracle 11G ASM磁碟管理上的一個改進。
(參考) 


sqlplus / as sysasm

alter diskgroup DATA  add disk '/dev/rhdisk18';

alter diskgroup DATA  add disk '/dev/rhdisk19';

col name for a10

col path for a30

select name,path from v$asm_disk;

將當前的diskgroup組的rebalance速度修改為10

alter diskgroup DATA  rebalance power  10;

檢視重新平衡需要的時間:

 select operation,est_minutes from v$asm_operation;

select name,path from v$asm_disk;

select operation,est_minutes from v$asm_operation;

新增完畢並且重新平衡完成後,恢復到平衡速率為1,並調整引數為1

alter diskgroup DATA rebalance power 1;

alter system set asm_power_limit=1 sid=’*’ scope=both;

檢視ASM磁碟組空間情況:

SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

================================================================

3.10. 檢查資料庫和應用

檢查叢集資料庫和應用是否正常。

1)檢查叢集資料庫是否正常:

檢查叢集狀態(grid使用者):

crs_stat -t

crsctl check crs

ocrcheck

檢查資料庫叢集兩個節點告警日誌是否有報錯

檢查結果:正常

2)開發方人員檢查檢查應用是否正常

檢查結果:正常

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

相關文章