как да разтоварите от DBserver без да използвате неговата ОС към отдалечен сървър

Имам проблем с базата данни на oracle. Имам база данни, на която се хоства услуга, и следователно не мога да видя дисковете или папките на базата данни на oracle. Следователно процедурите, използващи utl_file, са спрели да работят, тъй като пътят на директорията вече е невалиден.

Как ще чета и пиша във файловата система на OS? Трябва да извадя отчети от свързване на 2-3 таблици на oracle и да изтегля данни в плосък файл. където като външни таблици и utl_file не може да работи, тъй като пътят на директорията не може да бъде дефиниран поради хостинг слоя, слоят на Oracle OS е невидим.

Освен това монтирането на база данни също не е разрешено и не се дават привилегии за създаване на директория.

Моля, помогнете ми. Благодаря.


person user2967055    schedule 07.11.2013    source източник
comment
Не разбирам въпроса. Какво означава хоствана услуга в този контекст и как това е свързано с това дали можете или не можете да видите дисковете или папките на базата данни на Oracle. Какво се промени между времето, когато процедурите работеха, и днес. Предполагам, че казвате, че сте разработили локално приложение, което разчита на utl_file, но приложението ви сега се хоства от трета страна, която забранява достъп до файловата система на хоста. това близо ли е Ако случаят е такъв, ще трябва да преосмислите дизайна на приложението или избора си на хостинг компания.   -  person Justin Cave    schedule 08.11.2013


Отговори (1)


Ако имате sysdba привилегии в кутията, направете нещо по следния начин:

SQL> CREATE DIRECTORY log_dir AS '/appl/gl/log'; 
SQL> GRANT READ ON DIRECTORY log_dir TO DBA; 
SQL> GRANT WRITE ON DIRECTORY log_dir TO DBA; 

Ако нямате тези привилегии, помолете хостинг компанията да го направи. Освен това винаги можете да напишете файл с отчет с sqlplus на вашия локален диск.

person steve    schedule 09.11.2013