Oracle Text Users and Roles

While any user can create an Oracle Text index and enter a CONTAINS query, Oracle Text provides the CTXSYS user for administration and the CTXAPP role for application developers.

This section contains the following sections:


The CTXSYS user is created during installation time. CTXSYS can do the following:

  • View all indexes

  • Sync all indexes

  • Run ctxkbtc, the knowledge base extension compiler

  • Query all system-defined views

  • Perform all the tasks of a user with the CTXAPP role


In earlier releases of Oracle Text, CTXSYS had SYSDBA privileges, and only CTXSYS could perform certain functions, such as modifying system-defined preferences or setting system parameters.


The CTXAPP role is a system-defined role that enables users to do the following:

  • Create and delete Oracle Text preferences

  • Use the Oracle Text PL/SQL packages

Any user can create an Oracle Text index and enter a Text query. The CTXAPP role enables users to create preferences and use the PL/SQL packages.

Granting Roles and Privileges to Users

The system uses the standard SQL model for granting roles to users. To grant a Text role to a user, use the GRANT statement.

In addition, to allow application developers to call procedures in the Oracle Text PL/SQL packages, you must explicitly grant to each user EXECUTE privileges for the Oracle Text package.