OS: Redhat7.6

DB: Oracle RAC+DG

问题:

主库、备库CJCTBS表空间使用率超过80,需要添加100G数据文件,使表空间使用率降到75%以下。

准备:

主节点ASM磁盘组空间充足,可以直接添加100G数据文件,但是备节点ASM磁盘组空间不足100G,在扩容表空间前,需要先扩容备库ASM磁盘组。

备库扩容完磁盘组后,在主库添加数据文件,新数据文件会自动同步到备库。

具体实施过程如下:

1 登录主库1节点,查看存储工程师添加的新磁盘

[oracle@cjcdb1 rules.d]$ ls -l /dev/emcpower*
brw-rw---- 1 root disk 120,  592 Sep 28 16:12 /dev/emcpoweral
brw-rw---- 1 root disk 120,  608 Sep 28 16:12 /dev/emcpoweram
brw-rw---- 1 root disk 120,  624 Sep 28 16:12 /dev/emcpoweran
brw-rw---- 1 root disk 120,  640 Sep 28 16:12 /dev/emcpowerao
brw-rw---- 1 root disk 120,  656 Sep 28 16:12 /dev/emcpowerap
brw-rw---- 1 root disk 120,  672 Sep 28 16:12 /dev/emcpoweraq
brw-rw---- 1 root disk 120,  688 Sep 28 16:12 /dev/emcpowerar
brw-rw---- 1 root disk 120,  704 Sep 28 16:12 /dev/emcpoweras
brw-rw---- 1 root disk 120,  720 Sep 28 16:12 /dev/emcpowerat
brw-rw---- 1 root disk 120,  736 Sep 28 16:12 /dev/emcpowerau
brw-rw---- 1 root disk 120,  752 Sep 28 16:12 /dev/emcpowerav
brw-rw---- 1 root disk 120,  768 Sep 28 16:12 /dev/emcpoweraw
brw-rw---- 1 root disk 120,  784 Sep 28 16:12 /dev/emcpowerax
brw-rw---- 1 root disk 120,  800 Sep 28 16:12 /dev/emcpoweray
brw-rw---- 1 root disk 120,  816 Sep 28 16:12 /dev/emcpoweraz
......

2 查看现有磁盘信息

SQL> set line 200
col path for a40
select group_number,mount_status,header_status,path,total_mb,free_mb from v$asm_disk;SQL> SQL> 
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   2 CACHED  MEMBER  /dev/raw/raw2255935    1771
   2 CACHED  MEMBER  /dev/raw/raw2455935    1770
   2 CACHED  MEMBER  /dev/raw/raw2355935    1766
   2 CACHED  MEMBER  /dev/raw/raw2155935    1768
   2 CACHED  MEMBER  /dev/raw/raw1855935    1764
   2 CACHED  MEMBER  /dev/raw/raw1755935    1769
   2 CACHED  MEMBER  /dev/raw/raw1955935    1773
   2 CACHED  MEMBER  /dev/raw/raw2055935    1770
   5 CACHED  MEMBER  /dev/raw/raw1655935   49796
   2 CACHED  MEMBER  /dev/raw/raw1555935    1767
   2 CACHED  MEMBER  /dev/raw/raw1455935    1766
   3 CACHED  MEMBER  /dev/raw/raw1355935   16798
   2 CACHED  MEMBER  /dev/raw/raw1255935    1773
   2 CACHED  MEMBER  /dev/raw/raw1155935    1769
   2 CACHED  MEMBER  /dev/raw/raw1055935    1766
   2 CACHED  MEMBER  /dev/raw/raw8 55935    1770
   2 CACHED  MEMBER  /dev/raw/raw9 55935    1765
   4 CACHED  MEMBER  /dev/raw/raw6 55935   54450
   5 CACHED  MEMBER  /dev/raw/raw7 55935   49792
   2 CACHED  MEMBER  /dev/raw/raw2 55935    1763
   2 CACHED  MEMBER  /dev/raw/raw3 55935    1770
   3 CACHED  MEMBER  /dev/raw/raw4 55935   16792
   3 CACHED  MEMBER  /dev/raw/raw5 55935   16798
   1 CACHED  MEMBER  /dev/raw/raw1  2062    1666
   2 CACHED  MEMBER  /dev/raw/raw2955935    1866
   2 CACHED  MEMBER  /dev/raw/raw2855935    1863
   2 CACHED  MEMBER  /dev/raw/raw2755935    1860
   2 CACHED  MEMBER  /dev/raw/raw2655935    1865
   2 CACHED  MEMBER  /dev/raw/raw2555935    1866
   0 CLOSED  CANDIDATE  /dev/raw/raw34    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw36    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw33    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw32    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw30    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw41    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw46    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw31    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw44    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw42    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw51    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw43    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw37    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw38    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw35    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw49    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw48    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw40    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw39    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw45    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw52    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw53    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw47    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw50    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw54    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw56    0       0
   0 CLOSED  CANDIDATE  /dev/raw/raw55    0       0
56 rows selected.

3 检查磁盘组使用率

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

4 备份并修改udev规则文件

[oracle@cjcdb1 rules.d]$ pwd
/etc/udev/rules.d
[oracle@cjcdb1 rules.d]$ ls -rtl
total 52
-rw-r--r--. 1 root root 1060 Jun 29  2010 60-pcmcia.rules
-rw-r--r--. 1 root root 2486 Jun 30  2010 97-bluetooth-serial.rules
-rw-r--r--. 1 root root 1652 Aug 26  2010 60-fprint-autosuspend.rules
-rw-r--r--  1 root root   77 Mar 26  2011 05-udev-pp.rules
-rw-r--r--. 1 root root   83 Jun 19  2014 90-hal.rules
-rw-r--r--. 1 root root   54 Jan  8  2016 99-fuse.rules
-rw-r--r--. 1 root root  320 Mar 24  2016 90-alsa.rules
-rw-r--r--. 1 root root  304 Mar 29  2016 98-kexec.rules
-rw-r--r--. 1 root root 1563 Sep 22  2017 70-persistent-net.rules
-rw-r--r--  1 root root  790 Sep 22  2017 70-persistent-cd.rules
-rw-r--r--  1 root root  190 Sep 25  2017 55-usm.rules
-rw-r--r--  1 root root 2065 Jul  6 19:09 60-raw.rules.bak20200706
-rw-r--r--  1 root root 2420 Jul  6 19:11 60-raw.rules

[oracle@cjcdb1 rules.d]$ pwd
/etc/udev/rules.d
[oracle@cjcdb1 rules.d]$ cat 60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="emcpowera", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="emcpowerg", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="emcpowerf", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="emcpowere", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="emcpowerd", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="emcpowerc", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="emcpowerb", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="emcpowerq", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add", KERNEL=="emcpowerp", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add", KERNEL=="emcpowerr", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add", KERNEL=="emcpowers", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add", KERNEL=="emcpowert", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add", KERNEL=="emcpoweru", RUN+="/bin/raw /dev/raw/raw13 %N"
ACTION=="add", KERNEL=="emcpowerv", RUN+="/bin/raw /dev/raw/raw14 %N"
ACTION=="add", KERNEL=="emcpowerw", RUN+="/bin/raw /dev/raw/raw15 %N"
ACTION=="add", KERNEL=="emcpowerx", RUN+="/bin/raw /dev/raw/raw16 %N"
ACTION=="add", KERNEL=="emcpowery", RUN+="/bin/raw /dev/raw/raw17 %N"
ACTION=="add", KERNEL=="emcpowerz", RUN+="/bin/raw /dev/raw/raw18 %N"
ACTION=="add", KERNEL=="emcpoweraa", RUN+="/bin/raw /dev/raw/raw19 %N"
ACTION=="add", KERNEL=="emcpowerab", RUN+="/bin/raw /dev/raw/raw20 %N"
ACTION=="add", KERNEL=="emcpowerac", RUN+="/bin/raw /dev/raw/raw21 %N"
ACTION=="add", KERNEL=="emcpowerad", RUN+="/bin/raw /dev/raw/raw22 %N"
ACTION=="add", KERNEL=="emcpoweraf", RUN+="/bin/raw /dev/raw/raw23 %N"
ACTION=="add", KERNEL=="emcpowerae", RUN+="/bin/raw /dev/raw/raw24 %N"
ACTION=="add", KERNEL=="emcpowerag", RUN+="/bin/raw /dev/raw/raw25 %N"
ACTION=="add", KERNEL=="emcpowerah", RUN+="/bin/raw /dev/raw/raw26 %N"
ACTION=="add", KERNEL=="emcpowerai", RUN+="/bin/raw /dev/raw/raw27 %N"
ACTION=="add", KERNEL=="emcpoweraj", RUN+="/bin/raw /dev/raw/raw28 %N"
ACTION=="add", KERNEL=="emcpowerak", RUN+="/bin/raw /dev/raw/raw29 %N"
ACTION=="add", KERNEL=="raw*", OWNER="grid",GROUP="asmadmin",MODE="660"
[root@cjcdb1 rules.d]$ cp 60-raw.rules 60-raw.rules.bak20200928
[root@cjcdb1 rules.d]$ vi 60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="emcpowera", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="emcpowerg", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="emcpowerf", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="emcpowere", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="emcpowerd", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="emcpowerc", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="emcpowerb", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="emcpowerq", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add", KERNEL=="emcpowerp", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add", KERNEL=="emcpowerr", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add", KERNEL=="emcpowers", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add", KERNEL=="emcpowert", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add", KERNEL=="emcpoweru", RUN+="/bin/raw /dev/raw/raw13 %N"
ACTION=="add", KERNEL=="emcpowerv", RUN+="/bin/raw /dev/raw/raw14 %N"
ACTION=="add", KERNEL=="emcpowerw", RUN+="/bin/raw /dev/raw/raw15 %N"
ACTION=="add", KERNEL=="emcpowerx", RUN+="/bin/raw /dev/raw/raw16 %N"
ACTION=="add", KERNEL=="emcpowery", RUN+="/bin/raw /dev/raw/raw17 %N"
ACTION=="add", KERNEL=="emcpowerz", RUN+="/bin/raw /dev/raw/raw18 %N"
ACTION=="add", KERNEL=="emcpoweraa", RUN+="/bin/raw /dev/raw/raw19 %N"
ACTION=="add", KERNEL=="emcpowerab", RUN+="/bin/raw /dev/raw/raw20 %N"
ACTION=="add", KERNEL=="emcpowerac", RUN+="/bin/raw /dev/raw/raw21 %N"
ACTION=="add", KERNEL=="emcpowerad", RUN+="/bin/raw /dev/raw/raw22 %N"
ACTION=="add", KERNEL=="emcpoweraf", RUN+="/bin/raw /dev/raw/raw23 %N"
ACTION=="add", KERNEL=="emcpowerae", RUN+="/bin/raw /dev/raw/raw24 %N"
ACTION=="add", KERNEL=="emcpowerag", RUN+="/bin/raw /dev/raw/raw25 %N"
ACTION=="add", KERNEL=="emcpowerah", RUN+="/bin/raw /dev/raw/raw26 %N"
ACTION=="add", KERNEL=="emcpowerai", RUN+="/bin/raw /dev/raw/raw27 %N"
ACTION=="add", KERNEL=="emcpoweraj", RUN+="/bin/raw /dev/raw/raw28 %N"
ACTION=="add", KERNEL=="emcpowerak", RUN+="/bin/raw /dev/raw/raw29 %N"
ACTION=="add", KERNEL=="emcpoweral", RUN+="/bin/raw /dev/raw/raw30 %N"
ACTION=="add", KERNEL=="emcpoweram", RUN+="/bin/raw /dev/raw/raw31 %N"
ACTION=="add", KERNEL=="emcpoweran", RUN+="/bin/raw /dev/raw/raw32 %N"
ACTION=="add", KERNEL=="emcpowerao", RUN+="/bin/raw /dev/raw/raw33 %N"
ACTION=="add", KERNEL=="emcpowerap", RUN+="/bin/raw /dev/raw/raw34 %N"
ACTION=="add", KERNEL=="emcpoweraq", RUN+="/bin/raw /dev/raw/raw35 %N"
ACTION=="add", KERNEL=="emcpowerar", RUN+="/bin/raw /dev/raw/raw36 %N"
ACTION=="add", KERNEL=="emcpoweras", RUN+="/bin/raw /dev/raw/raw37 %N"
ACTION=="add", KERNEL=="emcpowerat", RUN+="/bin/raw /dev/raw/raw38 %N"
ACTION=="add", KERNEL=="emcpowerau", RUN+="/bin/raw /dev/raw/raw39 %N"
ACTION=="add", KERNEL=="emcpowerav", RUN+="/bin/raw /dev/raw/raw40 %N"
ACTION=="add", KERNEL=="emcpoweraw", RUN+="/bin/raw /dev/raw/raw41 %N"
ACTION=="add", KERNEL=="emcpowerax", RUN+="/bin/raw /dev/raw/raw42 %N"
ACTION=="add", KERNEL=="emcpoweray", RUN+="/bin/raw /dev/raw/raw43 %N"
ACTION=="add", KERNEL=="emcpoweraz", RUN+="/bin/raw /dev/raw/raw44 %N"
ACTION=="add", KERNEL=="emcpowerba", RUN+="/bin/raw /dev/raw/raw45 %N"
ACTION=="add", KERNEL=="emcpowerbb", RUN+="/bin/raw /dev/raw/raw46 %N"
ACTION=="add", KERNEL=="emcpowerbc", RUN+="/bin/raw /dev/raw/raw47 %N"
ACTION=="add", KERNEL=="emcpowerbd", RUN+="/bin/raw /dev/raw/raw48 %N"
ACTION=="add", KERNEL=="emcpowerbe", RUN+="/bin/raw /dev/raw/raw49 %N"
ACTION=="add", KERNEL=="emcpowerbf", RUN+="/bin/raw /dev/raw/raw50 %N"
ACTION=="add", KERNEL=="emcpowerbg", RUN+="/bin/raw /dev/raw/raw51 %N"
ACTION=="add", KERNEL=="emcpowerbh", RUN+="/bin/raw /dev/raw/raw52 %N"
ACTION=="add", KERNEL=="emcpowerbi", RUN+="/bin/raw /dev/raw/raw53 %N"
ACTION=="add", KERNEL=="emcpowerbj", RUN+="/bin/raw /dev/raw/raw54 %N"
ACTION=="add", KERNEL=="emcpowerbk", RUN+="/bin/raw /dev/raw/raw55 %N"
ACTION=="add", KERNEL=="emcpowerbl", RUN+="/bin/raw /dev/raw/raw56 %N"
ACTION=="add", KERNEL=="raw*", OWNER="grid",GROUP="asmadmin",MODE="660"

5 检查集群状态

[grid@cjcdb1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.BJ_HPL_CJCDB_OCR.dg
               ONLINE  ONLINE       cjcdb1                                       
ora.CHENDB_ARCH.dg
               ONLINE  ONLINE       cjcdb1                                       
ora.CHENDB_DATA.dg
               ONLINE  ONLINE       cjcdb1                                       
ora.CJCDB_ARCH.dg
               ONLINE  ONLINE       cjcdb1                                       
ora.CJCDB_DATA.dg
               ONLINE  ONLINE       cjcdb1                                       
ora.LISTENER.lsnr
               ONLINE  ONLINE       cjcdb1                                       
ora.asm
               ONLINE  ONLINE       cjcdb1                   Started             
ora.gsd
               OFFLINE OFFLINE      cjcdb1                                       
ora.net1.network
               ONLINE  ONLINE       cjcdb1                                       
ora.ons
               ONLINE  ONLINE       cjcdb1                                       
ora.registry.acfs
               ONLINE  ONLINE       cjcdb1                                       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       cjcdb1                                       
ora.chendb.db
      1        OFFLINE OFFLINE                                                   
      2        OFFLINE OFFLINE                                                   
ora.cjcdb.db
      1        ONLINE  ONLINE       cjcdb1                   Open                
      2        OFFLINE OFFLINE                                                   
ora.cvu
      1        ONLINE  ONLINE       cjcdb1                                       
ora.oc4j
      1        ONLINE  ONLINE       cjcdb1                                       
ora.scan1.vip
      1        ONLINE  ONLINE       cjcdb1                                       
ora.cjcdb1.vip
      1        ONLINE  ONLINE       cjcdb1                                       
ora.cjcdb2.vip
      1        ONLINE  INTERMEDIATE cjcdb1                   FAILED OVER

6 重新加载并生效udev规则

/sbin/udevadm control --reload-rules
/sbin/udevadm trigger --subsystem-match=block --action=add
或
/sbin/udevadm trigger

7 检查vip是否发生漂移

su - grid
crsctl stat res -t
如果发生了漂移,需要重定向vip所在节点
srvctl relocate vip -i vip名称 -n 节点hostname名称

8 grid用户执行asmca,向磁盘组添加磁盘

su - grid
export DISPLAY=10.116.184.110:0.0 【xmanager端口号】
asmca

9 查看数据平衡

SQL> set line 200
SQL> select group_number,operation,state,power,actual,sofar,est_work,est_rate,est_minutes,error_code from v$asm_operation;
GROUP_NUMBER OPERA STAT      POWER     ACTUAL   SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
   2 REBAL RUN 1    1   11013     615144  2389       252

10 检查磁盘信息

SQL> set line 200
col path for a40
select group_number,mount_status,header_status,path,total_mb,free_mb from v$asm_disk;SQL> SQL> 
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   0 CLOSED  CANDIDATE  /dev/raw/raw56    0       0
   2 CACHED  MEMBER  /dev/raw/raw2255935    3000
   2 CACHED  MEMBER  /dev/raw/raw2455935    2999
   2 CACHED  MEMBER  /dev/raw/raw2355935    2994
   2 CACHED  MEMBER  /dev/raw/raw2155935    3001
   2 CACHED  MEMBER  /dev/raw/raw1855935    2999
   2 CACHED  MEMBER  /dev/raw/raw1755935    3003
   2 CACHED  MEMBER  /dev/raw/raw1955935    3006
   2 CACHED  MEMBER  /dev/raw/raw2055935    3003
   5 CACHED  MEMBER  /dev/raw/raw1655935   54382
   2 CACHED  MEMBER  /dev/raw/raw1555935    2998
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   2 CACHED  MEMBER  /dev/raw/raw1455935    2996
   3 CACHED  MEMBER  /dev/raw/raw1355935   16798
   2 CACHED  MEMBER  /dev/raw/raw1255935    3002
   2 CACHED  MEMBER  /dev/raw/raw1155935    3000
   2 CACHED  MEMBER  /dev/raw/raw1055935    2994
   2 CACHED  MEMBER  /dev/raw/raw8 55935    2999
   2 CACHED  MEMBER  /dev/raw/raw9 55935    2997
   4 CACHED  MEMBER  /dev/raw/raw6 55935   54450
   5 CACHED  MEMBER  /dev/raw/raw7 55935   54381
   2 CACHED  MEMBER  /dev/raw/raw2 55935    2995
   2 CACHED  MEMBER  /dev/raw/raw3 55935    3000
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   3 CACHED  MEMBER  /dev/raw/raw4 55935   16792
   3 CACHED  MEMBER  /dev/raw/raw5 55935   16798
   1 CACHED  MEMBER  /dev/raw/raw1  2062    1666
   2 CACHED  MEMBER  /dev/raw/raw2955935    3067
   2 CACHED  MEMBER  /dev/raw/raw2855935    3061
   2 CACHED  MEMBER  /dev/raw/raw2755935    3066
   2 CACHED  MEMBER  /dev/raw/raw2655935    3065
   2 CACHED  MEMBER  /dev/raw/raw2555935    3064
   2 CACHED  MEMBER  /dev/raw/raw5555935   54587
   2 CACHED  MEMBER  /dev/raw/raw5455935   54587
   2 CACHED  MEMBER  /dev/raw/raw5055935   54587
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   2 CACHED  MEMBER  /dev/raw/raw4755935   54586
   2 CACHED  MEMBER  /dev/raw/raw5355935   54587
   2 CACHED  MEMBER  /dev/raw/raw5255935   54586
   2 CACHED  MEMBER  /dev/raw/raw4555935   54586
   2 CACHED  MEMBER  /dev/raw/raw3955935   54586
   2 CACHED  MEMBER  /dev/raw/raw4055935   54587
   2 CACHED  MEMBER  /dev/raw/raw4855935   54586
   2 CACHED  MEMBER  /dev/raw/raw4955935   54585
   5 CACHED  MEMBER  /dev/raw/raw3555935   54387
   2 CACHED  MEMBER  /dev/raw/raw3855935   54587
   2 CACHED  MEMBER  /dev/raw/raw3755935   54586
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   2 CACHED  MEMBER  /dev/raw/raw4355935   54586
   2 CACHED  MEMBER  /dev/raw/raw5155935   54587
   2 CACHED  MEMBER  /dev/raw/raw4255935   54587
   2 CACHED  MEMBER  /dev/raw/raw4455935   54587
   5 CACHED  MEMBER  /dev/raw/raw3155935   54385
   2 CACHED  MEMBER  /dev/raw/raw4655935   54587
   2 CACHED  MEMBER  /dev/raw/raw4155935   54587
   5 CACHED  MEMBER  /dev/raw/raw3055935   54386
   5 CACHED  MEMBER  /dev/raw/raw3255935   54384
   5 CACHED  MEMBER  /dev/raw/raw3355935   54386
   2 CACHED  MEMBER  /dev/raw/raw3655935   54587
GROUP_NUMBER MOUNT_S HEADER_STATU PATH     TOTAL_MB FREE_MB
------------ ------- ------------ ---------------------------------------- ---------- ----------
   5 CACHED  MEMBER  /dev/raw/raw3455935   54384
56 rows selected.

11 查看ASM告警日志

Mon Sep 28 18:59:53 2020
SQL> ALTER DISKGROUP CPMDB_DATA ADD  DISK '/dev/raw/raw36' SIZE 55935M ,
'/dev/raw/raw37' SIZE 55935M ,
'/dev/raw/raw38' SIZE 55935M ,
'/dev/raw/raw39' SIZE 55935M ,
'/dev/raw/raw40' SIZE 55935M ,
'/dev/raw/raw41' SIZE 55935M ,
'/dev/raw/raw42' SIZE 55935M ,
'/dev/raw/raw43' SIZE 55935M ,
'/dev/raw/raw44' SIZE 55935M ,
'/dev/raw/raw45' SIZE 55935M ,
'/dev/raw/raw46' SIZE 55935M ,
'/dev/raw/raw47' SIZE 55935M ,
'/dev/raw/raw48' SIZE 55935M ,
'/dev/raw/raw49' SIZE 55935M ,
'/dev/raw/raw50' SIZE 55935M ,
'/dev/raw/raw51' SIZE 55935M ,
'/dev/raw/raw52' SIZE 55935M ,
'/dev/raw/raw53' SIZE 55935M ,
'/dev/raw/raw54' SIZE 55935M ,
'/dev/raw/raw55' SIZE 55935M /* ASMCA */ 
NOTE: GroupBlock outside rolling migration privileged region
NOTE: Assigning number (2,22) to disk (/dev/raw/raw36)
NOTE: Assigning number (2,23) to disk (/dev/raw/raw37)
NOTE: Assigning number (2,24) to disk (/dev/raw/raw38)
NOTE: Assigning number (2,25) to disk (/dev/raw/raw39)
NOTE: Assigning number (2,26) to disk (/dev/raw/raw40)
NOTE: Assigning number (2,27) to disk (/dev/raw/raw41)
NOTE: Assigning number (2,28) to disk (/dev/raw/raw42)
NOTE: Assigning number (2,29) to disk (/dev/raw/raw43)
NOTE: Assigning number (2,30) to disk (/dev/raw/raw44)
NOTE: Assigning number (2,31) to disk (/dev/raw/raw45)
NOTE: Assigning number (2,32) to disk (/dev/raw/raw46)
NOTE: Assigning number (2,33) to disk (/dev/raw/raw47)
NOTE: Assigning number (2,34) to disk (/dev/raw/raw48)
NOTE: Assigning number (2,35) to disk (/dev/raw/raw49)
NOTE: Assigning number (2,36) to disk (/dev/raw/raw50)
NOTE: Assigning number (2,37) to disk (/dev/raw/raw51)
NOTE: Assigning number (2,38) to disk (/dev/raw/raw52)
NOTE: Assigning number (2,39) to disk (/dev/raw/raw53)
NOTE: Assigning number (2,40) to disk (/dev/raw/raw54)
NOTE: Assigning number (2,41) to disk (/dev/raw/raw55)
NOTE: requesting all-instance membership refresh for group=2
NOTE: initializing header on grp 2 disk CPMDB_DATA_0022
NOTE: initializing header on grp 2 disk CPMDB_DATA_0023
NOTE: initializing header on grp 2 disk CPMDB_DATA_0024
NOTE: initializing header on grp 2 disk CPMDB_DATA_0025
NOTE: initializing header on grp 2 disk CPMDB_DATA_0026
NOTE: initializing header on grp 2 disk CPMDB_DATA_0027
NOTE: initializing header on grp 2 disk CPMDB_DATA_0028
NOTE: initializing header on grp 2 disk CPMDB_DATA_0029
NOTE: initializing header on grp 2 disk CPMDB_DATA_0030
NOTE: initializing header on grp 2 disk CPMDB_DATA_0031
NOTE: initializing header on grp 2 disk CPMDB_DATA_0032
NOTE: initializing header on grp 2 disk CPMDB_DATA_0033
NOTE: initializing header on grp 2 disk CPMDB_DATA_0034
NOTE: initializing header on grp 2 disk CPMDB_DATA_0035
NOTE: initializing header on grp 2 disk CPMDB_DATA_0036
NOTE: initializing header on grp 2 disk CPMDB_DATA_0037
NOTE: initializing header on grp 2 disk CPMDB_DATA_0038
NOTE: initializing header on grp 2 disk CPMDB_DATA_0039
NOTE: initializing header on grp 2 disk CPMDB_DATA_0040
NOTE: initializing header on grp 2 disk CPMDB_DATA_0041
NOTE: requesting all-instance disk validation for group=2
Mon Sep 28 18:59:54 2020
NOTE: skipping rediscovery for group 2/0x85fca6b4 (CPMDB_DATA) on local instance.
NOTE: requesting all-instance disk validation for group=2
NOTE: skipping rediscovery for group 2/0x85fca6b4 (CPMDB_DATA) on local instance.
NOTE: initiating PST update: grp = 2
Mon Sep 28 18:59:54 2020
GMON updating group 2 at 23 for pid 37, osid 12605
NOTE: PST update grp = 2 completed successfully 
NOTE: membership refresh pending for group 2/0x85fca6b4 (CPMDB_DATA)
GMON querying group 2 at 24 for pid 18, osid 20833
NOTE: cache opening disk 22 of grp 2: CPMDB_DATA_0022 path:/dev/raw/raw36
NOTE: cache opening disk 23 of grp 2: CPMDB_DATA_0023 path:/dev/raw/raw37
NOTE: cache opening disk 24 of grp 2: CPMDB_DATA_0024 path:/dev/raw/raw38
NOTE: cache opening disk 25 of grp 2: CPMDB_DATA_0025 path:/dev/raw/raw39
NOTE: cache opening disk 26 of grp 2: CPMDB_DATA_0026 path:/dev/raw/raw40
NOTE: cache opening disk 27 of grp 2: CPMDB_DATA_0027 path:/dev/raw/raw41
NOTE: cache opening disk 28 of grp 2: CPMDB_DATA_0028 path:/dev/raw/raw42
NOTE: cache opening disk 29 of grp 2: CPMDB_DATA_0029 path:/dev/raw/raw43
NOTE: cache opening disk 30 of grp 2: CPMDB_DATA_0030 path:/dev/raw/raw44
NOTE: cache opening disk 31 of grp 2: CPMDB_DATA_0031 path:/dev/raw/raw45
NOTE: cache opening disk 32 of grp 2: CPMDB_DATA_0032 path:/dev/raw/raw46
NOTE: cache opening disk 33 of grp 2: CPMDB_DATA_0033 path:/dev/raw/raw47
NOTE: cache opening disk 34 of grp 2: CPMDB_DATA_0034 path:/dev/raw/raw48
NOTE: cache opening disk 35 of grp 2: CPMDB_DATA_0035 path:/dev/raw/raw49
NOTE: cache opening disk 36 of grp 2: CPMDB_DATA_0036 path:/dev/raw/raw50
NOTE: cache opening disk 37 of grp 2: CPMDB_DATA_0037 path:/dev/raw/raw51
NOTE: cache opening disk 38 of grp 2: CPMDB_DATA_0038 path:/dev/raw/raw52
NOTE: cache opening disk 39 of grp 2: CPMDB_DATA_0039 path:/dev/raw/raw53
NOTE: cache opening disk 40 of grp 2: CPMDB_DATA_0040 path:/dev/raw/raw54
NOTE: cache opening disk 41 of grp 2: CPMDB_DATA_0041 path:/dev/raw/raw55
GMON querying group 2 at 25 for pid 18, osid 20833
SUCCESS: refreshed membership for 2/0x85fca6b4 (CPMDB_DATA)
SUCCESS: ALTER DISKGROUP CPMDB_DATA ADD  DISK '/dev/raw/raw36' SIZE 55935M ,
'/dev/raw/raw37' SIZE 55935M ,
'/dev/raw/raw38' SIZE 55935M ,
'/dev/raw/raw39' SIZE 55935M ,
'/dev/raw/raw40' SIZE 55935M ,
'/dev/raw/raw41' SIZE 55935M ,
'/dev/raw/raw42' SIZE 55935M ,
'/dev/raw/raw43' SIZE 55935M ,
'/dev/raw/raw44' SIZE 55935M ,
'/dev/raw/raw45' SIZE 55935M ,
'/dev/raw/raw46' SIZE 55935M ,
'/dev/raw/raw47' SIZE 55935M ,
'/dev/raw/raw48' SIZE 55935M ,
'/dev/raw/raw49' SIZE 55935M ,
'/dev/raw/raw50' SIZE 55935M ,
'/dev/raw/raw51' SIZE 55935M ,
'/dev/raw/raw52' SIZE 55935M ,
'/dev/raw/raw53' SIZE 55935M ,
'/dev/raw/raw54' SIZE 55935M ,
'/dev/raw/raw55' SIZE 55935M /* ASMCA */
NOTE: Attempting voting file refresh on diskgroup CPMDB_DATA
NOTE: Refresh completed on diskgroup CPMDB_DATA. No voting file found.
Mon Sep 28 19:00:02 2020
NOTE: GroupBlock outside rolling migration privileged region
NOTE: requesting all-instance membership refresh for group=5
Mon Sep 28 19:00:05 2020
NOTE: membership refresh pending for group 5/0x770ca6b3 (CPMDB_ARCH)
Mon Sep 28 19:00:08 2020
GMON querying group 5 at 26 for pid 18, osid 20833
SUCCESS: refreshed membership for 5/0x770ca6b3 (CPMDB_ARCH)
NOTE: Attempting voting file refresh on diskgroup CPMDB_ARCH
NOTE: Refresh completed on diskgroup CPMDB_ARCH. No voting file found.
Mon Sep 28 19:01:02 2020
NOTE: stopping process ARB0
SUCCESS: rebalance completed for group 5/0x770ca6b3 (CPMDB_ARCH)
NOTE: ASM did background COD recovery for group 2/0x85fca6b4 (CPMDB_DATA)
NOTE: starting rebalance of group 2/0x85fca6b4 (CPMDB_DATA) at power 1
Starting background process ARB0
Mon Sep 28 19:01:05 2020
ARB0 started with pid=42, OS id=17837 
NOTE: assigning ARB0 to group 2/0x85fca6b4 (CPMDB_DATA) with 1 parallel I/O cellip.ora not found.

12 再次检查ASM是否平衡完成

SQL> set line 200
SQL> select group_number,operation,state,power,actual,sofar,est_work,est_rate,est_minutes,error_code from v$asm_operation;
no rows selected

13 开始扩容表空间

登录主库

查看数据文件

select file_name from dba_data_files where tablespace_name='TSP_CJC' order by file_id;

查看表空间使用率

set pagesize 9999 
set pagesize 9999 
set linesize 132 
select
a.tablespace_name,
a.Total_mb,
f.Free_mb,
round(a.total_MB-f.free_mb,2) Used_mb,
round((f.free_MB/a.total_MB)*100) "%_Free"
from
(select tablespace_name, sum(bytes/(1024*1024)) total_MB from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) free_MB from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name(+)
order by "%_Free"
/

检查参数

show parameter db_file_name_convert
show parameter standby_file_management
show parameter db_create_file_dest

扩容表空间

alter tablespace TSP_CJC add datafile '+BJ_SY_STMM_DATA/sycpmdb/datafile/cpm_data37.dbf' SIZE 30g;
alter tablespace TSP_CJC add datafile '+BJ_SY_STMM_DATA/sycpmdb/datafile/cpm_data38.dbf' SIZE 30g;
alter tablespace TSP_CJC add datafile '+BJ_SY_STMM_DATA/sycpmdb/datafile/cpm_data39.dbf' SIZE 30g;

检查备库表空间是否同步

select file_name from dba_data_files where tablespace_name='TSP_CJC' order by file_id;

由于DG备库没有启用实时应用,需要主库手动切一次归档

alter system archive log current;

检查备库告警日志

Mon Sep 28 20:34:47 2020
Successfully added datafile 46 to media recovery
Datafile #46: '+CPMDB_DATA/cpmdb/datafile/tsp_cjc.347.1052339583'
Mon Sep 28 20:36:26 2020
Successfully added datafile 47 to media recovery
Datafile #47: '+CPMDB_DATA/cpmdb/datafile/tsp_cjc.348.1052339687'

查看表备库数据文件

SQL> select file_name from dba_data_files where tablespace_name='TSP_CJC' order by file_id;

文章来源:http://blog.itpub.net/29785807/viewspace-2725387/

最后修改:2022 年 02 月 17 日
如果觉得我的文章对你有用,请随意赞赏