Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Rights issue when creating context index.

835615Jan 31 2011 — edited Jul 13 2011
Hi,

We have two users, "app" and "appsys" . with most permissions granted through roles.
"app" has just enough permissions for the application to run. No update/delete/etc on most tables, just select and (on a select few) insert rights.
"appsys" is the "crew" user, with enough rights for basic day-to-day administration and most upgrade scripts that come with new code releases.

Other than that, it's a pretty much default EE 11.2.0.1.0.

Therefore, my first preference was to have 'appsys' create the desired text index for use by 'app':

CREATE INDEX app.table_text_ix ON app.table (xml)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('SYNC (EVERY "TRUNC(SYSDATE + 1) + 03/24") TRANSACTIONAL');

Have also tried the bare:

CREATE INDEX app.table_text_ix ON app.table (xml)
INDEXTYPE IS CTXSYS.CONTEXT;

Both give the same result:

Error at Command Line:1 Column:19
Error report:
SQL Error: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-50857: oracle error in drvxtab.create_index_tables
ORA-01031: insufficient privileges
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366
29855. 00000 - "error occurred in the execution of ODCIINDEXCREATE routine"
*Cause: Failed to successfully execute the ODCIIndexCreate routine.
*Action: Check to see if the routine has been coded correctly.

When using user app (temporarily granting relevant privileges):

ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-50857: oracle error in drvddl.IndexCreate
ORA-27486: insufficient privileges
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366

I've tried granting just about anything but the kitchen sink to either user, both direct and indirect, but it still won't let me. Even SYS seems to be missing something.
Or rather, I seem to be missing something. But what? I've read a few prior threads about this issue and tried most suggestions: still no go.

Things I've GRANTed, as per documentation:
- CTXAPP role
- execute on ctxsys.ctx_ddl
- RESOURCE
- CONNECT

Other privileges it already had OR that I've tried granting:
EXECUTE ANY PROCEDURE
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
CREATE CLUSTER
CREATE ANY INDEX
ALTER ANY INDEX
DROP ANY INDEX
CREATE SEQUENCE
CREATE PROCEDURE
CREATE ANY PROCEDURE
CREATE ANY JOBB
CREATE TRIGGER
CREATE ANY TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE

Have also tried the grant select on sys.all_users to public; solution from a previous thread.

So... I'm lost... what am I missing?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 10 2011
Added on Jan 31 2011
3 comments
13,278 views