Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как правильно прописать путь в директории  [new]
sapun1984
Member

Откуда:
Сообщений: 22
Доброго времени суток!

Когда пишу

CREATE OR REPLACE directory DATA_PUMP_DIR_1 AS '\\189.150.89.244\oracle_main_db';

Путь формируется следующим образом

W:\main_db\oracle\dpdump\DAYDUMP23.dmp

Диск смонтирован по smb
25 июн 19, 20:27    [21915163]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9475
UNC-имя это: \\сервер\ресурс\путь\файл, где "\\сервер\ресурс" - обязательная часть. Обязательную часть можно подсмотреть в выводе "net use".
"Монтирование на буковки" - вещь сугубо локальная и доступна только в конкретном сеансе.
Подключение, доступное одному пользователю может быть недоступно другому.
Это всё для винды.

Для хрюниксов точка монтирования - всегда локальный каталог, а процедуры монтирования выполняются в процессе загрузки системы или, в редких случаях - ручками, по мере надобности.
Ну или "специально обученным демоном" для специальных случаев (съёмные устройства типа флэшек).

Каталог дампов data_pump должен создаваться для ресурса, который доступен на этом сервере пользователю, от имени которого работает процесс СУБД.
26 июн 19, 07:40    [21915270]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
sapun1984
Member

Откуда:
Сообщений: 22
Basil A. Sidorov,

Доброе утро! Подскажите, может что-то не то делаю.

1. В винде монтирую диск через «Подключить сетевой диск», называю его Z

2. Создаю директорию
CREATE OR REPLACE directory DATA_PUMP_DIR_1 AS 'Z:\';

Пытаюсь делать дамп и получаю ошибку

ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation


Через проводник винды на диск могу зайти, создать/удалить файл тоже получается
28 окт 19, 07:45    [22003844]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
-2-
Member

Откуда:
Сообщений: 14995
sapun1984
В винде
На винде не принято использовать оракл, потому что специалистов, которые понимают элементарные операции, как подключить сетевой диск, крайне мало.
28 окт 19, 07:53    [22003845]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9475
sapun1984
1. В винде монтирую диск через «Подключить сетевой диск», называю его Z
Что непонятного в словах "локально для конкретного сеанса"?
И второе - пользователь, под которым вы "смонтировали" диск в винде и пользователь, под которым работает сервис СУБД - два разных пользователя. Отличаются, в том числе, правами на сетевые ресурсы.
28 окт 19, 09:05    [22003858]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
BTM
Member

Откуда:
Сообщений: 134
Винда в принципе не поддерживает монтирование сетевого диска из-под сервиса, читайте документацию от микрософта.
Для сервиса нужно использовать полный UNC-путь.
28 окт 19, 09:15    [22003863]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
Misha111
Member

Откуда:
Сообщений: 12
если вкратце - можно из оракла дергать батник который будет через нет юзе (или другой скрипт с танцами и бубном) мапировать сетевой диск для сервиса оракла.
НО я бы не рекомендовал. это редкий геморой, учитывая что иногда сетевые диски отваливаются или тупо не хотят мапироваться через нет юзе, а хотят вбс скрипт или еще какую-нибудь экзотику...
28 окт 19, 16:48    [22004431]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
sapun1984
Member

Откуда:
Сообщений: 22
Basil A. Sidorov,

Прописал UNC

CREATE OR REPLACE directory DATA_PUMP_DIR_1 AS '\\IP\oracle_main';


И второе - пользователь, под которым вы "смонтировали" диск в винде и пользователь, под которым работает сервис СУБД - два разных пользователя. Отличаются, в том числе, правами на сетевые ресурсы.

Можете подсказать пример, тут мне не совсем понятно
31 окт 19, 10:20    [22006832]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно прописать путь в директории  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 6829
sapun1984,
Oracle под windows, в отличии от стандартной реализации под unix, multithread приложение
То есть pmon, smon и так далее oracle процессы, реализованы как thread от starter программы
oracle.exe

d:\tmp>sc qc OracleServiceD11
[SC] QueryServiceConfig: успех

Имя_службы: OracleServiceD11
        Тип                  : 10  WIN32_OWN_PROCESS
        Тип_запуска          : 3   DEMAND_START
        Управление_ошибками  : 1   NORMAL
        Имя_двоичного_файла  : d:\app\product\11.2.0\dbhome_1\bin\ORACLE.EXE D11
        Группа_запуска       :
        Тег                  : 0
        Выводимое_имя        : OracleServiceD11
        Зависимости          :
        Начальное_имя_службы : LocalSystem

d:\tmp>sc qc  OracleOraDB12Home1TNSListener
[SC] QueryServiceConfig: успех

Имя_службы: OracleOraDB12Home1TNSListener
        Тип                  : 10  WIN32_OWN_PROCESS
        Тип_запуска          : 2   AUTO_START
        Управление_ошибками  : 1   NORMAL
        Имя_двоичного_файла  : D:\app\product\12.1.0\dbhome_1\BIN\TNSLSNR
        Группа_запуска       :
        Тег                  : 0
        Выводимое_имя        : OracleOraDB12Home1TNSListener
        Зависимости          :
        Начальное_имя_службы : .\oracle


"Начальное_имя_службы :" - это учетная запись, под которой запускается и работают службы oracle в системе.

По умолчанию, LocalSystem - не имеет прав на сетевые ресурсы.

К сообщению приложен файл. Размер - 38Kb
31 окт 19, 11:15    [22006916]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить