
Я создал 2 экземпляра EC2 в AWS.
Один действует как сервер БД, а другой — как клиент.
Экземпляр базы данных Oracle 12c устанавливается на сервере базы данных, а клиент Oracle 12c Instant Client — на клиентском сервере.
Я создал схему, добавил в нее несколько таблиц и данных, а затем экспортировал дамп БД и журнал.
Я могу подключиться к серверу Oracle через пользователя sys с сервера Oracle Client.
Я перенес экспортированный дамп БД (с помощью команды expdp) и логи на клиентский сервер.
Я пытаюсь импортировать экспортированный дамп БД с клиентского сервера с помощью команды impdp.
create directory dumpdir as '/home/oracle/exportDB';
impdp smithj/pwd4smithj@newdevdb schemas=smithj directory=dumpdir dumpfile=smithj.dmp logfile=expdpsmithj.log
Но я не понимаю, как указать путь к локальному серверу (клиент-серверу) в качестве каталога.
когда я пытаюсь добавить виртуальный каталог, он сообщает, что путь не существует.
Этот путь /home/oracle/exportDB находится на клиентском сервере.
Можете ли вы дать мне какие-либо предложения, поскольку у меня нет других вариантов.
PS: Я делаю это для целей POC в сценарии, где на сервере БД мало места и невозможно отправить файл дампа БД на сервер БД, потому что он огромный. И, пожалуйста, не голосуйте против вопроса. Я искал на многих форумах, и нигде об этом не упоминается.
решение1
Всегда создается dumpdir
с точки зрения базы данных (сервера). Ваша impdp
команда использует этот каталог.лучшийспособ будет заключаться в создании ссылки на целевой каталог на клиенте, или монтировании общего ресурса или что-то еще, что вы предпочитаете. Затем создайте каталог в Oracle, используя что-то вроде CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';
или CREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';
(для Windows, например) и снова запустите импорт.