ホーム > アプリケーション・セキュリティの管理 > Oracle Database 11gのネットワーク・サービスの有効化
Oracle Database 11gのネットワーク・サービスの有効化 |
![]() 前へ |
![]() 次へ |
デフォルトでは、ネットワーク・サービスと通信する機能はOracle Database 11g リリース1(11.1)では無効化されています。このため、Oracle Database 11g リリース1(11.1)でOracle Application Expressを実行している場合は、新しいDBMS_NETWORK_ACL_ADMINパッケージを使用してFLOWS_030000データベース・ユーザーの任意のホストに接続権限を付与する必要があります。権限付与に失敗すると次の操作に問題が発生します。
Oracle Application Expressによる外部への電子メールの送信
ユーザーはAPEX_MAILパッケージからメソッドをコールできますが、外部へ電子メールを送信するときに問題が発生します。
Oracle Application Express内のWebサービスの使用
(「検索」リンクを使用した)オンライン・ヘルプ・コンテンツの検索
次に例を示します。
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give FLOWS_030000
-- the "connect" privilege if FLOWS_030000 does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030000',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'FLOWS_030000', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'FLOWS_030000', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
COMMIT;