在Oracle 11g中创建索引时权限不足

时间:2010-02-24 10:47:42

标签: oracle indexing privileges ora-20000

我正在尝试在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 个答案:

答案 0 :(得分:1)

来自Oracle Text Documentation:

  

文件和URL数据存储区可启用访问权限   到实际数据库磁盘上的文件。   这在安全性时可能是不合需要的   是一个问题,因为任何用户都可以浏览   可访问的文件系统   Oracle用户。 FILE_ACCESS_ROLE   系统参数可用于设置   数据库角色的名称   授权使用创建索引   文件或URL数据存储。如果设置,任何   用户尝试创建索引   使用FILE或URL数据存储必须具有   这个角色,或索引创建会   失败。

     

例如,以下声明   设置数据库角色的名称:

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

TOPCAT就是这样的角色   授权在a上创建索引   文件或URL数据存储区。创造   用户时INDEX操作将失败   没有授权角色   尝试在文件上创建索引   URL数据存储区。

那么,您的用户是否具有必要的角色?