Oracle Instant をインストール

概 要

CentOS7のLINUXサーバーから、PHPプログラムで別のオラクルデータベースサーバーへの接続・データ検索を試みます。PHPからのオラクル接続は、Oracle Instant 、PHPのOCI8拡張モジュールを使用します。

Oracle Instant インストール


①オラクルHPからOracle Instantパッケージ入手
事前にユーザー登録し、ライセンス条項への同意し、下記リンク先より3つのオラクルクライアントパッケージを入手します。
Instant Client Downloads  for Linux x86-64 (64-bit)

No パッケージ名称
1  oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
2  oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
3  oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm


②インストール

適当なディレクトリに入手パッケージをコピーし、コマンドラインでコピー先のディレクトリに移動します。順番に下記コマンドで3つのパッケージをインストールします。

rpm -ivh oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
rpm -ivh oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
rpm -ivh oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm


③パス設定ファイル作成

oracle-instantclient.conf” ファイルを下記の通り作成します。

 etc/ld.so.conf.d/oracle-instantclient.conf

ファイル内には、次のライブラリパスを書きます。

 /usr/lib/oracle/18.5/client64/lib

次のコマンドを実行します。(ライブラリに対しリンク作成やキャッシュします。)

 ldconfig


④  “.bash_profile”  編集
vi エディタで  .bash_profile  を開きます。

 vi .bash_profile

次の内容を追記します。

  export LD_LIBRARY_PATH=/usr/lib/oracle/18.5/client64/lib:$LD_LIBRARY_PATH
 export PATH=$PATH:/usr/lib/oracle/18.5/client64/lib
 export NLS_LANG=Japanese_Japan.AL32UTF8

追記後、下記コマンドで  .bash_profile  変更を即時適用します。

 source .bash_profile

⑤SqlPlusで接続確認
コマンドラインから下記内容を入力すると、パスワード入力を求められます。パスワード入力すると、sql 入力できる状態になりますので、適当な sql を入力し、接続確認出来ます。

sqlplus64 ‘接続ユーザー名@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IPアドレス) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=サービス名)))’

※黄緑部は環境・接続等で異なります。

⑥OCI8インストール
下記にて、oci8 拡張モジュールインストールします。

 yum install –enablerepo=remi-php72 php-oci8.x86_64


⑦SELinux無効化
SELinux利用により、細かいアクセス制御が可能になる様ですが、一方で管理も困難になるかもしれません。とりあえず、今回はこの機能は停止します。vim で設定ファイルを編集します。

 vim /etc/selinux/config

下記の通り、SELINUX設定を “disabled” にします。

 SELINUX=disabled

再起動して、設定を有効化します。

⑧インストールの確認
実際にプログラムを実行する前にPHP‗INFOや下記等のコマンドでインストール状況を確認することが出来ます。

 php -i | egrep -i ‘oracle|oci’

 

まとめ

簡単なPHPプログラムを作成し、Windowsクライアントパソコンから、今回オラクルクライアントをインストールしたCentOS7 LINUXサーバー経由で別のオラクルデータベースサーバーに接続し、データ検索結果をブラウザ表示することを確認しました。
また、近いうちに使用したOCI接続,PDO-OCI接続の概要についてはまとめたいと思っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です