"오라클 DEFAULT ROLE"의 두 판 사이의 차이
DB CAFE
(새 문서: == 디폴트 롤(DEFAULT ROLE) == # 롤(ROLE)을 생성하고 부여 했어도 유저가 롤을 모두 사용할 수 있는건 아님 # 유저는 디폴트로 설정된, 활성화...) |
(→디폴트 롤(DEFAULT ROLE)) |
||
24번째 줄: | 24번째 줄: | ||
-- 롤이 정상적으로 생성이 되었는지 확인이 되었으면 권한을 부여한 유저로 SELECT, UPDATE, INSERT, DELETE를 해본다. | -- 롤이 정상적으로 생성이 되었는지 확인이 되었으면 권한을 부여한 유저로 SELECT, UPDATE, INSERT, DELETE를 해본다. | ||
</source> | </source> | ||
+ | |||
+ | |||
* SELECT, UPDATE, INSERT, DELETE 명령문들을 실행하였을 때 권한이 부족하다는 오류 메세지가 뜨면서 안될 때가 있음. | * SELECT, UPDATE, INSERT, DELETE 명령문들을 실행하였을 때 권한이 부족하다는 오류 메세지가 뜨면서 안될 때가 있음. |
2024년 7월 4일 (목) 18:34 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 디폴트 롤(DEFAULT ROLE)[편집]
- 롤(ROLE)을 생성하고 부여 했어도 유저가 롤을 모두 사용할 수 있는건 아님
- 유저는 디폴트로 설정된, 활성화된 롤만을 사용할 수 있음.
- USER_ROLE_PRIVS , DBA_ROLE_PRIVS 뷰의 DEFALT_ROLE 이 'YES' 인 경우만 사용가능함.
- ORA-01031: insufficient privileges 에러 발생시 DBA_ROLE_PRIVS 확인할것 .
1.1 디폴트 롤 테스트[편집]
-- 1.롤 생성
SQL> CREATE ROLE role_name;
-- 2.생성된 롤에 권한 부여
SQL> GRANT SELECT, UPDATE, INSERT, DELETE
on user_name.table_name
to role_name;
-- 3.생성된 롤을 유저에게 부여
SQL> GRANT role_name TO user_name;
-- 4.유저에게 롤이 부여되었는지 확인
SQL> SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE = 'user_name';
-- 롤이 정상적으로 생성이 되었는지 확인이 되었으면 권한을 부여한 유저로 SELECT, UPDATE, INSERT, DELETE를 해본다.
- SELECT, UPDATE, INSERT, DELETE 명령문들을 실행하였을 때 권한이 부족하다는 오류 메세지가 뜨면서 안될 때가 있음.
Error: ORA-01031: insufficient privileges
01031.00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges
1.2 해결 방법[편집]
- session_roles 조회
select * from session_roles;
1) 부여한 롤을 default 값으로 만들기
alter user user_name default role hr_clerk;
2) 롤을 새롭게 set 해줌.
SQL>set role all
또는
SQL>set role role_name;