SSJ Tech Lab - Oracle Database テクニカルラボ

Oracle Database 18c XE インストールと制限

対応バージョン

Oracle Database 18.4

RedHat Enterprise Linux 7

CentOS 7

2018-11-12記事公開

Oracle Database の無償エディションである、 Oracle Database 18c XE(Express Edition) がリリースされました。
本記事では、Linux 7へのインストールおよび制限値について確認しています。実施したのはCentOSですが、RHELも同様です。Oracle Linuxについては、基本的にデータベース向けに事前設定がされている部分などがあるため、不要な手順があるかと思います。

Oracle Database XE ダウンロード

現在バージョンは 18.4.0 となっています。12cとパッチバージョンの考え方が変わっているので注意してください。一応 12cR2 と同等のバージョンとされています。
以下のURLよりダウンロード可能です。

https://www.oracle.com/technetwork/jp/database/database-technologies/express-edition/downloads/index.html

以下の2つのファイルをダウンロードしてください。

Oracle Database 18c Express Edition for Linux x64:
-- Oracle Database 本体です。(2.5GB程度)
Oracle Database Preinstall RPM for RHEL and CentOS:
-- OS の初期設定を行うrpmです。自分で設定する場合は不要です。(18KB程度)

インストレーション・ガイドもありますが、現在(2018/11/12)は英語版のみでした。

https://docs.oracle.com/en/database/oracle/oracle-database/18/xeinl/installation-guide.html

要件と制限

インストール前の重要な要件と制限については、以下の通りです。

  • Oracle Database XEに推奨される最小スワップ領域は、2 GBまたはRAMの2倍のうちの小さい方です。
  • データベースのユーザー・データの最大量は12ギガバイトを超えることはできません。
  • データベースで使用されるRAMの最大量は、2ギガバイトを超えることはできません。
  • 自動的に2つのコアに処理を制限します。
  • ユーザーが使用可能なPDBの数は3つまでです。
  • ディスクスペースは最低10GB必要です。

インストール後、USERS表領域を12GBまで拡張したところ、OS、rpm、ユーザーデータなどを含めて27GB程度でしたので、ログやシステム表領域の拡張に備えて、ディスクは40GB程度準備するとよいと思います。(rpmインストール後:9.2G、DB作成直後:13G)

Oracle Database XE インストール

インストールについては、以下のコマンドで可能です。

Oracle Database XE インストール 詳細版

3つのコマンドで変更された箇所などの詳細を記載します。この項目は詳細が知りたい人向けです。詳細不要の方は「環境変数の設定」に進んでください。

バイナリファイルのチェック

まずは、配置後のファイルが破損していないか確認です。sha256sum の値は、ダウンロードページから確認可能です。preinstallのrpmは記載が確認できなかったのですが、念のため結果だけ記載しておきます。

OS事前設定用rpmのインストール

マニュアルに従って事前設定用のrpmをインストールします。未インストールのrpm群についてもここでインストールされます。以下インストール時に追加されたパッケージ群です。

ユーザー、グループの追加確認

カーネルパラメータの追加確認

実際は1行ごとに追加した旨のコメントがあります。

※ diff結果無し(99-initial-sysctl.confというファイル名で、変更前のバックアップがありました)

他エディションのインストール・ガイドでは /etc/sysctl.d/97-oracle-database-sysctl.conf に設定する旨が記載されていますが、rpmでは99番で設定しているようでした。

APIPAの無効化設定確認

透過的ヒュージページおよび、NUMAの無効化確認

元ファイルから numa=off transparent_hugepage=never の2つのパラメータが追加されていました。

ユーザーリミットの設定確認

実際は1行ごとに追加した旨のコメントがあります。

カーネルパラメータ、OS起動時のパラメータ変更を行っているため、念のためOSの再起動をしておくことをお勧めします。

データベースのインストール(runInstaller)

runInstallerに当たる部分の操作を実施します。ORACLE_HOMEの作成をします。

データベースのインストール(NETCA/DBCA)

NETCA/DBCAに当たる部分の操作を実施します。一部パラメータを/etc/sysconfig/oracle-xe-18c.confから設定できます。リスナーのポート番号変更や、データファイル出力位置(デフォルト:/opt/oracle/oradata)を変更したい場合などに使用してください。

環境変数の設定

インストール後に環境変数の設定を行います。マニュアルを見ると、毎回コマンドを実行して設定するようになっていましたが、面倒かと思いますので、.bashrcか.bash_profileに記載します。

データベースの起動

データベースの作成が終わったら、起動を行います。最初からPDBが一つ作られています。

本記事では割愛しますが、自動起動スクリプトなど仕込んでおくと便利かと思います。

データベースの制限確認

ここでは実際にメモリの制限、PDBの制限、ファイルサイズの制限について確認しています。

メモリの制限

初期状態では以下のメモリ設定がされていました。リソースマネージャなどの利用をしない場合、全てのPDBでメモリ領域を共有しますので、全体で2GBまでというのが確認できます。

SGAとPGA合わせて2GBを超えた値を指定しているためエラーが発生しました。

PDBの制限

ユーザーが使用できるPDBの数は3つまでです。以下実際に作ってみようとしたところ、ORA-65010が発生しました。

作ったPDBを削除する場合は以下のコマンドで削除できます。

ファイルサイズの制限

ファイルサイズの制限を確認します。

ファイルサイズを超えた後にPDBを再起動しようとしたところ、起動しなくなりましたので注意して下さい。復旧自体ができなくなります。(制限のない他のDBにリストアするなどの処置で戻るかもしれませんが、試していません。)

まずは12GBを超過したファイルサイズの拡張を試します。

ORA-12954(ファイルサイズの制限を超えた旨)が発生することが確認できました。12GBまで拡張してみます。

成功しましたが、DB全体で制限がかかっているため、実は 12GB + α が実際の制限値となっています。他の表領域を増やしたのち、12GBに拡張しようとするとORA-12954が発生します。このまま停止・起動を行うと、CDB$ROOTの拡張などが伴った場合に冒頭の通りPDB自体起動できなくなることがあります。

実際利用する場合は、以下くらいで制限をかけておくことをお勧めします。

XEPDB1が一杯の状態でも他にPDBの作成は可能ですが、作成したPDBは起動しようとするとORA-12954が発生します。CDBで稼働しているPDB全体で12GBを超えないように留意する必要があります。

その他所感など

使ってみるのはこれからですが、CPU2つまで可能となったのは大きいと思います。11gR2の時は、CPU1つを使い切るSQLを実行すると終わりでしたので・・。

Excelをアプリケーション化して少し拡張するくらいであれば問題ないですが、やはりディスクサイズが小さいので圧縮処理も検討してもよいと思います。

Oracle APEXを利用しようとしてデータベースのインストールを行ったのですが、Oracle APEXがデフォルトで導入されていませんでした。Oracle APEXを利用する場合は別途インストールする必要があります。

Oracle APEXのインストールについては以下に記事を記載しています。ご参考にどうぞ。

Oracle APEXのインストール(Oracle Application Express)(CDB環境)

関連記事

関連記事が存在しません