В типичной среде Oracle у вас есть имена TNS. Это сервис для поиска параметров подключения для экземпляров Oracle с учетом имени SID или службы. В простейшей форме имена TNS представляют собой файл с именем tnsnames.ora
, расположенный по переменной окружения TNS_ADMIN
(что указывает на каталог, в котором находится файл).
Учитывая SIDs PROD
и SANDBOX
, то вы можете скопировать таблицы из Sqlplus утилиты командной строки:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Пожалуйста, обратите внимание, что эта команда COPY поддерживает только ограниченный набор типов данных Oracle: голец, дата, длинный, varchar2, число.
Если у вас нет назначенных имен TNS, вам необходимо знать имя хоста или IP-адрес, номер порта и имя службы. Синтаксис становится:
COPY FROM username1/[email protected]//192.168.3.17:1521/PROD_SERVICE to username2/[email protected]//192.168.4.17:1521/SANDBOX_SERVICE
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Для определения SID и/или имя службы, то лучше всего взглянуть в файл TNSNAMES.ORA на самом сервере базы данных. Если вы можете войти в базу данных, вы можете использовать следующие запросы для определения SID и служб имени (но не спрашивайте меня, кто есть):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;
Существует ли таблица назначения уже существует? – tallybear
Поддерживает ли 'production_IP' IP-адрес? Если да, этого недостаточно. Вам нужно настроить имена TNS и использовать SID или имя службы или использовать простое имя для подключения (в том числе SID или имя службы). – Codo
@tallybear: Да –