프로시져를 작성하면서 프로시져내에 다른 데이터베이스에 테이블을 TRNCATE 할 필요가 있었다.
당연히 그 테이블에 대해 권한을 부여 하였으나 작동하지 않자 구글링 해보니
GRANT 권한 설정시 희안하게 TRUNCATE 는 먹질 않는다..
이유인 즉
----------------------------------------------------------------------------------------------------------
**특정 테이블에 대해서 truncate (ALTER TABLE) 권한을 사용자에게 부여할 수 없읍니다.
--------------------------------------------------------------------------------------------------------
그렇기 때문에 TRUNCATE 대상 DB에 별도의 프로시져를 만들어서, 간접적으로 실행을 시켜주어야 했다.
그리고 간접 프로시져를 호출하기 위한 명령어
GRANT execute ON DB_NAME.PROC_NAME TO USER;
로 호출 권한을 부여해 주었다.
원문 : http://www.database.sarang.net/?inc=read&criteria=oracle&subcrit=qna&aid=38538