皆さんこんにちは。案件担当(兼構築担当)の川合です。
今回は、普段あまり触る事がないOracle Instant Clientを入れる作業がありましたので、その中で自分がやった事をまとめて記事にしたいと思います。
今後同様の作業があった場合に自分でも参考にしたいと思います。
目次
概要
Oracle Database については有料のDBになりますが、Oracle Instant Client は無料で利用する事が出来ます。
今回は、Linux環境にインストールするのではなく Windows Server 2019 にインストールしています。
Oracle Instant Clientのバージョンアップ?や変更?で手順がよく変わっているようなので、この手順もどこかのタイミングで変わる可能性大です。
準備
まず、利用するOSがOracleのどのバージョンに対応しているのか確認しましょう。
ここで利用できるバージョンが確認できます。
https://www.oracle.com/jp/system-requirement/db-matrix-195845-ja.html
※Oracle Database と同様のInstant Clientのバージョンをインストールする事は多分難しいです
今回は、Windows Server 2019 なのでページ中盤にある【Microsoft Windows】で対応するバージョンを確認します。19c にしか2019の記載がないのでこのバージョンを利用します。
19cでもDatabase 11.2以上には接続出来るようなのでDatabaseが古いバージョンでも問題なさそうです。
導入
まず、公式サイトから必要なパッケージをダウンロードします。
以前まではダウンロードするのにもOracleのアカウントが必要だったみたいですが
特にアカウント登録せずにダウンロードする事が出来ました。
https://www.oracle.com/jp/database/technologies/instant-client/winx64-64-downloads.html
Basicパッケージは必須で、あとのツールは利用する環境に合わせてダウンロードして下さい。
今回は、ODBCパッケージも追加でダウンロードしています。
注意点としては、公式サイトにも記載がある通り別途パッケージのインストールが必要になります。
19.8 Basicパッケージには、Microsoft Visual Studio 2017 Redistributableが必要です。
Microsoft Visual Studio パッケージとOracle Instant Clientのパッケージを実際のサーバに移動させます。
ディレクトリの作成などは、公式サイトのマニュアルを参考に実施していきます。
Cドライブ直下に【oracle】というフォルダを作成して、このフォルダ直下にファイルを展開していきます。
※解凍するときは、フォルダ直下で解凍されるようにしておくと後で楽です。
解凍すると、【instantclient_19_8】というバージョンにそったフォルダが作成されます。
同様にもう1つのファイルも解凍先を指定して解凍すると、追加のファイルは同じフォルダに追加されます。
追加でOracleの構成ファイルを設置するサブフォルダを作成します。
【C:\oracle\instantclient_19_8\network\admin】になるようにします。
network というフォルダの中にさらにadminというフォルダを作成します。
【C:\oracle\instantclient_19_8】は Path
【C:\oracle\instantclient_19_8\network\admin】は TNS_ADMIN
この2つのフォルダは、環境変数として定義します。
あとは、NLS_LANG という環境変数も定義します。これは利用する文字コードに合わせて定義します。
インストール
これで準備は整いましたので、インストール作業を実施します。
まず、コマンドプロンプトを管理者権限で起動します。
でPathで定義した【C:\oracle\instantclient_19_8】にcd コマンドで移動します。
次はコマンドを実行してODBCをインストールするだけなのですが、こちらでも注意点があります。
同フォルダ内にある【sqresus.dll】がコマンド実行後に消えてしまうことがあるようです。
※実際に消えました
なので、先に【sqresus.dll】このファイルだけどこか別のところにコピーしておくと楽です。
あとは、odbc_install JA とすれば完了です。
まとめ
Oracle Instant Client をインストールしてみたお話でした。
最近DBでは、MySQLやMariaDBばかりでたまにPostgreSQLといった感じで、Oracleを触る機会はめっきり減りました。
その為、作業時にどんな感じで触っていたか思い出すところから入るので、また触るときには記事を見て思い出しながら実施したいと思います。
プロフィール
サーバ構築周り全般を対応しております。
LINK
クラウドベリージャム:プロフィールページ