非マスターユーザーへの権限の付与
SYS ロールを使用すると、SELECT_CATALOG_ROLE スキーマ内の多くのオブジェクトに対する選択権限を付与できます。SELECT_CATALOG_ROLE ロールは、データディクショナリビューに対する SELECT 権限をユーザーに付与します。次の例では、ユーザー SELECT_CATALOG_ROLE にロール user1 を付与します。
GRANT SELECT_CATALOG_ROLE TOuser1;
EXECUTE ロールを使用すると、SYS スキーマ内の多くのオブジェクトに対する EXECUTE_CATALOG_ROLE 権限を付与できます。EXECUTE_CATALOG_ROLE ロールは、データディクショナリのパッケージとプロシージャに対する EXECUTE 権限をユーザーに付与します。次の例では、ユーザー user1 にロール EXECUTE_CATALOG_ROLE を付与します。
GRANT EXECUTE_CATALOG_ROLE TOuser1;
次の例では、ロール SELECT_CATALOG_ROLE とロール EXECUTE_CATALOG_ROLE が許可するアクセス権限を取得します。
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') ORDER BY ROLE, TABLE_NAME ASC;
次の例では、非マスターユーザー user1 を作成し、CREATE SESSION 権限を付与します。また、データベース sh.sales に対する SELECT 権限を付与します。
CREATE USERuser1IDENTIFIED BY PASSWORD; GRANT CREATE SESSION TOuser1; GRANT SELECT ONsh.salesTOuser1;