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

Oracle APEX有効化と確認(コンテナ構成)

対応バージョン

Oracle APEX 4 - 4.2.0

Oracle Database 12.1

Oracle Linux

2017-04-20Oracle APEXのインストール(Oracle Application Express)記事分離と修正

2016-10-28記事公開

Oracle Databaseインストール時のOracle APEX(Oracle Application Express)を、そのまま利用するには有効化が必要になります。ここでは有効化の方法について記載します。

インストール済みのOracle APEXを有効化する

ほとんどの環境では基本的にOracle APEXはインストール済みです。最新版のインストールの前に、まずは現在利用可能な状況になっているかの確認について行っておくとよいかと思います。最新版インストール後に繋がらないとなった時の切り分けとして有用かと思います。

ここでは12cR1 シングルテナント構成のコンテナ・データベース(PDB名はorclpdb)、OSはLinuxを想定しています。

インストールバージョンの確認

以下のSQLにより、インストールされているかを確認します。

CDB及びPDBに同じバージョンのOracle APEXがインストールされていることを確認できます。

注意点として、CDBでのインストールバージョンに各PDBが紐づいてしまうため、マルチテナント環境ではCDBでのインストールはせず、PDBごとのインストールが勧められています。
CDBで確認した場合の初期状態ではCDB(付随してPDB)にインストールされています。

参考資料
https://blogs.oracle.com/UPGRADE/entry/apex_in_pdb_does_not
Oracle 公式ブログ

Oracle APEX接続設定

初期化パラメータの設定

初期化パラメータの設定を確認します。

ANONYMOUSユーザのアンロック

ANONYMOUSユーザをアンロックします。このユーザがロック状態だと、認証画面が表示されないので忘れずに行います。(認証画面が表示されず、ベーシック認証を求められる状態になります。)

接続ポート有効化

SELECT結果に0が戻る場合は、ポート番号を設定する必要があります。PDB毎にポートを設定します。ここではHTTPSでの接続設定を行います。

ADMINユーザのパスワード変更

ADMIN(APEXのログインユーザ)のパスワード変更をします。初回ログイン時に利用され、ログイン時にパスワード変更が求められます。${ORACLE_HOME}/apexにスクリプトがあります。

埋込みPL/SQLゲートウェイの構成

下記SQLファイルにて埋込みPL/SQLゲートウェイが構成できます。埋込みPL/SQLゲートウェイを構成すると、Webサーバを構成せずにブラウザから、Oracle APEXへ接続できます。埋込みPL/SQLゲートウェイの利用は、開発環境のみの利用が推奨されていますので注意してください。

リモート接続のためのローカル以外のポート許可

必要な場合は、以下のパッケージにてローカル以外でのリスニングの許可を行ってください。
設定値FALSEは、ローカルホストを含む他のインターフェースについても同時にリスニングします。TRUEの場合はローカルホスト(127.0.0.1)のみリスニングします。

以下のSQLを実行し、「Host : localhost」と出ている場合は、localhostのみでリスニングされる設定となっています。

リスナーの確認

HTTPをリスニングしているか確認します。

上記の表示がされていない場合、リスニングされていません。しばらく待ってもリスニングされない場合は、構成内容を再度見直して下さい。
"HOST="がAPEXへ接続する時に、ブラウザのURLに指定するIPアドレスとなります。"PORT="がポート番号です。

Oracle APEXへの接続

ブラウザでOracle APEXへ接続します。

まずは以下のURLでADMINパスワードの変更を行ってください。
https://[DBサーバIP]:5501/apex/apex_admin
パスワードは数字、大文字、記号(指定されたもの)を必ず1つは入れないとNGとなりますので、ご注意ください。

以下のURLからログインできるようになります(パスワード変更後は勝手に移動します)。
https://[DBサーバIP]:5501/apex/

接続がうまくいかない場合

ウェブブラウザを利用する端末で直接データベースに接続できるし、リスニングもしているという場合は、ポートがかぶっていないか、ファイアウォールでの拒否をしていないかなど、OSやネットワーク設定の確認を行ってみてください。ちなみに筆者環境ではMicrosft Edgeでは接続できませんでした。ブラウザの変更なども有効かもしれません。