[Oracle Cloud] Database Cloud Service(DBCS) の ストレージ空き容量を調べる


はじめに

Database Cloud Service(以下 DBCS) のOSファイルシステム領域、データベース表領域、使用可能なデータ・ストレージのそれぞれで使用量、空き容量の確認をしてみました。

Oracle Databaseの表領域として使われる「使用可能なデータ・ストレージ」のサイズを選択すると合計ストレージ(GB)の領域が確保されます。
DBCSのではOracle Database のディスク領域管理に ASM (Automatic Storage Management) が使われていて「使用可能なデータ・ストレージ」は ASMの「DATA」ディスクグループとして確保されます。
そのほかにASMの「RECO」ディスクグループとして256GB、OSのファイルシステムとして200GBが確保され、「使用可能なデータ・ストレージ」の256 GB+ RECOの 256 GB+ ファイルシステムの 200GB 合計 712 GBが合計ストレージ・サイズ(GB)となっています。

前提

コマンド例は以下の環境で確認

  • DBシステム・バージョン:19.9.0.0.0
  • データベース・バージョン:12.2.0.1.201020
  • シェイプ:VM.Standard2.1 (シングルノード)
  • 作成時に「使用可能なデータ・ストレージ (GB)」は"256"を指定

OS領域の確認

OS領域は opc ユーザで データベースノードに ssh 接続後 「df -h」コマンドで確認できます。

コマンド

df -h 

実行例

[opc@db01 ~]$ df -h
Filesystem                           Size  Used Avail Use% Mounted on
devtmpfs                             7.2G     0  7.2G   0% /dev
tmpfs                                7.3G  845M  6.4G  12% /dev/shm
tmpfs                                7.3G   25M  7.2G   1% /run
tmpfs                                7.3G     0  7.3G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys0-LogVolRoot   45G  8.5G   34G  21% /
/dev/sda2                            1.4G   99M  1.2G   8% /boot
/dev/sda1                            486M  8.6M  477M   2% /boot/efi
/dev/sdj                             197G   21G  166G  12% /u01
tmpfs                                1.5G     0  1.5G   0% /run/user/102
/dev/asm/commonstore-73              5.0G  319M  4.7G   7% /opt/oracle/dcs/commonstore
tmpfs                                1.5G     0  1.5G   0% /run/user/54322

Size : 割り当て領域
Used : 使用量
Use% : 使用率

/u01 が 197G, / が 45G 割り当てられています。

データベース表領域の確認

データベース表領域はデータベースインスタンスに接続してSQL文で確認できます。

opc ユーザで ssh 接続後、oracle ユーザにスイッチ
oracle ユーザで SQL*PLUS でデータベースに接続しSQL文を実行

コマンド

sudo su - oracle
sqlplus / as sysdba

(SQL*PLUSで実行)

col used(%)   for 990.0
select TABLESPACE_NAME,bytes/1024/1024 "TOTAL(MB)",USER_BYTES/1024/1024 "USED(MB)",(USER_BYTES/bytes*100) "USED(%)" from cdb_data_files;

実行例

[opc@db01 ~]$ sudo su - oracle
[oracle@db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Dec 4 10:49:34 2020

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


Connected to:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production

SQL> col used(%)   for 990.0
SQL> select TABLESPACE_NAME,bytes/1024/1024 "TOTAL(MB)",USER_BYTES/1024/1024 "USED(MB)",(USER_BYTES/bytes*100) "USED(%)" from cdb_data_files;

TABLESPACE_NAME                 TOTAL(MB)   USED(MB) USED(%)
------------------------------ ---------- ---------- -------
UNDOTBS1                               75         74    98.7
SYSTEM                                830        829    99.9
SYSAUX                                600        599    99.8
USERS                                   5          4    80.0
SYSTEM                                260        259    99.6
SYSAUX                                370        369    99.7
UNDOTBS1                               55         54    98.2
USERS                                   5          4    80.0

8 rows selected.

TOTAL(MB) : 割り当て領域
USED(MB) : 使用量
USED(%) : 使用率

使用可能なデータ・ストレージの確認

使用可能なデータ・ストレージ領域はASMインスタンスに接続してSQL文で確認できます。

opc ユーザで ssh 接続後、grid ユーザにスイッチ
sql*plus でASMインスタンスに接続しSQL文を実行

コマンド

sudo su - grid
sqlplus / as sysdba

(SQL*PLUSで実行)

col name      for a10
col disk_name for a15
col total(GB) for 999,990.0
col free(GB)  for 999,990.0
col used(%)   for 990.0

select
  group_number,
  name,
  total_mb/1024 "TOTAL(GB)",
  free_mb/1024 "FREE(GB)",
  ((total_mb-free_mb)/total_mb*100) "USED(%)"
from v$asm_diskgroup;

実行例

[opc@db01 ~]$ sudo su - oracle
Last login: Fri Dec  4 10:53:11 UTC 2020
[oracle@db01 ~]$ export ORACLE_HOME=/u01/app/19.0.0.0/grid
[oracle@db01 ~]$ export ORACLE_SID=+ASM1
[oracle@db01 ~]$ $ORACLE_HOME/bin/sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Dec 4 10:53:30 2020
Version 19.9.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0

SQL> col name      for a10
SQL> col disk_name for a15
SQL> col total(GB) for 999,990.0
SQL> col free(GB)  for 999,990.0
SQL> col used(%)   for 990.0
SQL> select
  2    group_number,
  3    name,
  4    total_mb/1024 "TOTAL(GB)",
  5    free_mb/1024 "FREE(GB)",
  6    ((total_mb-free_mb)/total_mb*100) "USED(%)"
  7  from v$asm_diskgroup;

GROUP_NUMBER NAME        TOTAL(GB)   FREE(GB) USED(%)
------------ ---------- ---------- ---------- -------
           1 DATA            256.0      247.6     3.3
           2 RECO            256.0      252.4     1.4

TOTAL(GB) : 割り当て領域
FREE(GB) : 空き領域量
USED(%) : 使用率

使用可能なデータ・ストレージ拡張後(256 -> 512)

GROUP_NUMBER NAME        TOTAL(GB)   FREE(GB) USED(%)
------------ ---------- ---------- ---------- -------
           1 DATA            512.0      503.6     1.6
           2 RECO            256.0      252.4     1.4

DATAのTOTAL(GB)が 256.0 から 512.0 に増大していることが確認できます。

おわりに

DBCSの空き領域を、OSファイルシステム領域、データベース表領域、使用可能なデータ・ストレージ(ASMディスクグループ)で確認できました。
DBCSで 「ストレージのスケール・アップ」で使用可能なデータ・ストレージを拡張すると DATA ディスクグループの領域が拡張され、データベースの表領域は初期に作成されているものは自動拡張設定(AUTOEXTEND ON)されており、拡張ができることもあわせて確認できました。

参考情報

DBCS ストレージのスケール・アップ

  • コンソールからDataストレージのサイズを選択 (256GB ~ 40TB)
  • スケールアップはオンラインで実施
  • DATA領域の拡張に伴い、RECO領域も自動計算された値が割り当てられる

< 略 >

Web コンソールからDBCSの詳細を表示し「ストレージのスケール・アップ」をクリック

「使用可能なデータ・ストレージ(GB)」のプルダウンリストから拡張後のサイズを選択

「更新中」のステータスから「使用可能」に変更されれば、拡張が完了。

oracle ユーザで ASMインスタンスへの接続

oracle ユーザで ASMインスタンスに接続する環境変数

sudo su - oracle
export ORACLE_HOME=/u01/app/19.0.0.0/grid
export ORACLE_SID=+ASM1
$ORACLE_HOME/bin/sqlplus / as sysdba