

# 向非主用户授予权限
<a name="Appendix.Oracle.CommonDBATasks.PermissionsNonMasters"></a>

您可以使用 `SYS` 角色向 `SELECT_CATALOG_ROLE` 架构中的多个对象授予 select 权限。`SELECT_CATALOG_ROLE` 角色向用户授予对数据字典视图的 `SELECT` 权限。以下示例向名为 `SELECT_CATALOG_ROLE` 的用户授予角色 `user1`。

```
GRANT SELECT_CATALOG_ROLE TO user1;
```

您可以使用 `EXECUTE` 角色向 `SYS` 架构中的多个对象授予 `EXECUTE_CATALOG_ROLE` 权限。`EXECUTE_CATALOG_ROLE` 角色向用户授予对数据字典中的包和过程的 `EXECUTE` 权限。以下示例向名为 *user1* 的用户授予角色 `EXECUTE_CATALOG_ROLE`。

```
GRANT EXECUTE_CATALOG_ROLE TO user1;
```

以下示例获取角色 `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 USER user1 IDENTIFIED BY PASSWORD;
GRANT CREATE SESSION TO user1;
GRANT SELECT ON sh.sales TO user1;
```