오라클에서 테이블 복사하는 쿼리문

1. 생성과 동시에 데이터 카피하기(복사)
CREATE TABLE COPY_TB AS SELECT * FROM ORI_TB

2. 기존 테이블에 데이터만 가져오기
INSERT INTO COPY_TB SELECT * FROM ORI_TB


약간 응용해서 들어가면~

테이블을 생성했는데 다른 테이블스페이스로 옮기고 싶을때.

테이블을 다른 테이블스페이스로 지정하고 미리 생성해 둡니다.
CREATE TABLE COPY_TB
(A NUMBER,
B VARCHAR2(10))
TABLESPACE COPY_TBS

그리고 기존 테이블의 내용을 새로 생성한 테이블에 쑤셔 넣습니다.
INSERT INTO COPY_TB SELECT * FROM ORI

이게 이상해 보이지만... exp/imp로 하는 방법도 있습니다.
요기에 대해서는.. 패스 ㅡㅡ;

9i 이상에서는 단 한줄로 테이블이 속한 테이블스페이스를 옮길 수 있습니다.
요렇게

ALTER TABLE copy_tb MOVE TABLESPACE users;

인덱스도 옮길 수 있다. 테스트용 scott꺼를 옮겨 보기로 하자.

alter index PK_EMP rebuild tablespace users;

출처 : http://keizwer.tistory.com/147?srchid=BR1http%3A%2F%2Fkeizwer.tistory.com%2F147

'DataBase' 카테고리의 다른 글

[Oracle] 스키마 조회 쿼리 모음  (0) 2011.09.26
[MySQl] 백업 및 복구  (0) 2011.03.03
[Oracle] 월간 날짜, 요일 리스트 받기  (0) 2009.03.13
[Oracle] 데이터 옮기기  (0) 2009.03.12
[Oracle] 테이블스페이스 늘리기  (0) 2009.03.12

+ Recent posts