エラーが出た方向け。Oracle Database 18c ExpressEditionをWindowsで使用するための手順。

4月付けで12年勤めた会社を退職しました。
一言で言えば方向性の違いです。
今回は退職エントリーではないのでその話はまた今度。

転職先にて、Oracle 18c Express Edition を使う機会があったのですが、使用にずいぶんと苦労したため、その技術メモです。

1.Oracle Express Editionとは

OracleのExpress Edition とは、一言でいえば、無料で使えるOracleです。
主に学習使用向けですが、システムの開発環境での使用や、実は商用環境にも使用することができます。

ただリソースの使用にいくつか制限があり、例えばデータベースのサイズは12GBくらいまでしか大きくできません。
商用の大きなシステムがこっそり無料でOracleを使うということは、不可能にしてあるわけです。

2.Oracle 18c Express Edition DB作成時の注意点

短期間&低スペックで良いのでOracleサーバが必要になり、ボロのWindows7PCへOracle 18c XE をインストールしてみることにしました。

Oracle Database Express Edition (XE) Downloads
Oracle Database Express Edition (XE) Downloads

インストーラーはOracleのサイトから落とせます。
ユーザ登録が必要です。
今後もOracleを使用する機会があるかもしれないし無料なので、未登録の方は行っておきましょう。

ⅰ.インストール

インストール自体はそんなに難しくありませんが、”Oracle Database 18c Express Edition.msi”から行うと必ずエラーになります。

Oracle 18c Express Edition のインストールエラー画面
エラーになった場合のウィンドウ

“setup.exe”から実行することでなぜか回避できます。
また、インストールパスに日本語があるとエラーになります。

デフォルトのパスはユーザ名が入ってくるので、ユーザ名が日本語の方には罠ですね。
インストール途中でロールバックしてしまう方はこれが原因です。

Oracle 18c Express Edition のデータベースパスワード指定画面

“setup.exe”からの実行だとなぜかインストーラーも日本語表示。
その後は基本デフォルト選択で大丈夫です。
Oracleのインストールを一度でもしたことがあれば余裕でしょう。

ⅱ.接続確認

Express Edition ではインストールが完了した時点で、サンプルDBが自動で作成されます。
インストールの最後に表示されるのがその情報です。

Oracle 18c Express Edition のインストール完了画面

これだけ見ると

sqlplus ユーザ/パスワード@localhost:1521/xepdb1
例:sqlplus system/Oracle18c@localhost:1521/xepdb1

で接続できるのかなと考えてしまいますが、繋がりません。
外部IPアドレスで指定してあげる必要があります。
localhostの部分を端末の外部IPアドレスへ変えて実行して下さい。

Oracle18c の動作を確認したいだけであれば、このサンプルDBで事足りると思います。

ⅲ.DB削除

サンプルDBはSIDが勝手に設定されてしまうため、開発環境等で使用する場合は変更して自由に指定したいと思います。
そのような場合はDBを作り直すことになります。

2022/04/01
SIDをXE以外にすると稀にエラーになってしまうことがあるため、手順を見直しました。

コンテナデータベースはそのままにして、プラガブル・データベースだけを作り直します。
まずは、DBCAから”プラガブル・データベースの管理”を実行しましょう。

プラガブル・データベースの管理

“プラガブル・データベースの削除”を選択します。

プラガブル・データベースの削除

それ以降はデフォルト選択で問題ありません。

ソース・データベースの選択
プラガブル・データベースの選択

ⅳ.DB再作成

削除が終わったら、プラガブル・データベースの再作成を行います。
DBCAから再び”プラガブル・データベースの管理”を実行しましょう。

“他のPDBから新しいプラガブル・データベースを作成”を選択。

プラガブル・データベースの作成

新しく作成するデータベース名等を入力しましょう。

プラガブル・データベースIDのオプション

特に難しい部分はなく、このまま完了になります。

さて、DBは作成できるようになったのですが、今は古いバージョンのOracleクライアントとの接続が上手くいかず、試行錯誤しています。
もし解決法が見つかればまた共有しますね。

関連書籍