本記事は Oracle Autonomous Database 環境のストレージ構成について検証しています。下記の例は Always Free 環境で作成できる AUTONOMOUS TRANSACTION PROSESSION (ATP) インスタンスで実行しています。
表領域
システム表領域
PDB 環境で一般的な表領域が作成されています。特別な表領域として SAMPLESCHEMA があります。これらはサンプル用データが格納されている読み込み専用の表領域です。DATA 表領域はアプリケーションが使用するデフォルト表領域です。DBFS_DATA 表領域も利用できます。
SQL> SELECT TABLESPACE_NAME, BLOCK_SIZE, BIGFILE, EXTENT_MANAGEMENT, ALLOCATION_TYPE, SEGMENT_SPACE_MANAGEMENT FROM DBA_TABLESPACES ORDER BY 1;
TABLESPACE_NAME BLOCK_SIZE BIG EXTENT_MAN ALLOCATIO SEGMEN
------------------------------ ---------- --- ---------- --------- ------
DATA 8192 YES LOCAL SYSTEM AUTO
DBFS_DATA 8192 YES LOCAL SYSTEM AUTO
SAMPLESCHEMA 8192 YES LOCAL SYSTEM AUTO
SYSAUX 8192 YES LOCAL SYSTEM AUTO
SYSTEM 8192 YES LOCAL SYSTEM MANUAL
TEMP 8192 YES LOCAL UNIFORM MANUAL
UNDOTBS1 8192 YES LOCAL SYSTEM MANUAL
UNDO_2 8192 YES LOCAL SYSTEM MANUAL
8 rows selected.
UNDO 表領域が2つありますが、初期化パラメーターundo_tablespaceに指定されている表領域はUNDO_2です。
SQL> SHOW PARAMETER UNDO_TABLESPACE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDO_2
データファイルは自動拡張が有効になっていますが、最大サイズはOracle Cloudホームページからデータベース作成時に指定した値とは異なります。容量制限は標準とは別の仕組みを使っているようです。
SQL> SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 MB, AUTOEXTENSIBLE, MAXBYTES/1024/1024 MAXMB, INCREMENT_BY FROM DBA_DATA_FILES ORDER BY 1;
TABLESPACE_NAME FILE_NAME MB AUT MAXMB INCREMENT_BY
------------------------------ ------------------------------------------------------------------------------------- ---------- --- ---------- ------------
DATA +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/data.738.1033355929 100 YES 33554432 262144
DBFS_DATA +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/dbfs_data.2341.1033355929 100 YES 33554432 262144
SAMPLESCHEMA +DATA/sampleschema_dbf 204800 YES 33554432 1310720
SYSAUX +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/sysaux.743.1033355929 2659.25 YES 33554432 1280
SYSTEM +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/system.2795.1033355929 1341 YES 33554432 1280
UNDOTBS1 +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/undotbs1.740.1033355929 470 YES 1024 262144
UNDO_2 +DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/undo_2.1888.1033952725 1024 YES 1024 262144
7 rows selected.
表領域の追加と拡張
ADMINユーザーは表領域を追加できませんが、データファイルの拡張は実行できます。
SQL> CREATE TABLESPACE DATA2 DATAFILE 'data2.dbf' SIZE 100M ;
CREATE TABLESPACE DATA2 DATAFILE 'data2.dbf' SIZE 100M
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> ALTER DATABASE DATAFILE '+DATA/{db_name}/9F730FB9A471BE4AE0531910000A07C7/DATAFILE/data.738.1033355929' RESIZE 200M;
Database altered.
オブジェクトの作成と表領域
テーブル、インデックス、マテリアライズド・ビューは表領域に保存されるオブジェクトです。ATPでは表領域を指定するTABLESPACE句は無視されます。
SQL> CREATE TABLE data1(c1 NUMBER, c2 VARCHAR2(10)) TABLESPACE notExists;
Table created.
SQL> SELECT TABLESPACE_NAME FROM USER_TABLES WHERE TABLE_NAME='DATA1';
TABLESPACE_NAME
------------------------------
DATA
表領域だけでなく、索引構成表、ロギング設定、物理構成(STORAGE句)等も無視されます。
SQL> CREATE TABLE data1(c1 NUMBER PRIMARY KEY, c2 VARCHAR2(10)) ORGANIZATION INDEX NOLOGGING;
Table created.
SQL> SELECT TABLE_NAME, LOGGING, IOT_TYPE FROM USER_TABLES WHERE TABLE_NAME='DATA1';
TABLE_NAME LOG IOT_TYPE
------------------------------ --- ------------
DATA1 YES
QUOTA制限
ADW には DBMS_CLOUD_ADMIN パッケージに GRANT_TABLESPACE_QUOTAプロシージャ が用意されています。このプロシージャは特定のユーザーに表領域使用量の制限を設けるものですが、CREATE USER 文の QUOTA 句でも同様の操作を行うことができるようです。どちらを使うべきなのかは不明です。
REDOログ・ファイル
REDO ロググループは 8 グループ、各ファイルは 32GB とかなり大きい設定になっています。ストレージのスループットに自信があるのでしょう。
SQL> SELECT GROUP#,BYTES/1024/1024 MB FROM V$LOG ORDER BY 1;
GROUP# MB
---------- ----------
1 32000
2 32000
3 32000
4 32000
5 32000
6 32000
7 32000
8 32000
8 rows selected.
REDO ログ・メンバーは ASM ディスク・グループの DATA と RECO に分散されています。
SQL> SELECT GROUP#, TYPE, MEMBER FROM V$LOGFILE ORDER BY 1;
GROUP# TYPE MEMBER
---------- ------- --------------------------------------------------------------------------------
1 ONLINE +DATA/{db_name}/ONLINELOG/group_1.277.1018644199
1 ONLINE +RECO/{db_name}/ONLINELOG/group_1.261.1018644223
2 ONLINE +DATA/{db_name}/ONLINELOG/group_2.278.1018644199
2 ONLINE +RECO/{db_name}/ONLINELOG/group_2.260.1018644223
3 ONLINE +DATA/{db_name}/ONLINELOG/group_3.283.1018644643
3 ONLINE +RECO/{db_name}/ONLINELOG/group_3.262.1018644655
4 ONLINE +DATA/{db_name}/ONLINELOG/group_4.284.1018644669
4 ONLINE +RECO/{db_name}/ONLINELOG/group_4.263.1018644681
5 ONLINE +DATA/{db_name}/ONLINELOG/group_5.3612.1024956949
5 ONLINE +RECO/{db_name}/ONLINELOG/group_5.291.1024956961
6 ONLINE +DATA/{db_name}/ONLINELOG/group_6.3613.1024956975
6 ONLINE +RECO/{db_name}/ONLINELOG/group_6.360.1024956987
7 ONLINE +DATA/{db_name}/ONLINELOG/group_7.3614.1024957001
7 ONLINE +RECO/{db_name}/ONLINELOG/group_7.354.1024957013
8 ONLINE +DATA/{db_name}/ONLINELOG/group_8.3615.1024957027
8 ONLINE +RECO/{db_name}/ONLINELOG/group_8.350.1024957039
16 rows selected.
ASM
ATP が使用するストレージは ASM を利用しています。データ用の DATA と、リカバリ情報用の RECO から構成されています。DATA ストレージ・グループは3重化、RECO ディスク・グループは2重化により可用性を高めています。
SQL> SELECT NAME, TOTAL_MB, FREE_MB, TYPE FROM V$ASM_DISKGROUP;
NAME TOTAL_MB FREE_MB TYPE
------------------------------ ---------- ---------- ------
DATA 269035456 264050040 HIGH
RECO 67239936 66302952 NORMAL
ASM ディスク・グループに使われているディスクは Exadata ストレージ・サーバーを利用しています。
DATA ディスクグループ(GROUP_NUMBER=1)では、7 TB のディスクを、RECO ディスクグループ(GROU_NUMBER=2)では、1.7 TB のディスクを使っています。
SQL> SELECT GROUP_NUMBER, TOTAL_MB, PATH FROM V$ASM_DISK ORDER BY 1;
GROUP_NUMBER TOTAL_MB PATH
------------ ---------- --------------------------------------------------------------
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_11_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_06_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_02_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_07_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_05_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_04_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_09_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_00_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_03_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_08_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_01_nrt100307exdcl03
1 7473200 o/192.168.136.6;192.168.136.7/DATAC1_CD_10_nrt100307exdcl03
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_08_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_02_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_03_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_04_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_11_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_07_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_06_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_01_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_09_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_05_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_00_nrt100307exdcl02
1 7473200 o/192.168.136.4;192.168.136.5/DATAC1_CD_10_nrt100307exdcl02
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_00_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_08_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_02_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_06_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_01_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_07_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_11_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_03_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_05_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_10_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_09_nrt100307exdcl01
1 7473200 o/192.168.136.2;192.168.136.3/DATAC1_CD_04_nrt100307exdcl01
1 128 /dev/exadata_quorum/QD_DATA_FE1POD_CLQWF2
1 128 /dev/exadata_quorum/QD_DATA_FE1POD_CLQWF1
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_06_nrt100307exdcl03
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_02_nrt100307exdcl01
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_09_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_08_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_04_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_05_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_02_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_03_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_07_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_11_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_01_nrt100307exdcl03
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_00_nrt100307exdcl03
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_03_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_11_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_07_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_05_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_00_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_10_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_09_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_08_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_04_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_06_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_01_nrt100307exdcl02
2 1867776 o/192.168.136.4;192.168.136.5/RECOC1_CD_02_nrt100307exdcl02
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_00_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_01_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_06_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_05_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_04_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_09_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_07_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_11_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_03_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_10_nrt100307exdcl01
2 1867776 o/192.168.136.2;192.168.136.3/RECOC1_CD_08_nrt100307exdcl01
2 1867776 o/192.168.136.6;192.168.136.7/RECOC1_CD_10_nrt100307exdcl03
74 rows selected.
RECO ディスクグループは制御ファイルのミラー、高速リカバリ領域の配置にも使われています。
SQL> SHOW PARAMETER control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string +DATA/{db_name}/CONTROLFILE/current.273.1018644197, +RECO/{db_name}/CONTROLFILE/current.258.1018644197
SQL> SHOW PARAMETER db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +RECO
db_recovery_file_dest_size big integer 32685540M
ログ領域
オペレーティング・システムに出力するファイルの場所は /u02 ディレクトリ以下に集められています。
SQL> SHOW PARAMETER diagnostic_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest string /u02/app/oracle
SQL>
SQL> SHOW PARAMETER audit_file_dest
NAME TYPE VALUE
------------------------------------ ----------- -------------------------------------
audit_file_dest string /u02/app/oracle/admin/{db_name}/adump
SQL>
SQL> SHOW PARAMETER background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------------------
background_dump_dest string /u02/app/oracle/product/18.1.0.0/dbhome_1/rdbms/log
SQL>
SQL> SHOW PARAMETER core_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------------------------------
core_dump_dest string /u02/app/oracle/diag/rdbms/{db_name}/fewf1pod2/cdump
SQL>
SQL> SHOW PARAMETER user_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------------------
user_dump_dest string /u02/app/oracle/product/18.1.0.0/dbhome_1/rdbms/log