データベースリンクと DBMS_RLS 特権を管理します。

Oracle と互換性のある PolarDB データベースは、Oracle が提供していない ALTER ROLE SQL コマンドの構文を提供します。 この構文は、Oracle データベースと互換性のあるデータベースリンクを作成および削除する特権と、詳細なアクセス制御のための DBMS_RLS 特権を割り当てる場合に便利です。

CREATE DATABASE LINK

CREATE DATABASE LINK 特権を持つユーザーは、プライベートデータベースリンクを作成できます。 次の ALTER ROLE コマンドを使用して、プライベートデータベースリンクを作成する特権をロールに付与できます。

ALTER ROLE role_name
     WITH [CREATEDBLINK | CREATE DATABASE LINK]

このコマンドには、次のコマンドと同じ効果があります。

GRANT CREATE DATABASE LINK to role_name

次のコマンドを使用して、特権を取り消すことができます。

ALTER ROLE role_name
    WITH [NOCREATEDBLINK | NO CREATE DATABASE LINK]
CREATEDBLINK および NOCREATEDBLINK 構文は破棄されます。 CREATE DATABASE LINK および NO CREATE DATABASE LINK 構文を使用することを推奨します。

CREATE PUBLIC DATABASE LINK

CREATE PUBLIC DATABASE LINK 特権を持つユーザーは、パブリックデータベースリンクを作成できます。 次の ALTER ROLE コマンドを使用して、パブリックデータベースリンクを作成する特権をロールに付与できます。

ALTER ROLE role_name
  WITH [CREATEPUBLICDBLINK | CREATE PUBLIC DATABASE LINK]

このコマンドには、次のコマンドと同じ効果があります。

GRANT CREATE PUBLIC DATABASE LINK to role_name

次のコマンドを使用して、特権を取り消すことができます。

ALTER ROLE role_name
  WITH [NOCREATEPUBLICDBLINK | NO CREATE PUBLIC DATABASE LINK]
CREATEPUBLICDBLINK および NOCREATEPUBLICDBLINK 構文は破棄されます。 CREATE PUBLIC DATABASE LINK および NO CREATE PUBLIC DATABASE LINK 構文を使用することを推奨します。

DROP PUBLIC DATABASE LINK

DROP PUBLIC DATABASE LINK 特権を持つユーザーは、パブリックデータベースリンクを削除できます。 次の ALTER ROLE コマンドを使用して、パブリックデータベースリンクを削除する特権をロールに付与できます。

ALTER ROLE role_name
   WITH [DROPPUBLICDBLINK | DROP PUBLIC DATABASE LINK]

このコマンドには、次のコマンドと同じ効果があります。

GRANT DROP PUBLIC DATABASE LINK to role_name

次のコマンドを使用して、特権を取り消すことができます。

ALTER ROLE role_name
    WITH [NODROPPUBLICDBLINK | NO DROP PUBLIC DATABASE LINK]
DROPPUBLICDBLINK および NODROPPUBLICDBLINK 構文は破棄されます。 DROP PUBLIC DATABASE LINK および NO DROP PUBLIC DATABASE LINK 構文を使用することを推奨します。

EXEMPT ACCESS POLICY

EXEMPT ACCESS POLICY 特権を持つユーザーは、詳細なアクセス制御 (DBMS_RLS) ポリシーから除外されます。 EXEMPT ACCESS POLICY 特権を持つユーザーは、DBMS_RLS ポリシーによって制限されているテーブル内の行を表示または変更できます。 次の ALTER ROLE コマンドを使用して、ロールに EXEMPT ACCESS POLICY 特権を付与して、定義された DBMS_RLS ポリシーからロールを除外することができます。

ALTER ROLE role_name
    WITH [POLICYEXEMPT | EXEMPT ACCESS POLICY]

このコマンドには、次のコマンドと同じ効果があります。

GRANT EXEMPT ACCESS POLICY TO role_name

次のコマンドを使用して、特権を取り消すことができます。

ALTER ROLE role_name
  WITH [NOPOLICYEXEMPT | NO EXEMPT ACCESS POLICY]
POLICYEXEMPT および NOPOLICYEXEMPT 構文は破棄されます。 EXEMPT ACCESS POLICY および NO EXEMPT ACCESS POLICY 構文を使用することを推奨します。