Toad에서 같은 User아래 디비 옮기는법좀알려주세요 1 7 966

by 티라미수꿀맛 [Toad] [2018.03.22 16:46:41]


제가 하려는 작업이

같은 USER아래에 A테이블스페이스에 있는 테이블하고 데이터들을

B테이블스페이스에 똑같이 옮기려고하는데요

양이 좀 많아서 일일이 SQL문으로 치기가 좀그런데 한꺼번에 옮기는거 어떻게하죠?

by 우리집아찌 [2018.03.22 16:59:36]

CTAS 로 옮기시면 될것 같습니다.

USER_TABLES VIEW 사용하셔서 SQL를 생성하시면 좀 더 편합니다.


예)
-- 테이블명과 스페이스명은 고쳐서 사용하세요. 
-- TABLE_NAME은 30BYTE 초과 안되게 해주세요. 
SELECT 'CREATE TABLE ' || TABLE_NAME || '_B TABLESPACE SCOTT_IDX AS SELECT * FROM ' || TABLE_NAME || ' ;' 
  FROM USER_TABLES
  

 


by 티라미수꿀맛 [2018.03.22 17:00:33]

제약조건까지 다 복사해주는건없나요??


by 우리집아찌 [2018.03.22 17:10:05]

인덱스, PK 도  VIEW ( USER_INDEXES, USER_CONSTRAINTS ) 참고하셔서 작성하시면 됩니다.


by 우리집아찌 [2018.03.22 17:12:36]

그런데 목적이 무엇인데 제약조건 까지 복사하시나요?

같은 계정에서 동일한 테이블명/인덱스명은 생성못합니다.


by 마농 [2018.03.22 17:40:56]
-- ALTER TABLE table_name MOVE TABLESPACE tablespace_name ONLINE;
-- ALTER INDEX index_name REBUILD ONLINE TABLESPACE tablespace_name;

SELECT 'ALTER TABLE ' || table_name || ' MOVE TABLESPACE tablespace_name ONLINE;'
  FROM user_tables
;

SELECT 'ALTER INDEX ' || index_name || ' REBUILD ONLINE TABLESPACE tablespace_name;'
  FROM user_indexes
;

 


by 우리집아찌 [2018.03.22 17:42:41]

아.. 복사가 아니라 옮기는거였군요...

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입