728x90
반응형
테이블 권한을 Role로 관리한다는 것은 DB나 SQL을 조금만 공부한 사람들은 모두 알고 있을 것이다.
그런데 계정에 Role 권한을 부여받았고, 조회하고자 하는 테이블에도 Role이 부여되어 있음에도 권한이 없다고 나올 때가 있다. 그럴 때는 Default Role 설정을 확인해보자.
Default Role은 로그인시 자동으로 활성화되는 Role의 서브집합이라 한다.
기본적으로 사용자에게 할당된 모든 Role은 로그인 시 자동으로 활성화되며 암호를 필요로 하지 않는다.
이때 Default Role이 Yes로 되어 있는 Role만 자동으로 활성화된다.
그러므로, Role을 부여받아도 Default Role이 Yes로 설정되어 있지 않으면, 권한이 적용되지 않는다.
▼ Default Role 설정 확인
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = '계정';
Default Role 컬럼이 No로 되어 있는가? No로 되어 있다면, Yes로 변경하도록 하자.
Default Role을 부여할 때 주의할 점이 있다. 일반적으로 계정은 여러 Role을 부여 받는다.
Role이 여러개 부여받은 상태일 때 아래와 같이 특정 Role 명만 부여한다면 다른 Role의 Default Role은 모두 No로 변경된다.
그러므로 아래와 같이 ALL을 주거나 아니면 모든 Role 명을 모두 작성해주어야 한다.
▼ Default Role 부여 방법
ALTER USER 계정명 DEFAULT ROLE ALL;
또는
ALTER USER 계정명 DEFAULT ROLE Role명1,Role명2,Role명3 ... Role명n;
728x90
반응형
'공부는 평생하는 것이다 > SQLP(D)' 카테고리의 다른 글
[IT/SQL] 오라클 SELECT 동작 원리 와 순서 (0) | 2023.11.28 |
---|---|
[IT/SQL] PK 삭제하고 재 생성하기 (0) | 2022.12.16 |
[SQLD/SQLP] 국가공인 SQL 전문가 (SQLP) 출제문항 수 (0) | 2022.11.01 |
[SQLD/SQLP] SQL 기본 (Ⅱ) (0) | 2022.10.26 |
[SQLD/SQLP] SQL 기본 (Ⅰ) (0) | 2022.10.20 |