Oracle 11gデータベースを使用したPHPベースのWebサイトの接続プーリング
-
16-10-2019 - |
質問
Oracle 11gデータベースサーバーを使用していますが、OCIの永続的な接続はあまり使用されておらず、新しいユーザーがページにアクセスすると新しい接続が作成されていることがわかります。使用される接続のプールを持ちたいと思っていますが、新しい接続は作成されません。 DRCP(データベースの常駐接続プーリング)に出会いましたが、サーバーごとに作成できる接続の数を設定する方法を理解できません。
質問
- Oracle Webサイトで利用可能なドキュメントから、プールされたサーバーの最小数と最大数を設定できますが、接続の数はどこに設定されますか?
- Oracle 11Gのデータベースレジデント接続プーリングで作業した人はいますか?
- データベースサーバーがUNIXボックスである場合、ODBC接続プーリングを実行できますか?
解決
接続の数はどこに設定しますか?
プール内の最小および最大数の接続数を使用して指定できます
SQL>execute dbms_connection_pool.configure_pool(null, minsize=>10, maxsize=>100);
データベースサーバーがUNIXボックスである場合、ODBC接続プーリングを実行できますか?
なぜあなたがこれを求めているのかよくわかりません。 Oracle 11Gクライアントがいる限り、PHPでOCIを介してDRCPを利用できます。接続文字列を次のように指定するだけです myhost.dom.com:1521/sales:POOLED
そして、あなたの接続を使用します oci_pconnect()
.
ここに助けになるかもしれないいくつかのリソースがあります:
他のヒント
ベンフは正しい。+1プールのサイズを変更したくないように聞こえるので、maxsizeと同じようにminsizeを設定する必要があります。 DRCPのいくつかの追加のOracleエントリを次に示します。
- データベースの常駐接続プーリングについて (データベース管理者ガイド)
- データベースの常駐接続プーリングの構成 (データベース管理者ガイド)
- データベースの常駐接続プーリングについて (ネットサービス管理者ガイド)
- データベースの常駐接続プーリング (インターフェイスプログラマーズガイドを呼び出す)
最初のリンクには、専用サーバー、共有サーバー、およびDRCPの比較があります。共有サーバーは、考慮できる別のルートですが、DRCPの方が適しているように聞こえます。
所属していません dba.stackexchange