In een typische Oracle-omgeving heb je TNS-namen ingesteld. Dat is een service om de verbindingsparameters voor Oracle-instanties op te zoeken met een SID of servicenaam. In zijn eenvoudigste vorm zijn TNS-namen een bestand met de naam tnsnames.ora
gelokaliseerd door de omgevingsvariabele TNS_ADMIN
(die verwijst naar de map waar het bestand zich bevindt).
Gezien de SID's PROD
en SANDBOX
, kunt u de tabellen vervolgens kopiëren vanuit het SQLPLUS-opdrachtregelhulpprogramma:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Houd er rekening mee dat dit COPY-commando slechts een beperkte set Oracle-datatypes ondersteunt:char, date, long, varchar2, number.
Als u geen TNS-namen hebt ingesteld, moet u de hostnaam of het IP-adres, het poortnummer en de servicenaam weten. De syntaxis wordt dan:
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);
Om de SID en/of servicenaam te bepalen, kijkt u best in het bestand TNSNAMES.ORA op de databaseserver zelf. Als u zich kunt aanmelden bij de database, kunt u de volgende zoekopdrachten gebruiken om de SID en servicenaam te bepalen (maar vraag me niet welke welke is):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;