我正在尝试在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
有什么想法吗?
答案 0 :(得分:1)
文件和URL数据存储区可启用访问权限 到实际数据库磁盘上的文件。 这在安全性时可能是不合需要的 是一个问题,因为任何用户都可以浏览 可访问的文件系统 Oracle用户。 FILE_ACCESS_ROLE 系统参数可用于设置 数据库角色的名称 授权使用创建索引 文件或URL数据存储。如果设置,任何 用户尝试创建索引 使用FILE或URL数据存储必须具有 这个角色,或索引创建会 失败。
例如,以下声明 设置数据库角色的名称:
ctx_adm.set_parameter('FILE_ACCESS_ROLE','TOPCAT');
TOPCAT就是这样的角色 授权在a上创建索引 文件或URL数据存储区。创造 用户时INDEX操作将失败 没有授权角色 尝试在文件上创建索引 URL数据存储区。
那么,您的用户是否具有必要的角色?