본문 바로가기

TRUNCATE2

다른 유저 테이블 Truncate 시키는 권한 일반적인 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 권한이 필요하다는 사.. 2021. 10. 25.
Delete와 Truncate 운영업무를 하다보면 Delete와 Truncate에 대해서 설명해야 할때가 있었습니다. 따라서 둘의 차이를 정리하는 글을 포스팅해보겠습니다. Delete DML언어 중 하나로 데이터를 삭제할 수 있는 명령어입니다. 특징은 Delete 후에 Rollback시 원복할 수 있다는 것입니다. 따라서 Delete를 하게되면 원본 데이터를 UNDO에 저장하게 되는 작업이 필수적으로 들어갑니다. 또한 삭제하여도 테이블 용량은 줄어들지 않고 그대로인 상태가 됩니다. 또한 전체 데이터 삭제도 가능하고, 조건절 등을 추가하여 일부데이터만 삭제도 가능합니다. TRUNCATE DDL언어이며, 테이블을 최초 생성된 상태로 만듭니다. 테이블 내의 모든 데이터를 삭제하게 되며, 테이블의 용량도 생성 시 초기 용량상태로 돌아갑니다... 2020. 9. 24.