Поиск места дампа Data Pump в 12c

Прежде всего, приносим извинения за очень начинающий вопрос. Я только начал понимать, как работает дамп перекачки данных в 11g, когда клиенты, которых я поддерживаю, перешли на 12c. К черту удачу. :)

Итак, надеюсь, быстрый вопрос: я использую сервер Windows коллеги под управлением 12c, чтобы попытаться импортировать дамп насоса данных клиента (есть их дамп и файл журнала), но я понятия не имею, где разместить дамп для импорта. Когда я бегу:

select * from dba_directories where directory_name='DATA_PUMP_DIR';   

это возвращаемый результат:

c:\ade\aime_v\oracle/admin/seeddata/dpdump/

Этот каталог нигде не существует на этой машине, плюс он выглядит как необычный путь к каталогу. (Мой коллега в отпуске, иначе я бы, конечно, просто спросил).

Итак, что-то изменилось в 12c, где каталоги обрабатываются немного по-другому? Я продолжаю думать, что тот, кто создал этот сервер, не мог просто указать каталогу загрузки данных несуществующий путь. В настоящее время я гуглю себя кругами, поэтому я полагаю, что короткий вопрос заключается в том, с чего мне начать в качестве первого шага в выяснении, где находится мой каталог для удаления моего файла импорта дампа?

Еще раз приносим извинения за смущающий вопрос новичка, и заранее спасибо за внимание к моему вопросу.


person James Panetti    schedule 22.12.2014    source источник
comment
Это не может быть допустимым путем. Просто измените его на действительный каталог или создайте другой объект каталога.   -  person OldProgrammer    schedule 23.12.2014
comment
выберите * из dba_directories, где directory_name='DATA_PUMP_DIR';   -  person Krischu    schedule 25.01.2017


Ответы (2)


Oracle позволит вам создать запись метаданных каталога в несуществующем физическом каталоге, что и произошло здесь. Таким образом, любой пользователь с полномочиями CREATE ANY DICTIONARY должен будет (повторно) создать каталог метаданных Oracle в существующем каталоге и убедиться, что разрешения операционной системы для физического каталога настроены таким образом, чтобы идентификатор пользователя Oracle мог читать и записывать в этот каталог. Как предположил @OldProgrammer, похоже, что кто-то объединил половину разделителей пути Unix и половину Windows.

Если есть каталог c:\ade\aime_v\oracle\admin\seeddata\dpdump (и ваш файл дампа там), то должно работать следующее: если вы импортируете из идентификатора, отличного от dba (some_user в приведенном ниже примере), вам также потребуется прочитать грант dba в этом каталоге:

drop directory data_pump_dir;
create directory data_pump_dir as 'c:\ade\aime_v\oracle\admin\seeddata\dpdump';
-- grant read on data_pump_dir to some_user;
person Mark Stewart    schedule 23.12.2014
comment
Спасибо за объяснение! Это более простое объяснение, чем я опасался. Тогда я внесу соответствующие коррективы. - person James Panetti; 23.12.2014
comment
после «DATA_PUMP_DIR» отсутствует закрывающая кавычка. Это не проблема, но это точка преткновения при попытке выполнить пример с помощью вырезания и вставки - person Krischu; 25.01.2017
comment
Отсутствующая заключительная цитата находится в исходном вопросе, а не в моем ответе :) Я отредактирую исходный вопрос, чтобы исправить это. - person Mark Stewart; 27.01.2017

Используйте следующий запрос sql.

select * from dba_directories where directory_name='DATA_PUMP_DIR';
person Ashish Sahu    schedule 06.08.2018
comment
Исходный вопрос был отредактирован, чтобы исправить опечатку, чтобы отразить правильный запрос SQL. У OP должен быть правильный синтаксис, поскольку он возвращает результат. - person Mark Stewart; 17.12.2019