powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Долгая выдача ораклом привилегий для внешних java-функций
11 сообщений из 11, страница 1 из 1
Долгая выдача ораклом привилегий для внешних java-функций
    #39309732
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для работы с файлами на диске написал функцию на java и включил её в Java sources БД Oracle.
Написал скрипт PL-SQL, который посредством вызова функции-оболочки запускает этот java-код.

Чтобы работало нужно обязательно java выдавать привилегии на чтение и запись в определённую директорию на диске, делаю это следующим образом:

Код: plsql
1.
2.
dbms_java.grant_permission('Имя оракловского пользователя, под которым запускается скрипт','SYS:java.io.FilePermission','путь к папке где лежит файл','read');
dbms_java.grant_permission('Имя оракловского пользователя, под которым запускается скрипт','SYS:java.io.FilePermission','путь к папке где лежит файл','write');



Всё работает как надо, но слишком долго - привилегии выдаются где то за 10-15 сек.
Причём независимо локальный путь или сетевой.

В чём может быть причина такой долгой работы?
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39309936
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее привилегии на чтение и запись выдаются на конкретный файл в папке, а не на саму папку.

Использую Oracle 11.
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310247
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter,

Как быстро устанавливается права на катало из ос?
например, если в каталоге, в котором находится директория сотни тысяч файлов, то такая задержка
может быть результатом работы с каталогом ОС

Если папка находится в сети, то причина может быть сетевая, особенно если криво настроен DNS
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310490
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninverter,

Как быстро устанавливается права на катало из ос?
например, если в каталоге, в котором находится директория сотни тысяч файлов, то такая задержка
может быть результатом работы с каталогом ОС

Если папка находится в сети, то причина может быть сетевая, особенно если криво настроен DNS

Нет, я пишу в локальную папку относительно сервера оракл, т.е. запускаю скрипт, который пишет в папку на сервере где установлен сам оракл.

Я заметил ещё такую вещь:
Если имя файла и путь к нему неизменны, то привилегии долго выдаются только в самый раз когда я их выдаю, а в следующие разы выполнение скрипта по выдаче привилегий происходит моментально, т.е. на лицо факт кэширования ораклом выдачи этих привилегий.

Но, проблема в том, что у меня имя файла каждый раз в скрипте формируется динамически и поэтому приходится каждый раз выдавать эти привилегии и каждый раз они получаются выдаются в 1-й раз, поэтому всегда долго.
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310492
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и папка кудя я записываю корневая на диске C: и она пустая.
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310510
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterи папка кудя я записываю корневая на диске C: и она пустая.

какая файловая система?
как долго выполняется команда dir c:\ в ОС?
Сколько файлов/директорий в корневой папке?
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310514
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter,
Ну и какие параметры экземпляра/сервера?
может банально не хватает памяти
Код: plsql
1.
select NAME||'='''||VALUE||'''' as p from v$parameter where ISDEFAULT='FALSE';
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310546
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninverterи папка кудя я записываю корневая на диске C: и она пустая.

какая файловая система?
как долго выполняется команда dir c:\ в ОС?
Сколько файлов/директорий в корневой папке?

ОС = Windows Server 2008 R2 Enterprise SP 1
dir c:\ выполняется мгновенно
в дирректории c:\ кроме моей папки куда пишу файл есть ещё 10 папок
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310550
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninverter,
Ну и какие параметры экземпляра/сервера?
может банально не хватает памяти
Код: plsql
1.
select NAME||'='''||VALUE||'''' as p from v$parameter where ISDEFAULT='FALSE';



выдаёт 20 параметров, вот значения некоторых из них:

processes='150'
memory_target='68719476736'
db_block_size='8192'
db_recovery_file_dest_size='4102029312'
sort_area_size='2147483647'
open_cursors='300'
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310638
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vertermemory_target='68719476736'
open_cursors='300'


68 ГИГА байт?

Такие настройки у меня вообще в голове не укладываются )))
...
Рейтинг: 0 / 0
Долгая выдача ораклом привилегий для внешних java-функций
    #39310668
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevvertermemory_target='68719476736'
open_cursors='300'


68 ГИГА байт?

Такие настройки у меня вообще в голове не укладываются )))

А сколько оптимально нужно поставить?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Долгая выдача ораклом привилегий для внешних java-функций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]