Come utilizzare le utilità Data Pump senza un file tnsnames.ora
-
03-10-2019 - |
Domanda
Voglio essere in grado di expdp
corsa e impdp
specificando direttamente i parametri di connessione al posto di un nome di TNS che risiede in tnsnames.ora
. È possibile?
Soluzione
Si può essere in grado di specificare il tutto sulla linea di comando con una stringa di connessione al posto di un TNSNAME. Rimuovere gli spazi dal TNS voce che si sarebbe usato per la connessione, ecco un esempio che funziona con SQLPLUS ...
Ecco come collegare ad un OracleXE installazione locale su Windows:
sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))
Si * Nix potrebbe essere necessario citare la voce in modo che le parentesi non sono interpretati in modo errato:
sqlplus 'scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))'
Altri suggerimenti
Si potrebbe provare un EZConnect stringa :
expdp userid=user/pw@//host:port/service-name
Si avrà bisogno di un parametro sqlnet.ora sul lato client che include EZConnect, per esempio:.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)