Недостаточно прав при создании индекса в Oracle 11g - PullRequest
1 голос
/ 24 февраля 2010

Я пытаюсь создать индекс в Oracle, мой ddl:

create index OMD_DOCTEXT2_CTX on table_name(col_name)
indextype is ctxsys.context local
parameters ('datastore CTXSYS.FILE_DATASTORE filter ctxsys.null_filter  lexer E2LEX wordlist E2WORDLIST stoplist E2STOP section group E2GROUP') parallel 4;

Я получаю ошибку:

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-10758: index owner does not have the privilege to use file or URL datastore
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366

Есть идеи?

1 Ответ

1 голос
/ 25 февраля 2010

Из текстовой документации Oracle :

Доступ к хранилищам файлов и URL-адресов к файлам на фактическом диске базы данных. Это может быть нежелательно, когда безопасность является проблемой, так как любой пользователь может просматривать файловая система, которая доступна для пользователь Oracle. FILE_ACCESS_ROLE Системный параметр может быть использован для установки имя роли базы данных, которая разрешено создавать индекс с помощью ФАЙЛ или URL хранилища данных. Если установлено, любой пользователь пытается создать индекс используя хранилище данных FILE или URL, эта роль, или создание индекса будет потерпеть неудачу.

Например, следующее утверждение устанавливает имя роли базы данных:

ctx_adm.set_parameter('FILE_ACCESS_ROLE','TOPCAT');

где TOPCAT - это роль разрешено создавать индекс на хранилище данных файла или URL. СОЗДАТЬ Операция INDEX потерпит неудачу, когда пользователь это не имеет разрешенной роли пытается создать индекс для файла или URL хранилище данных.

Итак, имеет ли ваш пользователь необходимую роль?

...