2012-03-23 3 views
1

Oracle 데이터베이스로 데이터를 가져 오려고합니다. 데이터를 가져 오기위한 ".imp"및 ".dmp"파일이 있습니다. 데이터베이스가 포트 1521을 사용 중이고 데이터베이스 이름이 "DB"입니다. 다음 명령을 시도했지만 작동하지 않습니다."impdp"명령을 사용하여 .dmp 데이터를 포트 번호로 가져올 수 있습니까?

impdp root/[email protected]:1521:DB 
    dumpfile=transmart.dmp 
    logfile=transmart.imp 
    schemas=i2b2hive,i2b2metadata,i2b2sampledata,i2b2demodata,i2b2workdata 
      ,biomart,biomart_user,deapp,searchapp,tm_cz,tm_lz,tm_wz 

ERROR : 하나 ORA-12504 : TNS : 리스너가 CONNECT_DATA 또는 ORA-12545의 SERVICE_NAME을 부여되지 않은 : 대상 호스트 또는 개체가 나는 텔넷 수

존재하지 않기 때문에 연결 실패 IP 및 포트 문제없이.

누구든지 제안 할 수 있습니까?

감사합니다.

+0

sqlplus를 사용하여 로그인 해보십시오. 그럴 수 없다면 tnsnames.ora 파일을 편집해야 할 것입니다. –

답변

4

EZConnect string에 구문 오류가 있습니다.

impdp root/[email protected]:1521/DB 

공지 사항의 교체 ":"와 "/"사이의 포트 및 서비스 이름

대신 (tnsnames.ora 파일에이 방법을 소란 할 필요)이 시도하지 않는다.

부수적으로, 나는 명령이 실행되는 동안 쉽게 스누핑 될 수있는 명령 줄에 암호를 넣는 습관을 오래 전에 보냈습니다. 프로그램이 암호를 요청하게합니다 : 당신이 루트를 사용하는거야 특히 경우

impdp [email protected]:1521/DB 

당신의 명령 ;-)

0

telnet에 대한 참조는 데이터베이스 서버에서 로컬이 아닌 원격 클라이언트에서이 명령을 실행하고 있음을 나타냅니다.

DB의 위치 정보로 클라이언트의 TNSNAMES.ORA 파일을 편집해야합니다. 어쩌면 당신은 이미 이것을 한 것으로 생각할 것입니다. 어떤 경우에는 오타가 있거나 구문이 잘못되었을 수도 있습니다.

점검해야 할 또 다른 사항은 리스너가 데이터베이스 서버에서 실행되고 있다는 것입니다. ORA-12545의 가장 일반적인 원인입니다.

0

우리는 다음과 같은 사용되는 최신 transmart 데이터베이스 덤프 가져 :

wget https://github.com/transmart/transmartApp-DB/zipball/master 
unzip master 
tar zxvf transmart.dmp.tar.gz 
cp transmart.dump /u01/app/oracle/admin/XE/dpdump 
chown oracle:dba /u01/app/oracle/admin/XE/dpdump/transmart.dmp 
impdp SYSTEM dumpfile=transmart.dmp logfile=transmart3.log full=y 

full=y을 사용하지 않으면 많은 테이블이 누락됩니다. 희망이 여전히 당신이나 다른 사람에게 유용합니다.