今回の前提
- Oracle DBインストール済み(23c FREEを使用)
- DBインストール後にAPEXを1度もインストールしていない
- マルチテナントでPDBにインストールする
- PDB名はfreepdb1
- ORDSはスタンドアロンモードで起動
- 必須でない手順は省略
APEXのインストール
ダウンロードと配置
以下のサイトから最新版をダウンロードし、DBサーバーに配置し、展開する
$ cd <配置したディレクトリ>
$ unzip apex-latest.zip
APEX用表領域の作成(必要に応じて実施)
$ cd apex
SQL> sqlplus / as sysdba
SQL> alter session set container = freepdb1;
SQL> CREATE TABLESPACE "APEX" DATAFILE
SQL> '/opt/oracle/oradata/FREE/FREEPDB1/APEX01.DBF' SIZE 250M;
※表領域名、場所、サイズは環境にあわせて修正する
APEXのインストール
SQL> @apexins.sql APEX APEX TEMP /i/
第1引数:APEXアプリケーション・ユーザーの表領域の名前
第2引数:APEXファイル・ユーザーの表領域の名前
第3引数:一時表領域または一時表領域グループの名前
第4引数:「/i/」でよい
管理用APEXユーザー作成
SQL> @apxchpwd.sql
Enter the administrator's username [ADMIN]
User "ADMIN" does not yet exist and will be created.
Enter ADMIN's email [ADMIN]
Enter ADMIN's password []
※管理者ユーザー名(デフォルト:ADMIN)、メールアドレス、パスワードを設定する
APEX_PUBLIC_USERアカウントアンロック
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
パスワード有効期間変更(必要に応じて実施)
SQL> ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME UNLIMITED;
※ここではDEFAULTプロファイルを変えているが、APEX_PUBLIC_USER用に独自のPROFILEを作成するがよい
静的ファイル・サポートの構成
静的ファイルは、APEXに組み込まれたRESTfulサービス・モジュールを使用して提供されるため、静的ファイルを構成するためにはAPEXの新規インストール後にapex_rest_config.sqlを実行する必要がある
@apex_rest_config.sql
Enter a password for the APEX_LISTENER user []
Enter a password for the APEX_REST_PUBLIC_USER user []
- APEX_REST_PUBLIC_USER
- APEXに格納されているRESTfulサービスの定義を呼び出す際に使用されるアカウント
- APEX_LISTENER
- APEXに格納されているRESTfulサービスの定義を照会するために使用されるアカウント
ORDSのインストール
ダウンロードと配置
以下のサイトからダウンロードし、DBサーバーに配置し、展開する
$ cd <配置したディレクトリ>
$ unzip ords-23.4.0.346.1619.zip
(2024/6/9追記)
最新版へのリンクは下記になりますが、バージョン24にあがっています
最新版のORDS 24から少しインストール方法が変わっていますので、マニュアルをご参照ください
imagesディレクトリのコピー
$ cd <apexを展開したディレクトリ>
$ cp -pr images/ <ordsを展開したディレクトリ>/
ORDS構成フォルダの作成
$ mkdir <任意の場所>/config
ORDSのインストール
$ cd <ordsを展開したディレクトリ>
$ bin/ords --config <ORDS構成フォルダの場所> install
Enter a number to select the type of installation
[1] Install or upgrade ORDS in the database only
[2] Create or update a database pool and install/upgrade ORDS in the database
[3] Create or update a database pool only
Choose [2]:
Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]:
Enter the database host name [localhost]:
Enter the database listen port [1521]:
Enter the database service name [FREE]: freepdb1
Provide database user name with administrator privileges.
Enter the administrator username: sys
Enter the database password for SYS AS SYSDBA:
Connecting to database user: SYS AS SYSDBA url: jdbc:oracle:thin:@//localhost:1521/freepdb1
Retrieving information.
Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]: APEX
Enter the temporary tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [TEMP]:
Enter a number to select additional feature(s) to enable:
[1] Database Actions (Enables all features)
[2] REST Enabled SQL and Database API
[3] REST Enabled SQL
[4] Database API
[5] None
Choose [1]:
Enter a number to configure and start ORDS in standalone mode
[1] Configure and start ORDS in standalone mode
[2] Skip
Choose [1]:
Enter a number to select the protocol
[1] HTTP
[2] HTTPS
Choose [1]:
Enter the HTTP port [8080]:
Enter the APEX static resources location: <ordsを展開したディレクトリ>/images
※今回は変更が必要な箇所以外はデフォルトの設定としている
※しばらくすると起動する(プロンプトは返ってこない)
確認
- 「http://localhost:8080/ 」にアクセスするとORDSの画面が開く
- APEX、SQL Developer Webへのリンクが掲載されている
- 「http://localhost:8080/ords/apex_admin 」にアクセスするとAPEXの管理画面が開く
- インストール途中に設定した管理者でログインする
- ユーザー名:設定した管理者ユーザー名(デフォルト:ADMIN)
- パスワード:設定したパスワード
- インストール途中に設定した管理者でログインする
2回目以降の起動方法
$ <ordsを展開したディレクトリ>/bin/ords --config <ORDS構成フォルダの場所> serve
参考:SQL Developer Webを使うために必要な手順
前提
apexws1ユーザーで利用する
手順
$ sqlplus apexws1/<password>@localhost:1521/freepdb1
SQL> BEGIN
SQL> ords.enable_schema(
SQL> p_enabled => true,
SQL> p_schema => 'APEXWS1',
SQL> p_url_mapping_type => 'BASE_PATH',
SQL> p_url_mapping_pattern => 'apexws1',
SQL> p_auto_rest_auth => true
SQL> );
SQL> COMMIT;
SQL> END;
SQL> /
「http://localhost:8080/ords/sql-developer 」でアクセスし、apexws1でログインできることを確認する