先回、Oracle Cloud (OCI)で仮想マシンのDBシステムを作成してみました。今回はDBシステムの中身をざっくり見ていきたいと思います。
ユーザー
デフォルトでopc, oracle, gridの3ユーザーが用意されています。
DBシステムにログインする場合はopcユーザーでアクセスし、他のユーザに切り替えます。OCIではrootになることも可能です。
ユーザー | 内容 |
---|---|
opc | SSH接続時のユーザー。sudo特権を持ち、sudo -sでrootユーザーになれる |
oracle | Oracle Databaseのインストールユーザー |
grid | Oracle Grid Infrastructureのインストールユーザー |
環境変数
oracleユーザーがOracleデータベースを使用するための環境変数がDBシステム作成時に自動でセットされます(ORACLE_SID, ORACLE_HOME, ORACLE_UNQNAME, PATHなど)。そのため、すぐにSQL*Plusを使ってOracleにアクセスしたり、lsnrctlでリスナーの状態を確認といったことができます。
[opc@oradb01 ~]$ sudo su - oracle
[oracle@oradb01 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/18.0.0.0/dbhome_1
[oracle@oradb01 ~]$ echo $ORACLE_SID
orcl
gridユーザーの環境変数も自動でセットされます。
[opc@oradb01 ~]$ sudo su - grid
[grid@oradb01 ~]$ echo $ORACLE_HOME
/u01/app/18.0.0.0/grid
[grid@oradb01 ~]$ echo $ORACLE_SID
+ASM1
インストールされている Oracleソフトウェアバージョン
DBシステム管理のコマンドラインツール(dbcli)が提供されているので、それを使って確認してみます。dbcliのコマンドリファレンスはこちら。
dbcliはrootユーザで実行します。
[opc@oradb01 ~]$ sudo -s
[root@oradb01 opc]# su -
[root@oradb01 ~]# dbcli describe-component
System Version
---------------
18.3.4.0.0
Component Installed Version Available Version
---------------------------------------- -------------------- --------------------
GI 18.6.0.0.190416 up-to-date
DB 18.6.0.0.190416 up-to-date
Oracle Grid Infrastructure(GI)とOracle Database(DB)がインストールされていることがわかります。それぞれの現在インストールされているパッチ・バージョンと使用可能なパッチ・バージョンが確認できます。
ファイル・レイアウト
次に、データベース関連のファイル配置を見てみます。まず、ディレクトリの配置から。
[oracle@oradb01 opc]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolRoot
35G 23G 11G 68% /
tmpfs 7.3G 1.1G 6.2G 15% /dev/shm
/dev/sda2 1.4G 46M 1.3G 4% /boot
/dev/sda1 486M 276K 485M 1% /boot/efi
/dev/sdd 197G 23G 164G 13% /u01 <------ Oracle ソフトウェア
/dev/asm/commonstore-153
5.0G 369M 4.7G 8% /opt/oracle/dcs/commonstore
環境変数 ORACLE_HOMEの値が示すように、/u01配下にOracleソフトウェアバイナリが配置されています。tnsnames.oraやalert.logのような、運用上よく使用するファイルもここにあります。
ではデータファイルや Redoログファイルは?というと、ASM(Oracle Automatic Storage Management)にあります。
SQL> select tablespace_name, file_name from dba_data_files;
TABLESPACE FILE_NAME
---------- --------------------------------------------------------------------------------
UNDOTBS1 +DATA/<DBユニーク名>/DATAFILE/undotbs1.263.1005904755
SYSTEM +DATA/<DBユニーク名>/DATAFILE/system.261.1005904697
SYSAUX +DATA/<DBユニーク名>/DATAFILE/sysaux.262.1005904735
USERS +DATA/<DBユニーク名>/DATAFILE/users.274.1005905603
SQL> select group#, member from v$logfile order by group#;
GROUP# MEMBER
---------- --------------------------------------------------------------------------------
1 +RECO/<DBユニーク名>/ONLINELOG/group_1.257.1005904813
2 +RECO/<DBユニーク名>/ONLINELOG/group_2.258.1005904813
3 +RECO/<DBユニーク名>/ONLINELOG/group_3.259.1005904813
4 +RECO/<DBユニーク名>/ONLINELOG/group_4.271.1008735725
5 +RECO/<DBユニーク名>/ONLINELOG/group_5.270.1008735735
6 +RECO/<DBユニーク名>/ONLINELOG/group_6.262.1008735743
7 +RECO/<DBユニーク名>/ONLINELOG/group_7.269.1008735753
7 rows selected.
(※ DBユニーク名は書き直しています)
OCI Databaseサービスではストレージ管理にASMを使用しています。RAC構成に限らず、シングルインスタンスでもASMを使用します。ASM上にデータファイルやRedoログファイルなどが配置されています。
ASMの構成
では、ASMの構成を見てみます。
SQL> select name from v$asm_diskgroup;
NAME
------------------------------
DATA
RECO
ASMのdiskgroupはDATAとRECOに分けられています。DATAにデータファイル等が入り、RECOにリカバリに関係するファイルが格納されます。
これらのdiskgroupのサイズは、DBシステムを作成するときに指定したストレージの値から決められます。指定した値がDATAのサイズになります。RECOのサイズはDATAのサイズから自動計算された値が使用されるようです。
ちなみに、仮想マシンのDBシステムではストレージのオンラインスケールアップが可能です。256GBから最大40TBまで拡張できます。
(追記) 2019年10月より、1ノードのDBシステムを使用する場合、ストレージ管理ソフトウェアに論理ボリュームマネージャ(LVM)を選択してDBシステムを作成できるようになりました。詳細はこちら。 |
---|
参考
マニュアル
「Virtual Machine DBシステム」
「Oracle Automatic Storage Management 管理者ガイド」