Added: phpdoc/ja/trunk/reference/oci8/OCI-Collection.xml =================================================================== --- phpdoc/ja/trunk/reference/oci8/OCI-Collection.xml (rev 0) +++ phpdoc/ja/trunk/reference/oci8/OCI-Collection.xml 2014-12-21 08:03:46 UTC (rev 335328) @@ -0,0 +1,67 @@ + + + + + OCI-Collection クラス + OCI-Collection + + + + +
+ &reftitle.intro; + + OCI8 コレクション機能です。 + +
+ + +
+ &reftitle.classsynopsis; + + + + OCI-Collection + + + + + OCI-Collection + + + + + &Methods; + + + + +
+ +
+ + &reference.oci8.entities.OCI-Collection; + +
+ + + Added: phpdoc/ja/trunk/reference/oci8/OCI-Lob.xml =================================================================== --- phpdoc/ja/trunk/reference/oci8/OCI-Lob.xml (rev 0) +++ phpdoc/ja/trunk/reference/oci8/OCI-Lob.xml 2014-12-21 08:03:46 UTC (rev 335328) @@ -0,0 +1,68 @@ + + + + + OCI-Lob クラス + OCI-Lob + + + + +
+ &reftitle.intro; + + ラージバイナリ (BLOB) および キャラクタオブジェクト (CLOB) に対する + OCI8 ラージオブジェクト (LOB) 機能です。 + +
+ + +
+ &reftitle.classsynopsis; + + + + OCI-Lob + + + + + OCI-Lob + + + + + &Methods; + + + + +
+ +
+ + &reference.oci8.entities.OCI-Lob; + +
+ + + Added: phpdoc/ja/trunk/reference/oci8/dtrace.xml =================================================================== --- phpdoc/ja/trunk/reference/oci8/dtrace.xml (rev 0) +++ phpdoc/ja/trunk/reference/oci8/dtrace.xml 2014-12-21 08:03:46 UTC (rev 335328) @@ -0,0 +1,419 @@ + + + + + OCI8 および DTrace 動的トレーシング +
+ + OCI8 2.0 では、DTrace をサポートする OS 上で使用できる + 静的な DTrace プローブが導入されました。 + PHP および DTrace の概要については、DTrace 動的トレーシング をご覧ください。 + +
+ +
+ DTrace サポート付きで OCI8 をインストール + + PHP OCI8 で DTrace のサポートを有効にするには、 + PHP_DTRACE を設定後、 + OCI8 を共用拡張モジュールとしてビルドします。 + + + + + + + + + + php.ini を編集し、作成された oci8.so がある + ディレクトリを extension_dir に + 設定します。 + さらに以下のように追加してその拡張モジュールを有効にします。 + + + + + + + + + + もし、phpize および configure を + ( pecl の代わりに) + 使用して PECL から PHP OCI8 2.0 をインストールする場合、 + さらに PHP_DTRACE=yes を設定する必要があります。 + それは、--enable-dtrace オプションが、PECL バンドルの + 制限された configure スクリプトにより + 無視されるからです。 + + + + 一般的な PECL インストール手順については、PECL 拡張モジュールのインストール + をご覧ください。 + +
+ +
+ PHP OCI8 の DTrace 静的プローブ + + PHP OCI8 では、以下の静的プローブが使用できます + + + + プローブ名 + プローブの説明 + プローブの引数 + + + + + oci8-connect-entry + oci_connect()、oci_pconnect() および oci_new_connect() により開始されます。データベース接続が確立する前に発射されます。 + char *username, char *dbname, char *charset, long session_mode, int persistent, int exclusive + + + oci8-connect-return + 接続終了時に発射されます。 + void *connection + + + oci8-check-connection + Oracle のエラーにより、接続が不正になったかもしれない場合に発射されます。 + void *connection, char *client_id, int is_open, long errcode, unsigned long server_status + + + oci8-sqltext + oci_parse() が実行された際に発射されます。 + void *connection, char *client_id, void *statement, char *sql + + + oci8-connection-close + データベースへの接続が完全に破壊された際に発射されます。 + void *connection + + + oci8-error + Oracle のエラーが生じた場合に発射されます。 + int status, long errcode + + + oci8-execute-mode + 実行モードを示す oci_execute のたびに発射されます。 + void *connection, char *client_id, void *statement, unsigned int mode + + + +
+ + これらのプローブは、OCI8 スクリプトのトレーシングで有用です。 + + + + connection および statement は、 + PHP の接続および実行されたステートメントを追跡するために使用される内部構造への + ポインタです。 + + + + client_id は、 + oci_set_client_identifier により設定される値です。 + + + + + + + + + + + + + + コア PHP にも静的プローブがあります。 + コア PHP の DTrace 静的プローブ + をご覧ください。 + + + + OCI8 の DTrace プローブ内部デバッギング + + + + プローブ名 + + + + + oci8-connect-expiry + + + oci8-connect-lookup + + + oci8-connect-p-dtor-close + + + oci8-connect-p-dtor-release + + + oci8-connect-type + + + oci8-sesspool-create + + + oci8-sesspool-stats + + + oci8-sesspool-type + + + +
+ + これらのプローブは、OCI8 メンテナにとって有用です。 + 引数およびいつ発射されるかについては、OCI8 のソースコードを参照してください。 + +
+ +
+ PHP OCI8 の DTrace 静的プローブ一覧 + + 使用できるプローブを一覧表示するには、 + PHP プロセスを開始して以下のように実行します。 + + + + + + + + + 出力は以下のようになります。 + + + + + + + + + PROVIDER 列の値は、phpoci および + 現在実行中の PHP プロセスのプロセス ID から構成されます。 + + + + FUNCTION 列は、各プロバイダが配置された PHP 内部の C 実装関数名を参照します。 + + + + PHP プロセスが実行されていない場合、PHP プローブは表示されません。 + +
+ +
+ PHP OCI8 についての DTrace の例 + + この例では、DTrace の D スクリプト言語の基本を示します。 + + DTrace を使用して + すべてのユーザーレベルの PHP OCI8 静的プローブをトレースするための + <filename>user_oci8_probes.d</filename> + + + + + + + + このスクリプトは、dtrace に対して + -Z オプションを使用します。 + それにより、実行中の PHP プロセスがない場合に実行できるようになります。 + もしこのオプションが書き落とされた場合、 + モニターされているプローブがどれも存在しないことがわかっているので、 + PHP の実行可能ファイルが実行されていない場合、 + スクリプトは即座に終了します。 + + + + マルチ CPU マシンでは、プローブの順序は規則的に連続して表示されないことがあります。 + これは、どの CPU がプローブを処理し、 + CPU の間をスレッドがどのように移動したかに依存します。 + プローブのタイムスタンプを表示すると、 + 混乱を減らすことができます。 + + + + スクリプトは、PHP スクリプト実行中の期間全体にわたって、 + すべてのユーザーレベルの PHP OCI8 静的プローブ・ポイントをトレースします。 + D スクリプトを実行します。 + + + + + + + + + PHP スクリプトまたはアプリケーションを実行します。 + モニタリングの D スクリプトは、各プローブが発射されるたびに + その引数を出力します。 + 例えば、テーブルを照会する単純な PHP スクリプトにより + 以下のトレース出力がもたらされるでしょう。 + + + + + + + + + モニタリングが完了した際には、^Cを使用して + D スクリプトを終わらせることができます。 + + +
+ +
+ 関連項目 + + DTrace 動的トレーシング + +
+ +
+ + +