SQL> select group_number,mount_status,name,path from v$asm_disk;
GROUP_NUMBER MOUNT_STATUS NAME PATH
------------ -------------- ------------------------------------------------------------ --------------------------------------------------
1 CACHED OCR_0002 /dev/asm-diskf
3 CACHED DATA_0000 /dev/asm-diskd
1 CACHED OCR_0001 /dev/asm-diskc
1 CACHED OCR_0000 /dev/asm-diskb
2 CACHED FRA_0000 /dev/asm-diske
0 CLOSED /dev/asm-diskh
0 CLOSED /dev/asm-diskg
7 rows selected.
SQL>
查询到有两个个盘还没有使用
查看已使用的磁盘容量信息
SQL> select INST_ID,group_number,name,type,total_mb/1024,free_mb/1024,state from gv$asm_diskgroup order by 2;
INST_ID GROUP_NUMBER NAME TYPE TOTAL_MB/1024 FREE_MB/1024 STATE
---------- ------------ ------------------------------------------------------------ ------------ ------------- ------------ ----------------------
2 1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
1 1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
1 2 FRA EXTERN 9.765625 9.41210938 CONNECTED
2 2 FRA EXTERN 9.765625 9.41210938 CONNECTED
1 3 DATA EXTERN 19.53125 17.4082031 CONNECTED
2 3 DATA EXTERN 19.53125 17.4082031 CONNECTED
6 rows selected.
SQL>
可以看到ocr冗余方式为正常,FRA和DATA为外部冗余。
1.查看数据库存储使用情况
SQL> set line 999 pages 999
SQL> select group_number,name,type,total_mb/1024,free_mb/1024,(total_mb-free_mb)/total_mb*100 pct,state from v$asm_diskgroup order by 1;
GROUP_NUMBER NAME TYPE TOTAL_MB/1024 FREE_MB/1024 PCT STATE
------------ ------------------------------------------------------------ ------------ ------------- ------------ ---------- ----------------------
1 OCR NORMAL 2.9296875 2.02539063 30.8666667 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 3.62 CONNECTED
3 DATA EXTERN 19.53125 17.4082031 10.87 CONNECTED
SQL>
2.检查可用磁盘,停止其他服务
1)停止对应数据库的业务
2)检查数据库会话及停止监听
SQL> select count(1) from v$session;
检查是否还有应用连接数据库,如果没有则停止监听
检查各个节点监听状态
[grid@hxdb2 ~]$ srvctl status listener -n hxdb1
Listener LISTENER is enabled on node(s): hxdb1
Listener LISTENER is running on node(s): hxdb1
[grid@hxdb2 ~]$ srvctl status listener -n hxdb2
Listener LISTENER is enabled on node(s): hxdb2
Listener LISTENER is running on node(s): hxdb2
[grid@hxdb2 ~]$
禁止监听自启动
srvctl disable listener -n hxdb1
srvctl disable listener -n hxdb2
停止监听
srvctl stop listener -n hxdb1
srvctl stop listener -n hxdb2
再次查看监听状态srvctl status listener -n hxdb1,srvctl status listener -n hxdb2
关闭数据库
检查数据库状态
[grid@hxdb2 ~]$ srvctl config database -d orcl
Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/11.2.0
Oracle user: oracle
Spfile: +DATA/orcl/spfileorcl.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: orcl
Database instances: orcl1,orcl2
Disk Groups: DATA,FRA
Mount point paths:
Services:
Type: RAC
Database is administrator managed
[grid@hxdb2 ~]$
关闭数据库: srvctl stop database -d orcl
关闭集群软件:crsctl stop crs
SQL> select group_number,header_status,MOUNT_STATUS,STATE,OS_MB,path from v$asm_disk where group_number=0 order by 6;
GROUP_NUMBER HEADER_STATUS MOUNT_STATUS STATE OS_MB PATH
------------ ------------------------ -------------- ---------------- ---------- --------------------------------------------------
0 CANDIDATE CLOSED NORMAL 1000 /dev/asm-diskg
0 CANDIDATE CLOSED NORMAL 1000 /dev/asm-diskh
SQL>
3.添加磁盘组,用来测试,使用sysasm用户登陆
[grid@hxdb2 ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 9 22:38:53 2021
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 Real Application Clusters and Automatic Storage Management options
SQL> create diskgroup TEST_COMS2DG EXTERNAL REDUNDANCY disk '/dev/asm-diskg','/dev/asm-diskh';
Diskgroup created.
SQL>
4.查看状态
SQL> col name for a30
SQL> set line 999 pages 999
SQL> select group_number,name,type,total_mb/1024,free_mb/1024,state from gv$asm_diskgroup order by 1;
GROUP_NUMBER NAME TYPE TOTAL_MB/1024 FREE_MB/1024 STATE
------------ ------------------------------ ------------ ------------- ------------ ----------------------
0 TEST_COMS2DG 0 0 DISMOUNTED
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
3 DATA EXTERN 19.53125 17.4082031 MOUNTED
3 DATA EXTERN 19.53125 17.4082031 MOUNTED
4 TEST_COMS2DG EXTERN 1.953125 1.90234375 MOUNTED
8 rows selected.
SQL>
5.测试删除磁盘组
SQL> drop diskgroup TEST_COMS2DG;
Diskgroup dropped.
6.再次查看,没有了上图的。0和4号组TEST_COMS2DG
SQL> col name for a30
SQL> set line 999 pages 999
SQL> select group_number,name,type,total_mb/1024,free_mb/1024,state from gv$asm_diskgroup order by 1;
GROUP_NUMBER NAME TYPE TOTAL_MB/1024 FREE_MB/1024 STATE
------------ ------------------------------ ------------ ------------- ------------ ----------------------
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
3 DATA EXTERN 19.53125 17.4082031 MOUNTED
3 DATA EXTERN 19.53125 17.4082031 MOUNTED
6 rows selected.
SQL>
7.正次加盘,rebalance power 11是什么意思?
这里rebalance power的级别从1到11中选择一个数值;数值越大,rebalance速度越快,对现有运行系统影响也越大。需要根据当时业务权衡选择适合的级别;
该命令只对本次rebalance操作有效。
SQL> alter diskgroup data add disk '/dev/asm-diskg','/dev/asm-diskh' rebalance power 11;
Diskgroup altered.
SQL>
8.查看添加是否完成,和上面第6点的图对比。增加了2GB的空间了。
SQL> select group_number,name,type,total_mb/1024,free_mb/1024,state from gv$asm_diskgroup order by 1;
GROUP_NUMBER NAME TYPE TOTAL_MB/1024 FREE_MB/1024 STATE
------------ ------------------------------ ------------ ------------- ------------ ----------------------
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
1 OCR NORMAL 2.9296875 2.02539063 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
2 FRA EXTERN 9.765625 9.41210938 MOUNTED
3 DATA EXTERN 21.484375 19.3574219 MOUNTED
3 DATA EXTERN 21.484375 19.3574219 MOUNTED
6 rows selected.
SQL>
9.新加磁盘重新平衡
SQL> alter diskgroup DATA rebalance power 10;
Diskgroup altered.
SQL>
判断是否平衡完成
SQL> select operation,est_minutes from v$asm_operation;
no rows selected
SQL>
10.检查磁盘,和图1对比。所有磁盘都是使用中,而DATA磁盘组3多了两块磁盘,g盘和h盘。
SQL> select group_number,mount_status,name,path from v$asm_disk;
GROUP_NUMBER MOUNT_STATUS NAME PATH
------------ -------------- ------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 CACHED OCR_0002 /dev/asm-diskf
3 CACHED DATA_0001 /dev/asm-diskg
3 CACHED DATA_0000 /dev/asm-diskd
3 CACHED DATA_0002 /dev/asm-diskh
1 CACHED OCR_0001 /dev/asm-diskc
1 CACHED OCR_0000 /dev/asm-diskb
2 CACHED FRA_0000 /dev/asm-diske
7 rows selected.
SQL>
11.磁盘扩容注意事项