Jak wykonywać polecenia bazy danych jako sysdba ze zdalnego komputera


14

Chciałbym poznać składnię wywoływania poleceń bazy danych (expdp / impdp) zalogowanych jako „sys as sysdba” ze zdalnego komputera.

Wiem, że po zalogowaniu się na komputerze, na którym działa baza danych, mogę użyć:

expdp \"/ as sysdba\"

Nie mogę jednak znaleźć sposobu na zrobienie tego ze zdalnego komputera, na przykład te nie działają:

expdp 'SYS@SID AS SYSDBA'
expdp "SYS AS SYSDBA"@SID

W obu przypadkach komunikat o błędzie to:

LRM-00108: invalid positional parameter value [...]

Odpowiedzi:


22
expdp \"SYS@service AS SYSDBA\"

Działa to dla mnie (10.2 i 11.1), ale musisz albo zdefiniować usługę w swoim tnsnames.ora, albo użyć właściwego SKANOWANIA. Ogólnie ORACLE_SID jest innym identyfikatorem niż usługa TNS, ale dla uproszczenia często są one administracyjnie ustawiane na tę samą wartość.


2
Drodzy przyszli czytelnicy: Użycie user/pass@db_linkformatu przy logowaniu może prowadzić do UDE-00018: Data Pump client is incompatible with database versionkomunikatu. Aby obejść ten problem, NETWORK_LINKzamiast tego podaj łącze do bazy danych za pomocą parametru.
Pan Llama,

jako notatkę dla wszystkich, zwróć uwagę na ucieczkę podwójnych cudzysłowów. odwrotne ukośniki naprawiły dla mnie problem
Peter Perháč,

wow, jak to działa?
Parv Sharma

0

Używam IMPDMP w następujący sposób:

Impdp SYS@SYSDBA/45561602 SCHEMAS=PRUEBAS DIRECTORY=DATA_PUMP_DIR DUMPFILE=PRUEBAS.dmp remap_schema=PRUEBAS:TEST TABLE_EXISTS_ACTION=replace LOGFILE=impdmp.log

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.