

# 마스터가 아닌 사용자에게 권한 부여
<a name="Appendix.Oracle.CommonDBATasks.PermissionsNonMasters"></a>

`SYS` 역할을 사용하여 `SELECT_CATALOG_ROLE` 스키마에 있는 여러 객체에 선택 권한을 부여할 수 있습니다. `SELECT_CATALOG_ROLE` 역할은 사용자에게 데이터 딕셔너리 뷰에 대한 `SELECT` 권한을 부여합니다. 다음은 역할 `SELECT_CATALOG_ROLE`을 사용자 `user1`에 부여하는 예제입니다.

```
GRANT SELECT_CATALOG_ROLE TO user1;
```

`EXECUTE` 역할을 사용하여 `SYS` 스키마에 있는 여러 객체에 `EXECUTE_CATALOG_ROLE` 권한을 부여할 수 있습니다. `EXECUTE_CATALOG_ROLE` 역할은 사용자에게 데이터 딕셔너리의 패키지와 프로시저에 대한 `EXECUTE` 권한을 부여합니다. 다음 예에서는 `EXECUTE_CATALOG_ROLE`이라는 역할을 *user1*이라는 사용자에게 부여합니다.

```
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;
```

다음 예에서는 *sh.sales*라는 데이터베이스에서 마스터 사용자가 아닌 `user1`이라는 사용자를 생성한 후 `CREATE SESSION` 권한과 `SELECT` 권한을 부여합니다.

```
CREATE USER user1 IDENTIFIED BY PASSWORD;
GRANT CREATE SESSION TO user1;
GRANT SELECT ON sh.sales TO user1;
```