반응형
일반적인 DML(INSERT,UPDATE,DELETE,SELECT)권한은 Oracle의 권한을 부여해서 제어가 가능합니다.
하지만 Truncate의 경우에는 일반적인 권한부여로는 제어할 수가 없는데요, 아래의 문구를 보시면 해당스키마의 테이블이거나 DROP ANY TABLE의 권한이 있어야 Truncate가 가능하다고 나와 있습니다. Truncate는 DML이 아닌 DDL로 분류되고 사용되기 때문에 이러한 권한부여가 필요하겠죠.
To truncate a table, the table must be in your schema or you must have the DROP ANY TABLE system privilege.
grant truncate~~가 아니라 DROP ANY TABLE 권한이 필요하다는 사실을 정리하면서 또 알게되네요
테스트
1. 권한부여
SQL > grant drop any table to test2;
2.유저확인
SQL> show user;
USER is "TEST2"
3.다른 유저에서 truncate 수행
SQL> truncate table test.t1;
Table truncated.
출처 :
https://docs.oracle.com/database/121/SQLRF/statements_10007.htm#SQLRF01707
반응형
'Oracle > 운영' 카테고리의 다른 글
다른 스키마(유저) Database link 삭제하기 (0) | 2021.10.27 |
---|---|
Unusable Index를 Skip하고 scan하는 파라미터 skip_ususable_indexes (0) | 2021.10.26 |
Locale의 LANG 과 Putty의 캐릭터셋 설정에 따른 한글 깨짐 현상 (0) | 2021.10.15 |
DBA_DEPENDENCIES (0) | 2021.09.07 |
[Oracle과 Tibero] DB link 에러 발생시 프로시저 에러발생여부 테스트 (0) | 2021.08.31 |
댓글