1

Oracle でインデックスを作成しようとしています、 my 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

何か案は?

4

1 に答える 1

1

Oracle Text Documentationから:

ファイルおよびURLデータストアを使用すると、実際のデータベースディスク上のファイルにアクセスできます。これは、セキュリティが問題になる場合、すべてのユーザーがOracleユーザーがアクセスできるファイルシステムを参照できるため、望ましくない場合があります。FILE_ACCESS_ROLEシステムパラメータを使用して、FILEまたはURLデータストアを使用してインデックスを作成することを許可されているデータベースロールの名前を設定できます。設定されている場合、FILEまたはURLデータストアを使用してインデックスを作成しようとするユーザーは、この役割を持っている必要があります。そうでない場合、インデックスの作成は失敗します。

たとえば、次のステートメントはデータベースロールの名前を設定します。

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

ここで、TOPCATは、ファイルまたはURLデータストアにインデックスを作成することを許可されている役割です。許可されたロールを持たないユーザーがファイルまたはURLデータストアにインデックスを作成しようとすると、CREATEINDEX操作は失敗します。

それで、あなたのユーザーは必要な役割を持っていますか?

于 2010-02-24T22:19:44.137 に答える