oracle 11g 磁碟操作

sky_dizzy001發表於2014-02-11

一、單節點建立dg磁碟組

1、確定用於建dg的磁碟
[scdb1:root]lspv | grep hdiskpower*
hdiskpower0     none                                None           
hdiskpower1     none                                None           
hdiskpower2     none                                None           
         
注意,要確定沒有加到其他vg中,第二列表示pvid,第三列表示屬於某個vg

2、確定哪些盤已經加入到dg中使用
[scdb1:root]su – grid
 
[scdb1:grid]sqlplus / as sysasm
SQL> select name,path from v$asm_disk;
 
NAME                           PATH
------------------------------ ------------------------------
SCDG_0000                    /dev/rhdiskpower0
SCDG_0001                    /dev/rhdiskpower1
SCDG_0002                    /dev/rhdiskpower2
 
3 rows selected.
可以看到/dev/rhdiskpower3,/dev/rhdiskpower4還沒有使用。如果name為空,path有值,表示這個盤已經授權給了grid,只是沒有新增進來!

3、清除pvid、授權給grid
--確定準備建立dg的所有pv大小
[scdb1:root]bootinfo -s hdiskpower9
92572
說明這個大小為92g,有的顯示為0或者很小的數字,則不能加。
 
--清除pvid,如下(如果有就清除,沒有可以不清)
[scdb1:root]chdev -l hdiskpower3 -a pv=clear
[scdb1:root]chdev -l hdiskpower4 -a pv=clear
--授權給grid使用者
[scdb1:root]chown grid:asmadmin /dev/rhdiskpower3
[scdb1:root]chown grid:asmadmin /dev/rhdiskpower4
 
4、建立dg
[scdb1:root]su – grid
[scdb1:grid]sqlplus / as sysasm
SQL> create diskgroup testdg external redundancy disk '/dev/rhdiskpower3','/dev/rhdiskpower4' attribute 'compatible.ASM'='11.2','compatible.rdbms'='11.2','au_size'='4M'
 
二、多節點建立dg
1、確定用於建dg的磁碟
在每個節點都執行,確保每個節點都能認得到
lspv | grep hdiskpower* (root下執行)
 
hdiskpower0     none                                None           
hdiskpower1     none                                None           
hdiskpower2     none                                None                     
 
注意,要確定沒有加到其他vg中,第二列表示pvid,第三列表示屬於某個vg

2、確定哪些盤已經加入到dg中使用
su – grid
 
sqlplus / as sysasm
SQL> select name,path from v$asm_disk;
 
NAME                           PATH
------------------------------ ------------------------------
SCDG_0000                    /dev/rhdiskpower0
SCDG_0001                    /dev/rhdiskpower1
SCDG_0002                    /dev/rhdiskpower2
 
3 rows selected.
 
可以看到/dev/rhdiskpower3,/dev/rhdiskpower4還沒有使用。如果name為空,path有值,表示這個盤已經授權給了grid,只是沒有新增進來!這個時候,需要在其它節點執行上面語句,是否是都存在這樣的情況,如果沒有,表示該節點grid還沒有獲取許可權!

3、清除pvid,開放共享、並授權給grid(root下執行)
--確定pv的大小
bootinfo -s hdiskpower3
92572
說明這個大小為92g,有的顯示為0或者很小的數字,則不能加。
 
--清除pvid,如下(如果有就清除,沒有可以執行這一步)
在每個節點執行
chdev -l hdiskpower3 -a pv=clear
chdev -l hdiskpower4 -a pv=clear
 
--取消磁碟鎖
在每個節點執行
chdev -l hdiskpower3 -a reserve_lock=no
chdev -l hdiskpower4 -a reserve_lock=no
 
--授權給grid使用者
在每個節點執行
chown grid:asmadmin /dev/rhdiskpower3
chown grid:asmadmin /dev/rhdiskpower4

4、建立dg
su – grid
sqlplus / as sysasm
SQL> create diskgroup testdg external redundancy disk '/dev/rhdiskpower3','/dev/rhdiskpower4' attribute 'compatible.ASM'='11.2','compatible.rdbms'='11.2','au_size'='4M'
 
5、在其它節點將這個dg手動mount起來
alter diskgroup testdg  mount;
 
6、確定每個節點成功
Su – grid
Sqlplus / as sysasm
 
Select name,state from v$asm_diskgroup;
都處於mount狀態!

三、新增磁碟到現在dg中
1、確定用於新增dg的磁碟
[scdb1:root]lspv | grep hdiskpower*
hdiskpower0     none                                None           
hdiskpower1     none                                None           
hdiskpower2     none                                None                  
 
注意,要確定沒有加到其他vg中,第二列表示pvid,第三列表示屬於某個vg

2、確定哪些盤已經加入到dg中使用
[scdb1:root]su – grid
[scdb1:grid]sqlplus / as sysasm
SQL> select name,path from v$asm_disk;
 
NAME                           PATH
------------------------------ ------------------------------
SCDG_0000                    /dev/rhdiskpower0
SCDG_0001                    /dev/rhdiskpower1
SCDG_0002                    /dev/rhdiskpower2
3 rows selected.
 
可以看到/dev/rhdiskpower3,/dev/rhdiskpower4還沒有使用。如果name為空,path有值,表示這個盤已經授權給了grid,只是沒有新增進來!

3、清除pvid,並授權給grid
單節點的處理
--確定pv的大小
[scdb1:root]bootinfo -s hdiskpower3
92572
說明這個大小為92g,有的顯示為0或者很小的數字,則不能加。
 
--清除pvid,如下(如果有就清除,沒有可以不清)
[scdb1:root]chdev -l hdiskpower3 -a pv=clear
[scdb1:root]chdev -l hdiskpower4 -a pv=clear
--授權給grid使用者
[scdb1:root]chown grid:asmadmin /dev/rhdiskpower3
[scdb1:root]chown grid:asmadmin /dev/rhdiskpower4
多節點的處理
--確定pv的大小
bootinfo -s hdiskpower3
92572
說明這個大小為92g,有的顯示為0或者很小的數字,則不能加。
 
--清除pvid,如下(如果有就清除,沒有可以執行這一步)
在每個節點執行
chdev -l hdiskpower3 -a pv=clear
chdev -l hdiskpower4 -a pv=clear

--取消磁碟鎖
在每個節點執行
chdev -l hdiskpower3 -a reserve_lock=no
chdev -l hdiskpower4 -a reserve_lock=no
 
--授權給grid使用者
在每個節點執行
chown grid:asmadmin /dev/rhdiskpower3
chown grid:asmadmin /dev/rhdiskpower4

4、新增到目標dg中
Su – grid
Sqlplus / as sysasm
SQL> alter diskgroup testdg add disk '/dev/rhdiskpower3','/dev/rhdiskpower4' rebalance power 8;
 
檢視磁碟是否已經平衡完成使用這條語句:
SQL>  select group_number,state,sofar,est_work,est_rate, EST_MINUTES  from v$asm_operation;
 
GROUP_NUMBER STAT      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---- ---------- ---------- ---------- -----------
           1 RUN       28485      85308       5220          10
如果sofar=est_work相等,表示新增工作真正完成!

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

相關文章