본문 바로가기

오라클 실무..

특정 테이블의 테이블스페이스를 변경하는 명령을 생성하는 쿼리

/*
테이블의 테이블스페이스를 변경하는 명령을 생성하는 쿼리

이 명령은 dictionary user_tables를 이해한다면 누구나 수행할 수 있습니다. all_tables를 읽기 위해서 SYSADMIN 권한을 갖지 않더라도 각자 주어진 USER에서 명령을 수행함으로써, 원치않는 위치에 저장된 테이블의 테이블 스페이스를 옮기거나, 새로 생성한 테이블 스페이스로 테이블을 옮길때 유용하게 사용할 수 있습니다.
*/
SELECT 'ALTER TABLE '||TABLE_NAME||' MOVE TABLESPACE NS_DATA;' AS COMMAND
FROM USER_TABLES
WHERE TABLESPACE_NAME <> 'NS_DATA'
AND TABLE_NAME LIKE 'Q%'

위 쿼리를 수행하면 아래와 같은 결과를 얻을 수 있습니다.

[그림-1] 테이블 스페이스 변경