データベースリンクと 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 構文を使用することを推奨します。