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.