W typowym środowisku Oracle masz skonfigurowane nazwy TNS. Jest to usługa do wyszukiwania parametrów połączenia dla instancji Oracle na podstawie identyfikatora SID lub nazwy usługi. W najprostszej formie nazwy TNS to plik o nazwie tnsnames.ora
znajduje się w zmiennej środowiskowej TNS_ADMIN
(co wskazuje na katalog, w którym znajduje się plik).
Biorąc pod uwagę identyfikatory SID PROD
i SANDBOX
, możesz następnie skopiować tabele z narzędzia wiersza poleceń SQLPLUS:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Należy pamiętać, że to polecenie COPY obsługuje tylko ograniczony zestaw typów danych Oracle:char, date, long, varchar2, number.
Jeśli nie masz skonfigurowanych nazw TNS, musisz znać nazwę hosta lub adres IP, numer portu i nazwę usługi. Składnia staje się wtedy:
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);
Aby określić SID i/lub nazwę usługi, najlepiej zajrzeć do pliku TNSNAMES.ORA na samym serwerze bazy danych. Jeśli jesteś w stanie zalogować się do bazy danych, możesz użyć następujących zapytań, aby określić SID i nazwę usługi (ale nie pytaj mnie, która jest która):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;