DB 툴에서 DB 연결을 하면 모든 스키마들이 보여지는데 특정 계정은 특정 스키마만 보여지도록 권한 설정을 할 수 있는 방법이 있을까요?
DB 툴에서 권한설정을 하지 않고, 특정 스키마의 오브젝트들만 볼 수 있는 계정을 DBA 분께 받으시면 될 것 같습니다.
권한은 테이블 목록 등 메타정보를 볼 수 있는 권한과 실제 테이블의 데이터를 볼 수 있는 권한이 분리 되어 있습니다.
권한을 제가 설정해야해서요 ㅠ
dba 권한 해제해서 테이블, 뷰, 프로시저 못보게는 해두었는데 디비버로 연결하면 스키마들이 쭉 보이는데 본인 스키마만 볼 수 있도록 할 수 있는 방법은 없을까요?
Oracle DB 에서는 추가적인 권한을 주지 않으면 기본적으로 본인 Schema 의 Object 들만 볼 수 있습니다.
- 할당된 권한 내역 확인 : dba_role_privs, dba_sys_privs, dba_tab_privs 등의 view 를 확인
- 일반 User 가 가지는 기본 권한 : connect, resource role
- 만약 A User 가 select any dictionary privilege 를 가지고 있으면 본인 포함 모든 schema 의 object 가 다 보이고, select any table 이란 privilege 를 가지고 있으면 모든 table 에 대한 value select 가 가능합니다. any 가 가지는 의미가 모든 schema 등 입니다.
위 권한 내역 view 들 에서 User 가 권한을 조정하시면 될 것 같습니다.