スマートスタイル TECH BLOG

データベース&クラウド技術情報

Oracle Autonomous Transaction Processing にPHPで接続してみる

弊社ブログの Oracle Autonomous Transaction Processing(以下 ATP)記事の第3弾となりますが、今回は PHP で ATP に接続してみたいと思います。
過去の ATP の記事は以下となります。まだご覧になられていない方は、是非、一読頂ければと思います。

 
今回 PHP での接続を確認した環境は以下となります。

  • CentOS 7.5
  • PHP 7.3
  • Oracle Instant Client 19.3

手順

1.PHPをインストール

EPEL、Remiリポジトリをインストールし、PHP7.3をインストールします。
接続ドライバとしてOCI8モジュールもインストールします。

2.必要なインストールパッケージ、クライアント資格証明書(ウォレット)の用意

▼Oracle Instant Client

Oracle Technology Networkより、以下のファイルをダウンロードしてサーバに配置しておきます。
sqlplus は登録データ確認用としてインストールします。

  • oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
  • oracle-instantclient19.3-devel-19.3.0.0.0-1.x86_64.rpm
  • oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm

(執筆時点で公開されていた最新バージョンとなります。)

▼クライアント資格証明書(ウォレット)

Oracle Cloud のコンソール画面の「Autonomous Transaction Processing」の詳細画面よりクライアント資格証明書をダウンロードしてサーバに配置します。
ダウンロード手順は弊社ブログ「Oracle Autonomous Database(ATP)を触ってみた」に記載していますので参照頂ければと思います。

作業ディレクトリに以下のようにダウンロードしたファイルを保存しています。

3.Oracle Instant Client の各パッケージをインストール

ダウンロードした Oracle Instant Client の各パッケージをインストールし、共有ライブラリの検索パスを追加します。

4.クライアント資格証明書の配置

Oracle Cloud のコンソール画面からダウンロードしたクライアント資格証明書を解凍し、必要なファイルを/usr/lib/oracle/19.3/client64/lib/network/admin/にコピーします。

5.PHPスクリプトからATPにデータ登録

以下のようなPHPスクリプトを用意しました。
(エラーハンドリング処理は省略しております。)

atp_test テーブルを作成し、以下のようなレコードを登録しています。

ID NAME
1 Tarou
2 Jirou
3 Saburou

※接続記述子は/usr/lib/oracle/19.3/client64/lib/network/admin/tnsnames.oraを確認して下さい。

それでは、実行してみます。

エラーなく終了したので、sqlplus で接続して確認してみます。

まとめ

アプリケーションからのデータベース操作は、特に ATP を意識する必要はなく Oracle データベースと同様に操作できます。
また、今回の執筆にあたり軽く調べたところ、Python や Go、Node.js、R といった言語で ATP に接続をされた方の日本語記事もあり、そんなに苦労せずにアプリケーションからも接続できるのではないでしょうか。
ATPのこれからの盛り上がりに期待したいと思います。


Oracle Cloud
Return Top