ヘッダーをスキップ
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
11g リリース1(11.1)
E05686-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

132 DBMS_STREAMS_AUTH

DBMS_STREAMS_AUTHパッケージは、Oracle Streamsパッケージ・セットの1つであり、Oracle Streams管理者に権限を付与し、Oracle Streams管理者から権限を取り消すためのサブプログラムを提供しています。


関連項目:

このパッケージおよびOracle Streams管理者の詳細は、『Oracle Streams概要および管理』を参照してください。

この章では、次の項目について説明します。


DBMS_STREAMS_AUTHサブプログラムの要約

表132-1 DBMS_STREAMS_AUTHパッケージのサブプログラム

サブプログラム 説明

GRANT_ADMIN_PRIVILEGEプロシージャ


ユーザーにOracle Streams管理者になるために必要な権限を直接付与するか、またはこれらの権限を付与するために使用できるスクリプトを生成します。

GRANT_REMOTE_ADMIN_ACCESSプロシージャ


データベース・リンクを使用して、権限受領者に接続することによって、リモートOracle Streams管理者が、ローカル・データベースで管理操作を実行できるようにします。

REVOKE_ADMIN_PRIVILEGEプロシージャ


ユーザーから直接Oracle Streams管理者の権限を取り消すか、これらの権限を取り消すために使用できるスクリプトを生成します。

REVOKE_REMOTE_ADMIN_ACCESSプロシージャ


データベース・リンクを使用して、権限受領者に接続することによって、リモートOracle Streams管理者が管理操作を実行できないようにします。



注意:

特に指定がないかぎり、すべてのサブプログラムがコミットされます。


GRANT_ADMIN_PRIVILEGEプロシージャ

このプロシージャは、ユーザーにOracle Streams管理者になるために必要な権限を直接付与するか、またはこれらの権限を付与するために使用できるスクリプトを生成します。

構文

DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
   grantee           IN  VARCHAR2,
   grant_privileges  IN  BOOLEAN   DEFAULT TRUE,
   file_name         IN  VARCHAR2  DEFAULT NULL,
   directory_name    IN  VARCHAR2  DEFAULT NULL);

パラメータ

表132-2 GRANT_ADMIN_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

grantee

権限を付与するユーザー。

grant_privileges

TRUEに設定すると、指定した権限受領者に権限が直接付与され、DBA_STREAMS_ADMINISTRATORデータ・ディレクトリ・ビューに、LOCAL_PRIVILEGES列とACCESS_FROM_REMOTE列の両方がYESで指定されて権限受領者が追加されます。このデータ・ディクショナリ・ビューにすでにユーザーのエントリがある場合、他のエントリを作成されず、エラーも発生しません。TRUEに設定すると、権限付与文が失敗した場合、エラーが発生します。

FALSEに設定すると、指定した権限受領者に権限は直接付与されず、権限受領者はDBA_STREAMS_ADMINISTRATORデータ・ディレクトリ・ビューに追加されません。

編集して実行するファイルをこのプロシージャで生成する場合は、FALSEに設定します。 FALSEを指定し、file_nameパラメータまたはdirectory_nameパラメータがNULLの場合、エラーが発生します。

file_name

このプロシージャによって生成されるファイルの名前。ファイルには、権限を付与するすべての文が格納されます。指定したファイル名のファイルが、指定したディレクトリ名にすでに存在する場合、既存のファイルに権限付与文が追加されます。

NULLに設定すると、ファイルは生成されません。

directory_name

生成されたファイルを配置するディレクトリ。指定したディレクトリは、SQL文CREATE DIRECTORYを使用して作成されたディレクトリ・オブジェクトである必要があります。ディレクトリを指定した場合、このプロシージャを起動するユーザーは、ディレクトリ・オブジェクトに対してWRITE権限を持つ必要があります。

file_nameパラメータがNULLの場合、このパラメータは無視され、ファイルは生成されません。

file_nameパラメータがNULL以外の場合にNULLに設定すると、エラーが発生します。


使用上の注意

このプロシージャを実行するユーザーは他のユーザーに権限を付与できる管理ユーザーである必要があります。

特に、このプロシージャは指定したユーザーに次の権限を付与します。


GRANT_REMOTE_ADMIN_ACCESSプロシージャ

このプロシージャは、リモートOracle Streams管理者が、データベース・リンクを使用して、権限受領者に接続することによって、ローカル・データベースでの管理操作を実行できるようにします。

構文

DBMS_STREAMS_AUTH.GRANT_REMOTE_ADMIN_ACCESS(
   grantee  IN  VARCHAR2);

パラメータ

表132-3 GRANT_REMOTE_ADMIN_ACCESSプロシージャのパラメータ

パラメータ 説明

grantee

リモート・アクセスを許可するユーザー。 ACCESS_FROM_REMOTE列がYESに指定されたDBA_STREAMS_ADMINISTRATORデータ・ディレクトリ・ビューに権限受領者が追加されます。このデータ・ディクショナリ・ビューにすでにユーザーのエントリがある場合、別のエントリは作成されません。 かわりに、ACCESS_FROM_REMOTE列がYESに更新されます。


使用上の注意

一般に、ダウンストリーム取得プロセスで、ローカル・ソース・データベースで発生した変更を取得した場合に、このプロシージャを実行して、ローカル・ソース・データベースの権限受領者を指定します。ダウンストリーム取得データベースのOracle Streams管理者は、この接続を利用して、ソース・データベースを管理します。さらに、適用プロセスを実行するデータベースでこのプロシージャを実行し、リモートOracle Streams管理者がローカル・データベースでインスタンス化SCNを設定できるようにします。


注意:

GRANT_ADMIN_PRIVILEGEプロシージャがこのプロシージャを実行します。


REVOKE_ADMIN_PRIVILEGEプロシージャ

このプロシージャは、ユーザーから直接Oracle Streams管理者の権限を取り消すか、またはこれらの権限を取り消すために使用できるスクリプトを生成します。

構文

DBMS_STREAMS_AUTH.REVOKE_ADMIN_PRIVILEGE(
   grantee            IN  VARCHAR2,
   revoke_privileges  IN  BOOLEAN   DEFAULT TRUE,
   file_name          IN  VARCHAR2  DEFAULT NULL,
   directory_name     IN  VARCHAR2  DEFAULT NULL);

パラメータ

表132-4 REVOKE_ADMIN_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

grantee

権限を取り消すユーザー。

revoke_privileges

TRUEに設定すると、指定したユーザーから権限が直接取り消され、DBA_STREAMS_ADMINISTRATORデータ・ディクショナリ・ビューからユーザーが削除されます。このデータ・ディクショナリ・ビューにユーザーのレコードがない場合、ビューからレコードは削除されず、エラーも発生しません。TRUEに設定すると、権限取消し文が失敗した場合、エラーが発生します。取り消そうとしている権限がユーザーに付与されていない場合、権限取消し文は失敗します。

FALSEに設定すると、指定したユーザーの権限は直接取り消されず、DBA_STREAMS_ADMINISTRATORデータ・ディクショナリ・ビューからユーザーは削除されません。

編集して実行するファイルをこのプロシージャで生成する場合は、FALSEに設定します。 FALSEに設定すると、file_nameまたはdirectory_nameパラメータのいずれかがNULLの場合、エラーは発生しません。

file_name

このプロシージャによって生成されるファイルの名前。ファイルには、権限を取り消すすべての文が格納されます。指定したファイル名のファイルが指定したディレクトリ名にすでに存在する場合、既存のファイルに権限取消し文が追加されます。

NULLに設定すると、ファイルは生成されません。

directory_name

生成されたファイルを配置するディレクトリ。指定したディレクトリは、SQL文CREATE DIRECTORYを使用して作成されたディレクトリ・オブジェクトである必要があります。ディレクトリを指定した場合、このプロシージャを起動するユーザーは、ディレクトリ・オブジェクトに対してWRITE権限を持つ必要があります。

file_nameパラメータがNULLの場合、このパラメータは無視され、ファイルは生成されません。

file_nameパラメータがNULL以外の場合にNULLに設定すると、エラーが発生します。


使用上の注意

このプロシージャを実行するユーザーは他のユーザーから権限を取り消せる管理ユーザーである必要があります。 特に、このプロシージャは、このパッケージのGRANT_ADMIN_PRIVILEGEプロシージャを実行して付与された権限を取り消します。


注意:

このプロシージャによって実行されるすべての文を詳しく参照するには、このプロシージャを使用してスクリプトを生成した後、テキスト・エディタでこのスクリプトを開きます。


REVOKE_REMOTE_ADMIN_ACCESSプロシージャ

このプロシージャは、リモートOracle Streams管理者がデータベース・リンクを使用して、権限受領者に接続することによって、管理操作を実行できないようにします。


注意:

REVOKE_ADMIN_PRIVILEGEプロシージャがこのプロシージャを実行します。

構文

DBMS_STREAMS_AUTH.REVOKE_REMOTE_ADMIN_ACCESS(
   grantee  IN  VARCHAR2);

パラメータ

表132-5 REVOKE_REMOTE_ADMIN_ACCESSプロシージャのパラメータ

パラメータ 説明

grantee

リモートOracle Streams管理者からのアクセスを無効にするユーザー。

権限受領者の列がDBA_STREAMS_ADMINISTRATORデータ・ディクショナリ・ビューに存在する場合、権限受領者のACCESS_FROM_REMOTE列はNOに更新されます。 この更新後、LOCAL_PRIVILEGES列およびACCESS_FROM_REMOTE列がともに権限受領者に対してNOである場合は、ビューから権限受領者が削除されます。

DBA_STREAMS_ADMINISTRATORデータ・ディクショナリ・ビューに権限受領者の列が存在しない場合、ビューは更新されず、エラーも発生しません。