oracle資料庫叢集新增表空間操作規範

kunlunzhiying發表於2017-05-31

1、首先檢查dg空間是否充足
SQL> select name,total_mb,free_mb,USABLE_FILE_MB from v$asm_diskgroup;

NAME                                TOTAL_MB    FREE_MB USABLE_FILE_MB
--------------------------------- ---------- ---------- --------------
DATADG                               4198790     230531         230531
OCRDG                                  15360      14434           4657
RECODG                                512078     497578         497578
REDODG                                204800      42117          42117

說明:
第一列數字,表示總的空間
第二列數字,表示剩餘空間,由於冗餘度的原因,可能是實際可使用的1倍、2倍、3倍,屬於虛值
第三列數字,表示剩餘空間,但與第二列意義有差別,第三列表示實際可用的空間 
所以重點看第三列的值,這是實際可用的空間。    

特別提醒:災備兩端均要進行檢查,否則會造成嚴重問題

2、計劃表空間新增
--首先根表空間的實際大小,確定本次新增的值
通常情況下,如果這個表空間總體大小才100G範圍內,一次性新增20G即可,如果更小的表空間,一次性新增10G也可行的
如果表空間整體比較大,一次性新增應該在30G
具體的情況具體分析,注意保證整體表空間在80%左右即可,以此來確定新增檔案的大小。

特別注意,每次新增時,一定要確保dg的值是本次總體新增值的2倍以上,災備兩端都要保證!
如果要新增磁碟到dg中,如下一步

3、新增磁碟到dg
--首先通知儲存管理員劃分相應的盤到指定的機器,說明共享
--掃描磁碟(兩個節點執行)
[root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan

注意,有的機器有多個光纖介面,就要多次,如下:
[root@testrac1 scsi_host]# ls -a
.  ..  host0  host1  host10  host2  host3  host4  host5  host6  host7  host8  host9
如這裡有10個,就要執行10次,預先寫好指令碼
[root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host3/scan
執行完成後,在另一個節點執行相同的操作

--掃描完成後,檢視最新加入的磁碟
[root@testrac1 scsi_host]# for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `scsi_id --whitelist /dev/$i`"; done
### sda: 361866da04f1063001e9e8c2811e75cc8
### sda1: 361866da04f1063001e9e8c2811e75cc8
### sda2: 361866da04f1063001e9e8c2811e75cc8
### sdb: 3600a098038303742665d49316b78327a
### sdc: 3600a098038303742665d49316b78327a
### sde: 3600a098038303742665d49316b783279
### sdd: 3600a098038303742665d49316b783279
### sdf: 3600a098038303742665d49316b783278
### sdh: 3600a098038303742665d49316b783330
### sdg: 3600a098038303742665d49316b783278
### sdj: 3600a098038303742665d49316b783331
.......................
### sdbv: 3600a098038303742695d4933306e7a51
### sdbw: 3600a098038303742695d4933306e7a51
### sdbx: 3600a098038303742695d4933306e7a51
### sdby: 3600a098038303742695d4933306e7a51
### sdbz: 3600a098038303742695d4933306e7a51
### sdca: 3600a098038303742695d4933306e7a51
### sdcb: 3600a098038303742695d4933306e7a51
### sdcc: 3600a098038303742695d4933306e7a51
透過檢視,發現最後一個是最新加進去的盤

--編輯多路徑
[root@testrac1 scsi_host]# vi /etc/multipath.conf

.........................

multipath {
        wwid    3600a098038303742665d49316b783278
        alias   ocrdisk1
}
multipath {
        wwid    3600a098038303742665d49316b783279
        alias   ocrdisk2


multipath {
        wwid    3600a098038303742665d49316b783333
        alias   data4
}
multipath {
        wwid    3600a098038303742695d4933306e7a51
        alias   data5
}

本次,我們加入的data5

注意,兩個節點都要進行這樣操作

--重新配置多路徑
[root@testrac1 scsi_host]# multipathd -k
multipathd> reconfigure
ok
multipathd> quit

[root@testrac1 scsi_host]# multipath -l
data5 (3600a098038303742695d4933306e7a51) dm-11 NETAPP,LUN C-Mode
size=500G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| |- 3:0:2:9 sdcb 68:240 active undef running
| |- 3:0:3:9 sdcc 69:0   active undef running
| |- 1:0:2:9 sdbx 68:176 active undef running
| `- 1:0:3:9 sdby 68:192 active undef running
`-+- policy='round-robin 0' prio=0 status=enabled
  |- 3:0:1:9 sdca 68:224 active undef running
  |- 1:0:0:9 sdbv 68:144 active undef running
  |- 1:0:1:9 sdbw 68:160 active undef running
  `- 3:0:0:9 sdbz 68:208 active undef running
data4 (3600a098038303742665d49316b783333) dm-8 NETAPP,LUN C-Mode
size=500G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| |- 3:0:0:6 sdn  8:208  active undef running
| |- 1:0:0:6 sdo  8:224  active undef running
| |- 3:0:1:6 sdaf 65:240 active undef running
| `- 1:0:1:6 sdag 66:0   active undef running
`-+- policy='round-robin 0' prio=0 status=enabled
  |- 1:0:3:6 sdba 67:64  active undef running
  |- 1:0:2:6 sdar 66:176 active undef running
  |- 3:0:2:6 sdbj 67:208 active undef running
  `- 3:0:3:6 sdbs 68:96  active undef running

可以檢視到剛才新增的data5正常狀態

--編輯udev
[root@testrac1 rules.d]# pwd
/etc/udev/rules.d
[root@testrac1 rules.d]# ls -a
.                            60-pcmcia.rules         90-hal.rules               99-fuse.rules
..                           60-raw.rules            97-bluetooth-serial.rules
60-fprint-autosuspend.rules  70-persistent-cd.rules  98-kexec.rules
60-openct.rules              90-alsa.rules           99-asm-multipath.rules
我們使用的是99-asm-multipath.rules
[root@testrac1 rules.d]# vi 99-asm-multipath.rules
.........................
ENV{DM_NAME}=="data5",    OWNER:="grid", GROUP:="oinstall", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"
ENV{DM_NAME}=="data4",    OWNER:="grid", GROUP:="oinstall", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

把data5新增進去,如上圖所示,以上步驟兩個節點均要執行
重啟udev
[root@testrac1 etc]# start_udev
Starting udev: [  OK  ]
兩個節點均要執行

--檢查磁碟許可權
[root@testrac1 mapper]# pwd
/dev/mapper
[root@testrac1 mapper]# ls -lrt
total 0
crw-rw---- 1 root root 10, 236 Jan 11 17:34 control
lrwxrwxrwx 1 root root       8 Jan 11 17:34 reco1 -> ../dm-10
lrwxrwxrwx 1 root root       7 Jan 11 17:34 redo1 -> ../dm-9
lrwxrwxrwx 1 root root       7 Jan 11 17:34 ocrdisk3 -> ../dm-2
lrwxrwxrwx 1 root root       7 Jan 11 17:34 ocrdisk1 -> ../dm-4
lrwxrwxrwx 1 root root       7 Jan 11 17:34 data1 -> ../dm-5
lrwxrwxrwx 1 root root       7 Jan 11 17:34 VolGroup-lv_swap -> ../dm-1
lrwxrwxrwx 1 root root       7 Jan 11 17:34 VolGroup-lv_root -> ../dm-0
lrwxrwxrwx 1 root root       7 Jan 11 17:34 ocrdisk2 -> ../dm-3
lrwxrwxrwx 1 root root       7 Jan 11 17:34 data2 -> ../dm-6
lrwxrwxrwx 1 root root       7 Jan 11 17:35 data3 -> ../dm-7
lrwxrwxrwx 1 root root       8 Jan 11 17:35 data5 -> ../dm-11
lrwxrwxrwx 1 root root       7 Jan 11 17:35 data4 -> ../dm-8
data5對應的是/dm-11,檢查許可權
[root@testrac1 dev]# ls -lrt | grep dm
brw-rw----    1 root disk       8, 192 Jan 11 17:34 sdm
crw-rw----    1 root root       1,  12 Jan 11 17:34 oldmem
crw-rw----    1 root root      10,  62 Jan 11 17:34 cpu_dma_latency
brw-rw----    1 root disk     252,   1 Jan 11 17:34 dm-1
lrwxrwxrwx    1 root root            4 Jan 11 17:34 root -> dm-0
brw-rw----    1 root disk     252,   0 Jan 11 17:34 dm-0
brw-rw----    1 grid oinstall 252,   5 Jan 11 17:36 dm-5
brw-rw----    1 grid oinstall 252,  11 Jan 11 17:36 dm-11
brw-rw----    1 grid oinstall 252,   4 Jan 11 17:36 dm-4
brw-rw----    1 grid oinstall 252,   3 Jan 11 17:36 dm-3
brw-rw----    1 grid oinstall 252,   2 Jan 11 17:36 dm-2
brw-rw----    1 grid oinstall 252,  10 Jan 11 17:36 dm-10
brw-rw----    1 grid oinstall 252,   8 Jan 11 17:36 dm-8
brw-rw----    1 grid oinstall 252,   7 Jan 11 17:36 dm-7
brw-rw----    1 grid oinstall 252,   6 Jan 11 17:36 dm-6
brw-rw----    1 grid oinstall 252,   9 Jan 11 17:36 dm-9

可以看到dm-11的許可權已經授予了grid:oinstall

注意,兩個節點都要進行檢查,確保許可權是正確的,否則新增磁碟會報錯

--擴充dg
SQL> select name,path from v$asm_disk;

NAME                           PATH
-----------------------------------------------------
DATADG_0000                    /dev/mapper/data3
DATADG_0011                    /dev/mapper/data2
REDODG_0000                    /dev/mapper/data1

SQL> alter diskgroup datadg add disk '/dev/mapper/data5' rebalance power 8;

Diskgroup altered.

新增成功後,可以透過檢視是否成功

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

NAME                             TOTAL_MB    FREE_MB USABLE_FILE_MB
------------------------------ ---------- ---------- --------------
DATADG                            4198790     230530         230530
OCRDG                               15360      14434           4657
RECODG                             512078     507865         507865
REDODG                             204800      42117          42117

致此,新增磁碟到dg完成。

4、為表空間新增檔案

進入需要新增檔案的資料庫
[oracle@testrac1 ~]$ export ORACLE_SID=testdb1
[oracle@testrac1 ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jan 11 17:55:28 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> alter tablespace testdb_blob add datafile '+datadg' size 30720M;

Tablespace altered.

在這裡,千萬要注意使用"+"號,否則就會變成本地檔案,導致一個節點無法使用。

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

相關文章