как я могу использовать команду "impdp" для импорта данных .dmp с номером порта? - PullRequest
1 голос
/ 23 марта 2012

Я пытаюсь импортировать данные в базу данных Oracle.У меня есть файлы ".imp" и ".dmp" для импорта данных.База данных использует порт 1521, а имя базы данных - «DB».Я попробовал следующую команду, но не работает.

impdp root/password@xxx.xxx.xxx.xxx: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

ОШИБКА: либо ORA-12504: TNS: слушателю не было присвоено SERVICE_NAME в CONNECT_DATA или ORA-12545: не удалось подключиться, поскольку целевой хост или объект не существует

Я могу telnet IP и порт без проблем.

Кто-нибудь может подсказать, пожалуйста?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 23 марта 2012

В вашей строке EZConnect .

есть синтаксическая ошибка.

Попробуйте это вместо этого (не нужно суетиться с tnsnames.ora таким образом):

impdp root/password@xxx.xxx.xxx.xxx:1521/DB

Обратите внимание на замену ":" на "/" между портом и именем службы.

Как примечание, я давно вышел из привычки помещать пароли в командные строки, где их можно легко отследить во время выполнения команды. Пусть программа запросит у вас пароль:

impdp root@xxx.xxx.xxx.xxx:1521/DB

Особенно, если вы собираетесь использовать root для своих команд; -)

0 голосов
/ 15 мая 2012

для импорта последнего дампа базы данных 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, вы в конечном итоге пропустите несколько таблиц. Надеюсь, что это все еще полезно для вас или кого-то еще.

0 голосов
/ 23 марта 2012

Ваша ссылка на telnet предполагает, что вы запускаете это с удаленного клиента, а не локально на сервере базы данных.

Вам необходимо отредактировать файл TNSNAMES.ORA вашего клиента с информацией о местонахождении БД. Возможно, вы думаете, что уже сделали это, и в этом случае вы, вероятно, ввели опечатку или неверный синтаксис.

Другая вещь, которую нужно проверить, это то, что слушатель работает на сервере базы данных, поскольку это очень распространенная причина ORA-12545.

...