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

Откуда: Мск
Сообщений: 979
есть такое

 pwd
/home/weblogic/datapump
 ls -la
drwxrwxrwx  2 weblogic oinstall 4096 Feb  6 19:15 .


SQL> select directory_name, directory_path from dba_directories where directory_name = 'DATAPUMP_DIR';

DIRECTORY_NAME
--------------------------------------------------------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
DATAPUMP_DIR
/home/weblogic/datapump


при этом попытка создать файл в директории натыкается на странную ошибку
SQL> SET SERVEROUT ON

declare
v_buff VARCHAR2(2000);
fhandle UTL_FILE.FILE_TYPE;
begin
dbms_output.put_line('WRITE');
fhandle:= UTL_FILE.FOPEN('DATAPUMP_DIR','Report.txt','W');
UTL_FILE.put_line(fhandle,' Attempt to write');
UTL_FILE.FCLOSE(fhandle);
end;
/

ERROR at line 1:
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at line 6


соответственно expdp тоже самое

Помогите разобраться.
7 фев 17, 13:08    [20188506]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
ну до кучи
 id -a oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
7 фев 17, 13:09    [20188514]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
AmKad
Member

Откуда:
Сообщений: 5222
Объектные привилегии на директорию?
7 фев 17, 13:11    [20188528]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
AmKad,

юезр тот же

попытка дать привилегии самому себе, проваливается, естественно

SQL> grant read, write on directory datapump_dir to m1;
grant read, write on directory datapump_dir to m1
                                               *
ERROR at line 1:
ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
7 фев 17, 13:44    [20188770]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
AmKad
Member

Откуда:
Сообщений: 5222
Jonhson
попытка дать привилегии самому себе, проваливается, естественно
Ну так попроси у того, кто на это уполномочен.
7 фев 17, 13:57    [20188843]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Elic
Member

Откуда:
Сообщений: 29980
Jonhson
drwxrwxrwx  2 weblogic oinstall
А Oracle под кем запущен?
7 фев 17, 14:06    [20188893]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Elic
Member

Откуда:
Сообщений: 29980
AmKad
Объектные привилегии на директорию?
+
SQL> declare
  2    v_buff VARCHAR2(2000);
  3    fhandle UTL_FILE.FILE_TYPE;
  4  begin
  5    fhandle:= UTL_FILE.FOPEN('DATA_PUMP_DIR','Report.txt','W');
  6    UTL_FILE.FCLOSE(fhandle);
  7    dbms_output.put_line('WRITE');
  8  end;
  9  /
WRITE

PL/SQL procedure successfully completed.

SQL>
SQL> exec execute immediate 'set role none'

PL/SQL procedure successfully completed.

SQL>
SQL> /
declare
*
ERROR at line 1:
ORA-29289: directory access denied
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at line 5
7 фев 17, 14:29    [20189007]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
Elic
Jonhson
drwxrwxrwx  2 weblogic oinstall
А Oracle под кем запущен?


user, oracle gid oinstall
7 фев 17, 14:33    [20189032]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
 ps -lef | grep oracle | head -10
0 S oracle    12852      1  0  80   0 - 614977 semtim Feb02 ?       00:00:45 ora_pmon_sv
0 S oracle    12867      1  0  80   0 - 614977 semtim Feb02 ?       00:02:07 ora_psp0_sv
0 S oracle    13240      1  2  58   - - 614977 hrtime Feb02 ?       03:15:12 ora_vktm_sv
0 S oracle    13259      1  0  80   0 - 614977 semtim Feb02 ?       00:00:21 ora_gen0_sv
0 S oracle    13272      1  0  80   0 - 614977 semtim Feb02 ?       00:00:21 ora_mman_sv
0 S oracle    13297      1  0  80   0 - 614977 semtim Feb02 ?       00:00:28 ora_diag_sv
0 S oracle    13305      1  0  80   0 - 615456 semtim Feb02 ?       00:03:05 ora_dbrm_sv
0 S oracle    13315      1  0  80   0 - 614977 semtim Feb02 ?       00:08:36 ora_vkrm_sv
0 S oracle    13321      1  0  80   0 - 615361 semtim Feb02 ?       00:06:21 ora_dia0_sv
0 S oracle    13330      1  0  80   0 - 622384 semtim Feb02 ?       00:01:42 ora_dbw0_sv
7 фев 17, 14:34    [20189039]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
Jonhson,

А вот просто ради интереса,
f := utl_file.fopen('DATAPUMP_DIR','delme.del','wb');
utl_file.put_raw(f,utl_raw.cast_to_raw('Attempt to write binary')||chr(10));
utl_file.fclose(f);
7 фев 17, 14:49    [20189136]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
И покажите права на директорию и роли и права юзера под которым выгружаете.
7 фев 17, 14:51    [20189144]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
env
И покажите права на директорию и роли и права юзера под которым выгружаете.




 pwd
/home/weblogic/datapump
 ls -la
drwxrwxrwx  2 weblogic oinstall 4096 Feb  6 19:15 .
 id -a
uid=54322(weblogic) gid=54321(oinstall)


тоже самое ествессно...

SQL> declare
    f UTL_FILE.FILE_TYPE;
begin
    f := utl_file.fopen('DATAPUMP_DIR','delme.del','wb');
    utl_file.put_raw(f,utl_raw.cast_to_raw('Attempt to write binary')||chr(10));
    utl_file.fclose(f);
end;
/
declare
*
ERROR at line 1:
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at line 4
7 фев 17, 15:03    [20189208]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Дойдем наконец уже до DBA_TAB_PRIVS?
7 фев 17, 15:05    [20189213]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
там ничего интересного

SQL> select grantee, privilege, type from DBA_TAB_PRIVS
where table_name = 'DATAPUMP_DIR'; 2

GRANTEE                                                                                                                          PRIVILEGE                                TYPE
-------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- ------------------------
MAIN                                                                                                                             EXECUTE                                  DIRECTORY
EXP_FULL_DATABASE                                                                                                                READ                                     DIRECTORY
IMP_FULL_DATABASE                                                                                                                READ                                     DIRECTORY
MAIN                                                                                                                             READ                                     DIRECTORY
EXP_FULL_DATABASE                                                                                                                WRITE                                    DIRECTORY
IMP_FULL_DATABASE                                                                                                                WRITE                                    DIRECTORY
MAIN                                                                                                                             WRITE                                    DIRECTORY
7 фев 17, 15:13    [20189258]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
собственно под этим юзером и запускаются sql скрипты
7 фев 17, 15:15    [20189273]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Elic
Member

Откуда:
Сообщений: 29980
Вячеслав Любомудров
Дойдем наконец уже до DBA_TAB_PRIVS?
20189007
7 фев 17, 15:25    [20189326]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Как насчет touch /home/weblogic/datapump/Report.txt из-под юзера oracle ?
7 фев 17, 15:26    [20189339]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Elic
Вячеслав Любомудров
Дойдем наконец уже до DBA_TAB_PRIVS?
20189007
Насколько понял, тут PL/SQL блок непосредственно из-под юзера
7 фев 17, 15:28    [20189343]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
fortnet
Member

Откуда:
Сообщений: 526
Это очень плохая идея располагать дампы в чьем - либо home, т.к. они обычно закрыты от своего корня от других.
Выделяйте нейтральный ресурс типа /u01, /var...
7 фев 17, 15:50    [20189467]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
fortnet
Это очень плохая идея располагать дампы в чьем - либо home, т.к. они обычно закрыты от своего корня от других.
Выделяйте нейтральный ресурс типа /u01, /var...


а вот и корень проблемы, судя по всему

pwd
/home/weblogic
drwx------  12 weblogic oinstall      4096 Feb  7 12:59 .


оракловое ПО туповато и не может увидеть папку, когда на один из узлов пути к ней нет 'x' привилегии

Всем спасибо!
7 фев 17, 16:26    [20189755]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
chmod g+x . 
решил проблему
7 фев 17, 16:30    [20189780]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
fortnet
Member

Откуда:
Сообщений: 526
Jonhson
chmod g+x . 
решил проблему

Повторюсь, это не oracle туповат, это вы нарушаете соглашения системной безопасности и архитектуру в unix - системе.
7 фев 17, 16:47    [20189909]     Ответить | Цитировать Сообщить модератору
 Re: directory в 12.1  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
fortnet
Jonhson
chmod g+x . 
решил проблему

Повторюсь, это не oracle туповат, это вы нарушаете соглашения системной безопасности и архитектуру в unix - системе.


возможно ядро линуха, ага, я точно не помню как алгоритмы должны учитывать промежуточные узлы
7 фев 17, 17:20    [20190093]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить