programing

oracle sql developer를 사용하여 데이터베이스 간에 복사 - 연결에 실패했습니다.

lastcode 2023. 3. 13. 20:32
반응형

oracle sql developer를 사용하여 데이터베이스 간에 복사 - 연결에 실패했습니다.

oracle sql developer를 사용하여 한 데이터베이스에서 다른 데이터베이스로 테이블을 복사하려고 합니다.사용자 이름, 비밀번호 및 SID를 가지고 있습니다.

copy from uname1/password1@SID1 to uname2/pwd2@SID2 insert table1 (*) using (select * from message_table);

하지만 난 지금...connection failed에러입니다.

2개의 데이터베이스가 다른 호스트호스트에 존재합니다(호스트명은 접속 속성이 다릅니다).

테이블에는 500만 개의 레코드가 있으며 내보내기/가져오기에는 너무 번거롭습니다.

copy명령어는 SQL*Plus 명령어입니다(SQL Developer 명령어가 아닙니다).Tnsname 엔트리가 SID1 및 SID2용으로 설정되어 있는 경우(예를 들어 tnsping을 시도) 명령어를 실행할 수 있습니다.

table1에는 message_table과 같은 컬럼이 있습니다(또한 컬럼에는 CHAR, DATE, LONG, NUMBER 또는 VARCHAR2의 데이터 타입만 있습니다).또한 insert 명령어에서는 프라이머리 키에 대해 주의해야 합니다(예를 들어 중복 레코드를 삽입하지 않습니다).

SQL*Plus에서 다음과 같이 명령을 변경해 보았습니다(오류 없이).

copy from scott/tiger@db1 to scott/tiger@db2 create new_emp using select * from emp;

위의 명령어를 실행한 후 new_emp 테이블도 잘라내고 다음 명령어를 실행합니다.

copy from scott/tiger@db1 to scott/tiger@db2 insert new_emp using select * from emp;

SQL Developer를 사용하면 다음과 같은 방법으로 객체를 복사할 수 있습니다.

  1. 툴바에서 [툴]> [데이터베이스 복사]를 선택합니다.

  2. 원하는 복사 옵션을 사용하여 소스 및 대상 연결을 식별합니다. 여기에 이미지 설명 입력

  3. 개체 유형에 대해 테이블을 선택합니다. 여기에 이미지 설명 입력

  4. 특정 테이블(예: table1)을 지정합니다. 여기에 이미지 설명 입력

copy 명령어 접근 방식은 오래된 방식이며 새로운 데이터 유형의 릴리스에 따라 그 기능이 업데이트되지 않습니다.Oracle의 데이터 펌프와 같은 최신 접근 방식(테이블에도 해당)이 많이 있습니다.

언급URL : https://stackoverflow.com/questions/24458616/copy-from-one-database-to-another-using-oracle-sql-developer-connection-failed

반응형