A DBMS_JAVAパッケージ
この付録では、DBMS_JAVAパッケージについて説明します。このパッケージのファンクションとプロシージャは、JavaからRDBMS機能にアクセスするためのエントリ・ポイントを提供します。
A.1 hotload_module
procedure hotload_module(module VARCHAR2)
指定された名前のモジュールを現在のスキーマにホットロードします。このモジュールに対してパッケージが後で追加または削除された場合は、モジュールを再ロードまたは再ホットロードする必要があります。module-dataデータベース・スキーマ・データ・オブジェクトを、モジュールのmodule-infoと同じスキーマに追加し、module-infoをホットロードされているものとしてマークします。
A.2 hotload_module
procedure hotload_module(module VARCHAR2, schema VARCHAR2)
指定した名前のモジュールを、指定したスキーマにホットロードします。このモジュールに対してパッケージが後で追加または削除された場合は、モジュールを再ロードまたは再ホットロードする必要があります。module-dataデータベース・スキーマ・データ・オブジェクトを、モジュールのmodule-infoと同じスキーマに追加し、module-infoをホットロードされているものとしてマークします。
A.3 unhotload_module
procedure unhotload_module(module VARCHAR2)
現在のスキーマにホットロードされている指定した名前のモジュールのmodule-dataを削除し、module-infoをホットロードされていないものとしてマークします。
A.4 unhotload_module
procedure unhotload_module(module VARCHAR2, schema VARCHAR2)
指定したスキーマにホットロードされている指定した名前のモジュールのmodule-dataを削除し、module-infoをホットロードされていないものとしてマークします。
A.5 jar_digest_bytes
function jar_digest_bytes(jarname VARCHAR2,
schema VARCHAR2,
algorithm VARCHAR2) return RAW
指定したスキーマの指定したJARファイルのJARダイジェストを返します。これは、指定したアルゴリズムに従ってRAWとして計算されます。サポートされているアルゴリズムは、java.security.MessageDigestによって提供されるアルゴリズムで、MD5、SHA-1およびSHA-256アルゴリズムが含まれます。
A.6 jar_digest
function jar_digest (jarname VARCHAR2, schema VARCHAR2, algorithm VARCHAR2)
return VARCHAR2
指定したスキーマの指定したJARファイルのJARダイジェストを返します。これは、指定したアルゴリズムに従ってVARCHAR2として計算されます。サポートされているアルゴリズムは、java.security.MessageDigestによって提供されるアルゴリズムで、MD5、SHA-1およびSHA-256アルゴリズムが含まれます。
A.7 longname
FUNCTION longname (shortname VARCHAR2) RETURN VARCHAR2
指定したJavaスキーマ・オブジェクトの完全修飾名を戻します。JavaクラスとJavaメソッドには、SQL識別子の最大長を超える名前を設定できるため、Oracle JVMの内部では、SQLアクセス用の短縮名が使用されます。このファンクションは、すべての切り捨てられた名前の元のJava名を戻します。このファンクションの例では、無効なクラスの完全修飾名を次のように表示します。
SELECT dbms_java.longname (object_name) FROM user_objects WHERE object_type = 'JAVA CLASS' AND status = 'INVALID';
関連項目:
A.8 shortname
FUNCTION shortname (longname VARCHAR2) RETURN VARCHAR2
データベースにフルネームを指定するには、フルネームを入力として取得し、対応する短い名前を戻すDBMS_JAVAパッケージのshortname()ルーチンを使用できます。これは、USER_OBJECTSビューの問合せによってロードされたクラスの検証に役立ちます。
関連項目:
A.9 get_compiler_option
FUNCTION get_compiler_option(name VARCHAR2, optionName VARCHAR2) RETURN VARCHAR2
optionNameパラメータで指定したオプションの値を戻します。これは、Oracle Databaseにより提供されるJavaコンパイラに関するオプションの制御に使用するファンクションの1つです。
A.10 set_compiler_option
PROCEDURE set_compiler_option(name VARCHAR2, optionName VARCHAR2, value VARCHAR2)
Oracle Databaseにより提供されるJavaコンパイラに関するオプションの設定に使用されます。
A.11 reset_compiler_option
PROCEDURE reset_compiler_option(name VARCHAR2, optionName VARCHAR2)
指定したコンパイラ・オプションをデフォルト値に再設定するために使用されます。
A.12 resolver
FUNCTION resolver (name VARCHAR2, owner VARCHAR2, type VARCHAR2) RETURN VARCHAR2
オブジェクトがtype型のスキーマownerのオブジェクトnameに対するリゾルバ仕様を戻します。コール元には、EXECUTE権限、およびこのファンクションを使用するように指定されたオブジェクトへのアクセス権が必要です。
nameパラメータは、このオブジェクトの短縮名です。
typeの値は、SOURCEまたはCLASSのいずれかです。
エラーがある場合は、NULLが戻されます。基礎となるオブジェクトが変更された場合は、ObjectTypeChangedExceptionがスローされます。
このファンクションは次のようにコールできます。
SELECT dbms_java.resolver('tst', 'HR', 'CLASS') FROM DUAL;
次の結果が戻されます。
DBMS_JAVA.RESOLVER('TST','HR','CLASS')
-----------------------------------------
((* HR)(* PUBLIC))
A.13 derivedFrom
FUNCTION derivedFrom (name VARCHAR2, owner VARCHAR2, type VARCHAR2) RETURN VARCHAR2
オブジェクトがtype型のスキーマownerのオブジェクトnameに対するソース名を戻します。コール元には、EXECUTE権限、およびこのファンクションを使用するように指定されたオブジェクトへのアクセス権が必要です。
nameパラメータおよび戻されたソース名は、このオブジェクトの短縮名です。
typeの値は、SOURCEまたはCLASSのいずれかです。
エラーがある場合は、NULLが戻されます。基礎となるオブジェクトが変更された場合は、ObjectTypeChangedExceptionがスローされます。
オブジェクトがOracle JVMでコンパイルされなかった場合、戻り値はNULLになります。
このファンクションは次のようにコールできます。
SELECT dbms_java.derivedFrom('tst', 'HR', 'CLASS') FROM DUAL;
次の結果が戻されます。
DBMS_JAVA.DERIVEDFROM('TST','HR','CLASS')
-----------------------------------------
tst
A.14 fixed_in_instance
FUNCTION fixed_in_instance (name VARCHAR2, owner VARCHAR2, type VARCHAR2) RETURN NUMBER
オブジェクトがtype型のスキーマownerのオブジェクトnameに対して、永続的に保持されるステータスを戻します。コール元には、EXECUTE権限、およびこのファンクションを使用するように指定されたオブジェクトへのアクセス権が必要です。
nameパラメータは、このオブジェクトの短縮名です。
typeの値は、RESOURCE、SOURCE、CLASSまたはSHARED_DATAのいずれかです。
戻される数値は、ステータスを保持しないことを示す0か、保持することを示す1のいずれかです。
このファンクションは次のようにコールできます。
SELECT dbms_java.fixed_in_instance('tst', 'HR', 'CLASS') FROM DUAL;
次の結果が戻されます。
DBMS_JAVA.FIXED_IN_INSTANCE('TST','HR','CLASS')
-----------------------------------------
0
次の文を考えてみます。
SELECT dbms_java.fixed_in_instance('java/lang/String', 'SYS', 'CLASS') FROM DUAL;
次の結果が戻されます。
DBMS_JAVA.FIXED_IN_INSTANCE('JAVA/LANG/STRING','SYS','CLASS')
-------------------------------------------------------------
1
A.15 set_output
PROCEDURE set_output (buffersize NUMBER)
Javaストアド・プロシージャの出力をリダイレクトし、DBMS_OUTPUTパッケージにトリガーします。
関連項目:
A.16 export_source
PROCEDURE export_source(name VARCHAR2, schema VARCHAR2, src BLOB) PROCEDURE export_source(name VARCHAR2, src BLOB) PROCEDURE export_source(name VARCHAR2, src CLOB) PROCEDURE export_source(name varchar2, schema varchar2, src CLOB)
Javaソース・スキーマ・オブジェクトを同じデータベースのBLOBまたはCLOBにエクスポートするために使用します。スキーマ・パラメータが指定されていない場合は、現在のスキーマが使用されます。ソースの内部表現には、UTF8形式が使用されます。
A.17 export_class
PROCEDURE export_class(name VARCHAR2, schema VARCHAR2, src BLOB) PROCEDURE export_class(name VARCHAR2, src BLOB)
Javaクラス・スキーマ・オブジェクトを同じデータベースのBLOBにエクスポートするために使用します。スキーマ・パラメータが指定されていない場合は、現在のスキーマが使用されます。
A.18 export_resource
PROCEDURE export_resource(name VARCHAR2, schema VARCHAR2, src BLOB) PROCEDURE export_resource(name VARCHAR2, src BLOB) PROCEDURE export_resource(name VARCHAR2, schema VARCHAR2, src CLOB) PROCEDURE export_resource(name VARCHAR2, src CLOB)
現在のスキーマのnameパラメータで記述されたリソース・スキーマ・オブジェクトを、同じデータベースのCLOBまたはBLOBにエクスポートするために使用します。スキーマ・パラメータが指定されている場合は、そのスキーマがオブジェクトの参照に使用されます。
A.19 loadjava
PROCEDURE loadjava(options VARCHAR2) PROCEDURE loadjava(options VARCHAR2, resolver VARCHAR2) PROCEDURE loadjava(options VARCHAR2, resolver VARCHAR2, status NUMBER)
loadjavaコマンドライン・ツールではなく、コールを使用して、データベースに複数のクラスをロードできます。このプロシージャは、次のように、使用しているJavaアプリケーション内でコールできます。
CALL dbms_java.loadjava('... options...');
オプションは、コマンドラインで指定する内容と同じです。各オプションは、スペースで区切る必要があります。オプションをカンマで区切らないでください。これに関する唯一の例外は、スペースを含むloadjava -resolverオプションです。-resolverの場合は、次のように、最初にすべての他のオプションを指定してカンマで区切り、次に-resolverオプションを指定します。
CALL dbms_java.loadjava('... options...', 'resolver_options');
-thin、-oci、-userおよび-passwordの各オプションはデータベース接続に関連しているため、指定しないでください。出力は、System.errに送られます。通常、出力はトレース・ファイルに保存されますが、リダイレクトできます。
関連項目:
A.20 dropjava
PROCEDURE dropjava(options VARCHAR2)
dropjavaコマンドライン・ツールではなく、コールを使用して、データベース内のクラスを削除できます。このプロシージャは、次のように、使用しているJavaアプリケーション内でコールできます。
CALL dbms_java.dropjava('... options...');
関連項目:
A.21 grant_permission
PROCEDURE grant_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2)
grant_permissionがコールされると、ポリシー表のアクティブな行によって、permission_type、permission_nameおよびpermission_actionで指定されている許可がgranteeに付与されます。これらのパラメータと一致する有効な行がすでに存在する場合、表は変更されません。行は存在するが無効になっている場合、有効化されます。一致する行が存在しない場合、1行が挿入されます。パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前です。 -
permission_actionは許可のアクションです。
関連項目:
A.22 grant_permission
PROCEDURE grant_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2, key OUT NUMBER)
パラメータで指定されている許可を付与する新しい行が、ポリシー表に追加されます。
パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前です。 -
permission_actionは許可のアクションです。 -
keyは、許可を付与する、新しく挿入される行のキーです。エラーが発生した場合、この値は-1です。
関連項目:
A.23 restrict_permission
PROCEDURE restrict_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2)
ポリシー表のアクティブな行によって、permission_type、permission_nameおよびpermission_actionで指定されている許可がgranteeに制限されます。これらのパラメータと一致する、制限している行がすでに存在する場合、表は変更されません。一致する行が存在しない場合、1行が挿入されます。
パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前です。 -
permission_actionは許可のアクションです。
関連項目:
A.24 restrict_permission
PROCEDURE restrict_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2, key OUT NUMBER)
パラメータで指定されている許可を制限する新しい行が、ポリシー表に追加されます。
パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前です。 -
permission_actionは許可のアクションです。 -
keyは、許可を付与する、新しく挿入される行のキーです。エラーが発生した場合、この値は-1です。
関連項目:
A.25 grant_policy_permission
PROCEDURE grant_policy_permission(grantee VARCHAR2, permission_schema VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2)
PolicyTablePermission許可を付与するためのgrant_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2)プロシージャの特殊なバージョンです。
パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_schemaは許可のスキーマです。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前であり、グロブ・アスタリスク('*')にできます。
A.26 grant_policy_permission
PROCEDURE grant_policy_permission(grantee VARCHAR2, permission_schema VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, key OUT NUMBER)
PolicyTablePermission許可を付与するためのgrant_permission(grantee VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2, key OUT NUMBER)プロシージャの特殊なバージョンです。パラメータの説明:
-
granteeはスキーマまたはロールの名前です。 -
permission_schemaは許可のスキーマです。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前であり、グロブ・アスタリスク('*')にできます。 -
keyは、許可を付与する、新しく挿入される行のキーです。エラーが発生した場合、この値は-1です。
A.27 revoke_permission
PROCEDURE revoke_permission(permission_schema VARCHAR2, permission_type VARCHAR2, permission_name VARCHAR2, permission_action VARCHAR2)
ポリシー表の、パラメータと一致するアクティブな許可をすべて無効にします。結果は、行が一致するたびにdisable_permissionプロシージャをコールした場合と同じになります。行は削除されずに表に残り、revoke_permissionプロシージャのパラメータと一致するパラメータを使用してgrant_permissionプロシージャをコールすることによってアクティブにできます。
パラメータの説明:
-
permission_schemaは、スキーマまたはロールの名前です。 -
permission_typeは、java.lang.security.Permissionを拡張するクラスの完全修飾名です。 -
permission_nameは許可の名前です。 -
permission_actionは許可のアクションです。
関連項目:
A.28 disable_permission
PROCEDURE disable_permission(key NUMBER)
指定したキーと一致する既存のポリシー表行を無効にします。行はINACTIVE行として表に残ります。キーが行を指定していない場合、エラーは報告されません。disable_permissionプロシージャは、ポリシー表にアクセスするためのユーザー許可を確認し、場合によってSecurityExceptionをスローします。
関連項目:
A.29 enable_permission
PROCEDURE enable_permission(key NUMBER)
指定したキーと一致する既存のポリシー表行を有効にします。キーが行を指定していない場合、エラーは報告されません。enable_permissionプロシージャは、ポリシー表にアクセスするためのユーザー許可を確認し、場合によってSecurityExceptionをスローします。
関連項目:
A.30 delete_permission
PROCEDURE delete_permission(key NUMBER)
指定したキーと一致する既存のポリシー表行を削除します。行を削除する前に、disable_permissionで示されているように行を無効にする必要があります。delete_permissionプロシージャは、行がまだアクティブになっている場合や、keyと一致する行がない場合は機能しません。
関連項目:
A.31 set_preference
PROCEDURE set_preference(user VARCHAR2, type VARCHAR2, abspath VARCHAR2, key VARCHAR2, value VARCHAR2)
次のようにして、SYS:java$prefs$表に行を挿入または更新します。
CALL dbms_java.set_preference('HR', 'U', '/my/package/method/three', 'windowsize', '22:32');
userパラメータには、設定項目の連結先スキーマの名前を指定します。ログイン・スキーマがSYSではない場合、userには、現在のログイン・スキーマを指定する必要があり、指定しないと、INSERTに失敗します。typeパラメータには、ユーザー設定項目を示す値Uを指定するか、またはシステム設定項目を示すSを指定できます。abspathパラメータには、設定項目の絶対パスを指定します。keyは参照に使用する設定項目キー、valueは設定項目キーの値です。
A.32 runjava
FUNCTION runjava(cmdline VARCHAR2) RETURN VARCHAR2
Javaコマンドラインを唯一の引数として受け入れ、Oracle JVMでこれを実行します。
関連項目:
A.33 runjava_in_current_session
FUNCTION runjava_in_current_session(cmdline VARCHAR2) RETURN VARCHAR2
現在のコマンドラインを実行する前に、以前にJavaを使用したときからセッションに残っているJavaの状態をクリアしない点を除き、runjavaファンクションと同じです。
関連項目:
A.34 set_property
FUNCTION set_property(name VARCHAR2, value VARCHAR2) RETURN VARCHAR2
Javaセッションが初期化されると、RDBMSの現行セッションの期間に使用されるシステム・プロパティの値を設定します。
ノート:
SET_PROPERTYファンクションを実行するには、ユーザーはプロパティ名のSYS:java.util.PropertyPermissionに対する書込みパーミッションを保持する必要があります。このパーミッションを付与するには、次のコマンドを使用します。
call dbms_java.grant_permission( '<user_name>', 'SYS:java.util.PropertyPermission', '<property_name>', 'write' );
関連項目:
A.35 get_property
FUNCTION get_property(name VARCHAR2) RETURN VARCHAR2
set_propertyで以前に設定された値を戻します。
関連項目:
A.36 remove_property
FUNCTION remove_property(name VARCHAR2) RETURN VARCHAR2
set_propertyで以前に設定された値を削除します。
ノート:
remove_propertyファンクションを実行するには、ユーザーはプロパティ名のSYS:java.util.PropertyPermissionに対する書込みパーミッションを保持する必要があります。このパーミッションを付与するには、次のコマンドを使用します。
call dbms_java.grant_permission( '<user_name>', 'SYS:java.util.PropertyPermission', '<property_name>', 'write' );
関連項目:
A.37 show_property
FUNCTION show_property(name VARCHAR2) RETURN VARCHAR2
nameがNULLの場合、入力名または設定されたすべてのプロパティのバインディングについて、name = valueという形式のメッセージを表示します。
関連項目:
A.38 set_output_to_sql
FUNCTION set_output_to_sql (id VARCHAR2, stmt VARCHAR2, bindings VARCHAR2, no_newline_stmt VARCHAR2 default null, no_newline_bindings VARCHAR2 default null, newline_only_stmt VARCHAR2 default null, newline_only_bindings VARCHAR2 default null, maximum_line_segment_length NUMBER default 0, allow_replace NUMBER default 1, from_stdout NUMBER default 1, from_stderr NUMBER default 1, include_newlines NUMBER default 0, eager NUMBER default 0) RETURN VARCHAR2
デフォルトのSystem.outおよびSystem.errへの出力ストリームが発生すると、SQL文の実行命令で構成される指定の出力仕様を定義します。
SQL文の引数の有効なコマンドは、次のいずれかのキーワード(大/小文字が区別されます)から始まり、その後に空白またはタブが続きます。
-
SELECT -
INSERT -
DELETE -
UPDATE -
CALL
関連項目:
A.39 remove_output_to_sql
FUNCTION remove_output_to_sql (id VARCHAR2) RETURN VARCHAR2
set_output_to_sqlで作成された仕様を削除します。
関連項目:
A.40 enable_output_to_sql
FUNCTION enable_output_to_sql (id VARCHAR2) RETURN VARCHAR2
set_output_to_sqlで作成された後、disable_output_to_sqlで無効化された仕様を再度有効にします。
関連項目:
A.41 disable_output_to_sql
FUNCTION disable_output_to_sql (id VARCHAR2) RETURN VARCHAR2
set_output_to_sqlで作成された仕様を無効にします。
関連項目:
A.42 query_output_to_sql
FUNCTION query_output_to_sql (id VARCHAR2) RETURN VARCHAR2
set_output_to_sqlで作成された仕様を説明するメッセージを戻します。
関連項目:
A.43 set_output_to_java
FUNCTION set_output_to_java (id VARCHAR2, class_name VARCHAR2, class_schema VARCHAR2, method VARCHAR2, bindings VARCHAR2, no_newline_method VARCHAR2 default null, no_newline_bindings VARCHAR2 default null, newline_only_method VARCHAR2 default null, newline_only_bindings VARCHAR2 default null, maximum_line_segment_length NUMBER default 0, allow_replace NUMBER default 1, from_stdout NUMBER default 1, from_stderr NUMBER default 1, include_newlines NUMBER default 0, eager NUMBER default 0, initialization_statement VARCHAR2 default null, finalization_statement VARCHAR2 default null)RETURN VARCHAR2
デフォルトのSystem.outおよびSystem.errへの出力ストリームが発生すると、Javaメソッドの実行命令で構成される指定の出力仕様を定義します。
SQL文の引数の有効なコマンドは、次のいずれかのキーワード(大/小文字が区別されます)から始まり、その後に空白またはタブが続きます。
-
SELECT -
INSERT -
DELETE -
UPDATE -
CALL
関連項目:
A.44 remove_output_to_java
FUNCTION remove_output_to_java (id VARCHAR2) RETURN VARCHAR2
set_output_to_javaで作成された仕様を削除します。
関連項目:
A.45 enable_output_to_java
FUNCTION enable_output_to_java (id VARCHAR2) RETURN VARCHAR2
set_output_to_javaで作成された後、disable_output_to_javaで無効化された仕様を再度有効にします。
関連項目:
A.46 disable_output_to_java
FUNCTION disable_output_to_java (id VARCHAR2) RETURN VARCHAR2
set_output_to_javaで作成された仕様を無効にします。
関連項目:
A.47 query_output_to_java
FUNCTION query_output_to_java (id VARCHAR2) RETURN VARCHAR2
set_output_to_javaで作成された仕様を説明するメッセージを戻します。
関連項目:
A.48 set_output_to_file
FUNCTION set_output_to_file (id VARCHAR2, file_path VARCHAR2, allow_replace NUMBER default 1, from_stdout NUMBER default 1, from_stderr NUMBER default 1) RETURN VARCHAR2
デフォルトのSystem.outに送信された出力を捕捉し、出力を捕捉する命令を構成する指定の出力仕様を定義します。
System.errストリームで、その出力を特定のファイルに追加します。
関連項目:
A.49 remove_output_to_file
FUNCTION remove_output_to_file (id VARCHAR2) RETURN VARCHAR2
set_output_to_fileで作成された仕様を削除します。
関連項目:
A.50 enable_output_to_file
FUNCTION enable_output_to_file (id VARCHAR2) RETURN VARCHAR2
set_output_to_fileで作成された後、disable_output_to_fileで無効化された仕様を再度有効にします。
関連項目:
A.51 disable_output_to_file
FUNCTION disable_output_to_file (id VARCHAR2) RETURN VARCHAR2
set_output_to_fileで作成された仕様を無効にします。
関連項目:
A.52 query_output_to_file
FUNCTION query_output_to_file (id VARCHAR2) RETURN VARCHAR2
set_output_to_fileで作成された仕様を説明するメッセージを戻します。
関連項目:
A.53 enable_output_to_trc
PROCEDURE enable_output_to_trc
disable_output_to_trcプロシージャで無効化された.trcファイルへのSystem.outおよびSystem.errの出力を再び有効にします。
関連項目:
A.54 disable_output_to_trc
PROCEDURE disable_output_to_trc
System.outおよびSystem.errの出力が.trcファイルに表示されないようにします。
関連項目:
A.55 query_output_to_trc
FUNCTION query_output_to_trc RETURN VARCHAR2
System.outおよびSystem.errの.trcファイルへの出力が現在有効になっているかどうかを表示する値を戻します。
関連項目:
A.56 endsession
FUNCTION endsession RETURN VARCHAR2
以前にJavaを実行したときからRDBMS現行セッションに残っているJavaセッションの状態をすべてクリアします。
関連項目:
A.57 endsession_and_related_state
FUNCTION endsession_and_related_state RETURN VARCHAR2
以前にJavaを実行したときからRDBMS現行セッションに残っているJavaセッションの状態と、Javaの実行に関連するサポート・データをすべてクリアします。
関連項目:
A.58 set_native_compiler_option
PROCEDURE set_native_compiler_option(optionName VARCHAR2, value VARCHAR2)
ネイティブ・コンパイラのオプションを現行スキーマの指定の値に設定します。
A.59 unset_native_compiler_option
PROCEDURE unset_native_compiler_option(optionName VARCHAR2, value VARCHAR2)
現行スキーマについて、ネイティブ・コンパイラのオプション/値のペアの設定を解除します。
A.60 compile_class
FUNCTION compile_class(classname VARCHAR2) RETURN NUMBER
現行スキーマのclassnameで特定されるクラスで定義されたすべてのメソッドをコンパイルします。
A.61 uncompile_class
FUNCTION uncompile_class(classname VARCHAR2, permanentp NUMBER default 0) RETURN NUMBER
現行スキーマのclassnameで特定されるクラスで定義されたすべてのメソッドをアンコンパイルします。
A.62 compile_method
FUNCTION compile_method(classname VARCHAR2, methodname VARCHAR2, methodsig VARCHAR2) RETURN NUMBER
現行スキーマのclassnameで特定されるクラスで定義されたnameおよびJava typeシグネチャで指定したメソッドをコンパイルします。
A.63 uncompile_method
FUNCTION uncompile_method(classname VARCHAR2, methodname VARCHAR2, methodsig VARCHAR2, permanentp NUMBER default 0) RETURN NUMBER
現行スキーマのclassnameで特定されるクラスで定義されたnameおよびJava typeシグネチャで指定したメソッドをアンコンパイルします。
A.64 start_jmx_agent
PROCEDURE start_jmx_agent(port VARCHAR2 default NULL, ssl VARCHAR2 default NULL, auth VARCHAR2 default NULL)
特定のセッションでJMXエージェントを起動します。通常、エージェントはセッションの期間内はアクティブのままです。
関連項目:
A.65 set_runtime_exec_credentials
PROCEDURE set_runtime_exec_credentials(dbuser VARCHAR2, osuser VARCHAR2, ospass VARCHAR2)
dbuserはデータベース・ユーザー名またはスキーマ名で、osuser、ospassはOSアカウント資格証明です。
データベース・ユーザー/スキーマdbuserを、オペレーティング・システム(OS)資格証明のペアosuser/ospassと関連付けます。この関連付けは暗号化されて、SYSユーザーが所有する表に格納されます。新しい有効な関連付けが確立された後は、java.lang.Runtime.execメソッドによって分岐された新しいOSプロセスや、dbuserがOSコマンドを実行するために起動されたProceessBuilderはいずれも、OracleプロセスのOS IDとしてでなくUID osuserとして実行されます。つまり、分岐したプロセスのUIDビットはUID osuserに設定されます。
ノート:
DBAおよびセキュリティ管理者は、このプロシージャを使用して、Oracle DatabaseにデプロイされたJavaアプリケーションのセキュリティを強化します。DBAは、より権限の小さいアカウントを指定することによって、生成されるプロセスの権限およびアクセス権を適宜制限できます。set_runtime_exec_credentialsプロシージャを使用するには、SYSユーザーである必要があり、そうでない場合は「ORA-01031: 権限が不足しています」エラーが発生します。無効なアカウント資格証明を使用すると、新しいプロセスの作成時にIOExceptionが発生します。
このプロシージャの使用方法の例を次に示します。
例1
次のコマンドは、ユーザー/スキーマDBUSERを資格証明osuser/ospassにバインドします。
dbms_java.set_runtime_exec_credentials('DBUSER', 'osuser', 'ospass');
例2
次のいずれかのコマンドは、DBUSERと資格証明osuser/ospassの関連付けをアンバインドします。
dbms_java.set_runtime_exec_credentials('DBUSER', '', '');
dbms_java.set_runtime_exec_credentials('DBUSER', null, null);
ノート:
set_runtime_exec_credentialsプロシージャを使用するには、Oracleのjssu機能を構成して、Oracle製品のインストール時にUID rootを設定する必要があり、そうしない場合はプロセスの作成時にprocess spawn via jssu failed...というIOExceptionが発生する可能性があります。