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

Откуда:
Сообщений: 648
Есть в Oracle (10g) такое понятие, как DIRECTORY. В нее можно например дампы делать утилитой expdp.
А как средствами Oracle с клиентского компа узнать содержимое этих DIRECTORY?
26 авг 08, 18:40    [6111899]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
поиск
26 авг 08, 18:43    [6111910]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
Elic
Member

Откуда:
Сообщений: 29990
STFF Reading files in a directory
26 авг 08, 18:48    [6111930]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
Спасибо за ответы.
Но вобще-то это полный П :) - Oracle предлагает стандартные средства для создания копирования, чтения и удаления файлов - и при этом не дает возможности получить их список.

Вопрос собственно возник из-за попытки перейти на утилиту expdp - она делает дамп в серверном каталоге - его можно вытянуть на клиента или удалить, если знать имя. Но если этого не сделать - разрыв связи, глюки и т.п. - файл может остаться в каталоге. При следующем вызове expdp можно соотв. нарваться на проблему при попытке создать файл который уже существует. Для того чтобы обойти проблему и нужен список файлов - чтобы пользователя не заставлять перебирать разные имена в слепую.

Создавать доп. объекты на чужих серверах (shell-скрипты, java-код есть дурной тон, да и не все админы это разрешают, но если нет другого выбора, то видимо придется).
27 авг 08, 12:00    [6113923]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
автор
она делает дамп в серверном каталоге - его можно вытянуть на клиента или удалить -

Попытка эконимии бюджета на системном администраторе/dba?
автор
shell-скрипты, java-код есть дурной тон, да и не все админы это разрешают

Это их работа. И тон как раз самый что ни есть правильный.
27 авг 08, 12:10    [6113975]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
semenar
Попытка эконимии бюджета на системном администраторе/dba?
Нет - экономия времени и нервов системного администратора - если у вас 100 пользователей и каждому из них время от времени требуется делать дампы - то дергать каждый раз админа это сложно для пользователя и напряжно для админа.
semenar
Это их работа. И тон как раз самый что ни есть правильный.
Именно поэтому и хотелось обойтись стандартными средствами.
27 авг 08, 12:28    [6114098]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
автор
100 пользователей и каждому из них время от времени требуется делать дампы

И зачем конечным юзерам дампы? Место на клиенте занимать? Ерунда какая-то.
27 авг 08, 12:34    [6114138]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
SQL> select DIRECTORY_PATH from ALL_DIRECTORIES where DIRECTORY_NAME='DATA_PUMP_DIR';

DIRECTORY_PATH
--------------------------------------------------------------------------------
/data/backup/ap/dpdump

SQL> ! ls -l /data/backup/ap/dpdump
total 22948
-rw-r----- 1 oracle dba 23420928 Aug 15 15:58 ap.expdp_database.dmp.20080815.1557
-rw-r--r-- 1 oracle dba 46431 Aug 15 15:58 export.log
27 авг 08, 13:08    [6114385]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
eml78
Но если этого не сделать - разрыв связи, глюки и т.п. - файл может остаться в каталоге. При следующем вызове expdp можно соотв. нарваться на проблему при попытке создать файл который уже существует. Для того чтобы обойти проблему и нужен список файлов - чтобы пользователя не заставлять перебирать разные имена в слепую.


Чтобы обойти эту проблему всего лишь надо, чтобы файлу дампа присвоивалось уникальное имя.

А вообще, переложите все эти проблемы с плеч конечных пользователей на плечи DBA и спите спокойно.
А если придётся многогиговые дампы тащить на PC клиентов, то и сети сильно наргузяться и большие диски надо подключать каждому клиенту, а ещё каждому пользователю давать доступ на сервер и ещё куча проблем.
27 авг 08, 13:14    [6114440]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
Ну вот и опять из плоскости "как это сделать?" разговор плавно перетекает в плоскость "зачем это надо?". Причин много и думаю от того что я вам их изложу решение вряд ли отыщется :)) Но если вам интересно то попытаюсь ответить :))
Aliona
Чтобы обойти эту проблему всего лишь надо, чтобы файлу дампа присвоивалось уникальное имя.
Да-да, решение на первый взгляд замечательное. Но давайте подумаем еще на шаг вперед - дампы которые не были забраны/удалены будут копиться - место не резиновое и мы все равно встанем перед необходимостью их удалять - а для этого опять-таки нужен их список (либо привлечение доп. средств).
Aliona
А вообще, переложите все эти проблемы с плеч конечных пользователей на плечи DBA и спите спокойно.
Во-первых, нехорошо перекладывать свои проблемы на чужую голову :) Во-вторых, спать я тогда точно буду спокойно и видимо вечным сном - т.к. меня либо пользователи убьют, которым по несколько раз в день придется бегать к админам, либо админы прикончат за то что они вынуждены постоянно заниматься импортом и экспортом дампов.

Теперь зачем это нужно (заодно и на вопрос semenar-а отвечу). Я понимаю что серьезные админы занимаются только продакшен БД - однако все программы которые вы сопровождаете кем-то написаны. И их надо тестировать, для этого нужны тестовые сервера - на них разработчики (они же пользователи БД) должны иметь возможности импортировать дампы, экспортировать дампы, удалять свои схемы - для тестирования приложения. Я сам иногда до десяти дампов в день поднимаю (поднял - потестировал - удалил). Кстати с импортом проблема с каталогами будет такая же. Зачем нужно тестирование думаю объяснять не нужно.
Aliona
А если придётся многогиговые дампы тащить на PC клиентов, то и сети сильно наргузяться и большие диски надо подключать каждому клиенту, а ещё каждому пользователю давать доступ на сервер и ещё куча проблем.
Мы используем exp/imp - сети живы, большие диски ... ну у меня стоит 80Гб - хватает вполне (кстати, по теперешним меркам это не очень большой винт).
Насчет доступа к серверу - пользователи имеют достаточно прав на уровне сервера Oracle - других прав им в принципе и не нужно было (для exp/imp). Для expdp/impdp - файл должен быть на сервере, однако скопировать файл с клиента на сервер в DIRECTORY вполне возможно средствами Oracle, забрать тоже - так что никаких доп. прав пока не нужно - но вот со списками файлов как раз получается проблема - и получается, что либо пользователям надо давать доп. права - да еще на разных серверах (а сервера могут переставляться, добавляться новые и т.д. - т.е. это не просто разовая операция - это постоянная головная боль) - вот это уже проблема.

Я попробовал выполнить в sqlplus команду ОС (у меня win а не Linux) синтаксис с ! не прокатил, написал "host dir" - сработало - только вот команда выполнилась у меня на машине а не на сервере.
27 авг 08, 16:19    [6115913]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
автор
Теперь зачем это нужно (заодно и на вопрос semenar-а отвечу). Я понимаю что серьезные админы занимаются только продакшен БД - однако все программы которые вы сопровождаете кем-то написаны. И их надо тестировать, для этого нужны тестовые сервера - на них разработчики (они же пользователи БД) должны иметь возможности импортировать дампы, экспортировать дампы, удалять свои схемы - для тестирования приложения. Я сам иногда до десяти дампов в день поднимаю (поднял - потестировал - удалил).

Серьезные админы занимаются как разработкой, сопровождением так и внедрением. Непонимаю зачем импортировать дампы десятками. У нас к примеру есть сервер для разработчиков в такой же конфигурации как и боевой (даже в ущерб standby), пользователь все делает на резерве а потом готовые решения переносятся на боевой. У вас 1000 DDL в день, что ручками сложно? Не вопрос. На форуме масса примеров по автоматизации оного процесса. Вы переносите большое количество данных с тестовго на боевой? Так для этого и служит боевой сервер. Опасаетесь за процедуры/пакеты/функции? Храните их в локале у разработчиков.
27 авг 08, 16:34    [6116055]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
semenar
Серьезные админы занимаются как разработкой, сопровождением так и внедрением. Непонимаю зачем импортировать дампы десятками.
Во-первых, существуют разные задачи. Во-вторых существуют разные модели разработки. И т.д. и т.п., и тот факт что вы с чем-то не сталкивались или чего-то не понимаете не означает, что этого нет. Я вот например никогда кенгуру в живую не видел, но я же не говорю что их нет :))
semenar
Храните их в локале у разработчиков.
Т.е. вы предлагате всем разработчикам поставить по СУБД Oracle - чтобы они сами их (СУБД) ставили, настраивали, ручками писали батники и скрипты? А есть еще тестировщики, которые проверяют функциональные требования - они вообще в программировании разбираться не обязаны. Или вы предлагаете чтобы админы бегали по рабочим местам и там СУБД настраивали и дампы поднимали? Если да, то не желаете ли у нас трудоустроиться и этим заняться :))
27 авг 08, 16:53    [6116226]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
автор
сталкивались или чего-то не понимаете не означает, что этого нет

Канечно, я и не спорю, я только понимаю что можно отыскать поизящнее решение чем перекачка дампов конечным пользователям.
автор
Т.е. вы предлагате всем разработчикам поставить по СУБД Oracle - чтобы они сами их (СУБД) ставили, настраивали, ручками писали батники и скрипты?

Возвращемся к вопросу об администраторах.
автор
Или вы предлагаете чтобы админы бегали по рабочим местам и там СУБД настраивали и дампы поднимали? Если да, то не желаете ли у нас трудоустроиться и этим заняться :))

Зачем бегать? Может просто правильно все организовать. И зачем иметь количество серверов=равное количеству разработчиков?
З.Ы. По моему к флуду катимся:)
27 авг 08, 17:18    [6116436]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
Вобщем попробовал варианты (дело происходит под win2003, Oracle 10.2.0.3):
1. java не подходит - т.к. она не всегда есть (на сервере она может быть не установлена) и требует создания дополнительных объектов в СУБД.
2. Поэтому смотрел вариант с DBMS_SCHEDULER - все вроде нормально, вот только код типа
BEGIN
  SYS.DBMS_SCHEDULER.CREATE_JOB(job_name=>'TEST', job_type=>'EXECUTABLE',
    job_action=>'C:\oracle\admin\bdgt10\dpdump\test.cmd', enabled=>TRUE,
    number_of_arguments=>0, auto_drop=>TRUE); 
END;
/
из под SYS работает, а из под SYSTEM - нет. Думал дело в правах - выдал Full Control для everyone - не помогло. Все равно получаю в user_scheduler_job_run_details
ORA-27370: сбой подчиненного процесса при запуске задания типа EXECUTABLE
ORA-27300: сбой операции ОС:accessing execution agent со статусом: 2
ORA-27301: сообщение об ошибке ОС: The system cannot find the file specified.
ORA-27302: сбой в: sjsec 6a
ORA-27303: дополнительная информация: The system cannot find the file specified.
Кто-нибудь знает в чем может быть дело?
15 сен 08, 14:57    [6185824]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
Maxim Demenko
Member

Откуда: Munich, Germany
Сообщений: 940
eml78

Это ?
автор
The OracleJobScheduler Windows service must be started before external jobs will run (except for jobs in the SYS schema and jobs with credentials).


Best regards

Maxim
15 сен 08, 17:25    [6186933]     Ответить | Цитировать Сообщить модератору
 Re: Получить список файлов  [new]
eml78
Member

Откуда:
Сообщений: 648
Maxim Demenko
Это ?

Похоже что оно самое - спасибо огромное!!!!
15 сен 08, 18:15    [6187258]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить