exp / imp 관련 질문입니다. 0 6 1,904

by 일등감자 [2009.06.01 11:31:33]


exp / imp 로 데이타 이전작업관련하여 질문드립니다.

A 라는 서버에 AT라는 테이블스페이스가 있고 이 테이블스페이스안에 aaa, bbb 라는 두개의 테이블이 있습니다.

이걸 B라는 서버에 BT라는 테이블스페이스를 생성하고 여기에 옮기는 작업입니다.

그런데 문제는 B라는 서버에 AT라는 테이블스페이스가 있고 여기에 aaa, bbb 라는 두개의 테이블이 있습니다.

이럴경우 AT테이블스페이스에 있는 aaa, bbb 라는 테이블고 import 할 BT테이블스페이스의 aaa, bbb 의 테이블과 충돌이나 기타 문제가 되지 않는지요?

(참고로 B서버의 AT테이블스페이스는 auser 사용자가 사용하고 BT테이블스페이스는 buser 사용자가 사용합니다.)

많은 조언 부탁 드립니다.

 

by 박민석 [2009.06.01 13:14:25]
user 가 서로 다르면 아무 문제가 발생하지 않습니다.
buser로 접속하셔서 aaa, bbb 테이블 생성하시고 import하세요~~
대신 import 시 userid는 반드시 buser겠죠~~ ^^

by 다솜여우 [2009.06.01 13:15:08]
import시 touser=buser 로 지정해주시구요, rows=y라고 하면 될 것 같은데요....

by 김원식 [2009.06.01 15:07:46]
얼핏 기억하기로는 table이 import될때 export 당시의 tablespace로 들어갔던 것으로 기억됩니다.(유저의 default tablespace를 다른걸로 잡아놔도 원래 tablespace로 들어갔었던 기억이...)
예상되는건 B서버의 buser가 AT 테이블스페이스에 대한 쿼터가 없다면 권한이 없다는 오류가 날것이고, 권한이 있다면 테이블이 충돌하지 않을까 하는데요...
운영서버라면 바로 시도하지 마시고 적당히 안전한 서버에서 테스트를 하시고 실행하시는 것이 좋을 것 같네요.

by 박민석 [2009.06.01 15:58:38]
동일 테이블스페이스에 동일한 테이블이 생성되어도 USER가 다르면 아무 이상없이 돌아 갑니다.. ^^
참조하세요

by 이명철 [2009.06.01 20:57:35]
exp를 하면 이유는 모르겠으나 일부 function 등의 object 생성문에 tablespace를 기존 명칭으로 박아져 있는 경우가 있던데요. 이럴 경우 touser=buser로 하셔도 AT테이블스페이스에 생성될 수도 있을 것 같습니다. 따라서 위의 님 답변대로 buser에게 AT테이블스페이스 쿼터를 주지 않으시면 권한 오류로 나올 것이고 오류로 나온 생성문들에 대해서만 뽑으셔서 테이블스페이스 지정된 부분을 BT테이블스페이스로 변경해서 생성해주시면 될것 같습니다.

by 타락천사 [2009.06.01 21:18:12]
같은 tbs 가 있고, 쿼터가 없는 경우는 imort 되어지는 default tbs 에 import 됩니다.
에러 발생은 같은 tbs 가 없는 경우 발생합니다.
테스트 해보시면 금방 나와요 ㅇ.ㅇ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입