다른 디비간의 테이블 복사 0 7 10,239

by 송미진 [2007.07.18 11:01:37]


토드에서 다른 DB내에 있는 데이터를 가져오고 싶습니다.

 

실운영DB에 있는 데이터를 개발장비에 있는 DB로 복사하고 싶습니다.

 

데이터를 update했는데...실수로 전체데이터를 수정하고 말았습니다.ㅜㅜ

 

insert into A select * from 여기는어떤게. 디비명@A

 

파란글씨로 되어있는 부분 앞에 어떻게 해줘야 다른 디비에 있는 테이블의 데이터를 가져올 수 있을까요?

진한글씨로 되어있는부분에 디비명과 암호도 넣어봤구요...

 

이런 에러가 납니다...ㅠㅠ

The following error has occurred:

ORA-02019: connection description for remote database not found 

 

실수로 업데이트된 테이블의 데이타를 삭제하고 인서트해야하는건가요?

 

알려주세요...ㅠㅠ

by 정순표 [2007.07.18 00:00:00]
지금 있는 테이블에 내용이 있고..
그내용을 개발DB에 있는 내용전체를 바꾸신다면.
개발DB A
실DB B 라고 하면...
create table table_name as
select * from table_name@DBLINK;
B에서 A서버로 DB링크하여 테이블을 생성하시면되겠네요...

by 송미진 [2007.07.18 00:00:00]
개발서버와 운영서버가 다릅니다.
그래도 되나요?
해봤는데 안되는데요...
DBLINK라는게 뭐예요?ㅜㅜ
알려주세요...

by 정순표 [2007.07.18 00:00:00]
아래와 같이 확인 설정하셔서 다시 시도해보세요.

1. 개발디비로 접속을 하기 위한 tnsnames.ora를 셋팅 (실디비에있는파일)

tnsnames.ora 열어서 다음과 같이 추가하세요.

연결DB명 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 개발디비IP입력 )(PORT = 포트번호))
)
(CONNECT_DATA =
(SERVICE_NAME = 개발디비SID입력)
)
)

셋팅하게 되면 아래와 같이 sqlplus로 개발디비로 연결되는지 확인해보세요.

sqlplus 개발디비아이디/개발디디패스워드@연결DB명

2. 실디비에서 dblink 생성을 위한 쿼리를 수행하는데 sqlplus 상에서 DBA권한 유져로 수행 하셔야합니다.

create public database link 생성이름 connect to 개발디비아이디 identified by 개발디비패스워드 using '연결DB명';

3. 사용...

select * from 개발디비테이블명@생성이름;

by 현 [2007.07.18 00:00:00]
그런데 회사 정책상 디비링크 사용하실 수 있으신가요?
어차피 머 운영서버에 접근 가능하시다면 해당 테이블만 export 해와서 import 하면 될텐데요.

by 아기곰 [2007.07.19 00:00:00]
real 서버에 dev 장비의 DBLINK설정이 되어 있어야 합니다.

by 아기곰 [2007.07.19 00:00:00]
insert into a (aa,bb,cc)
(
select aa,bb,cc from a@디비
)

by 송미진 [2007.07.19 00:00:00]
해결했습니다..감사합니다.꾸벅~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입