Blz ? Só posso supor algum BUG na sua versão, OU (também possível) algum erro 
de procedimento seu (por exemplo, índice não atualizado depois dos últimos 
DMLs, algo no estilo) - veja meu exemplo, num Oracle XE 18c :

=> primeiro dou os privs necessários pro SCOTT, que é quem vai criar tanto o 
índice quanto o léxico :

SYSTEM@xepdb1::CONTAINER=XEPDB1> grant ctxapp to SCOTT;

Concesso bem-sucedida.

SYSTEM@xepdb1::CONTAINER=XEPDB1> GRANT EXECUTE ON CTXSYS.CTX_DDL to scott;

Concesso bem-sucedida.

SYSTEM@xepdb1::CONTAINER=XEPDB1>

==> Ok, agora crio a tabela E o índice :

SCOTT@xepdb1::CONTAINER=XEPDB1> create table LIVRO (LIV_TITULO varchar2(500), 
LIV_TEXTO CLOB);

Tabela criada.

SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) values('Como 
nasce o Direito');

1 linha criada.

SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) values('Direito 
como Ciencia');

1 linha criada.

SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) 
values('Matematica Aplicada');

1 linha criada.

SCOTT@xepdb1::CONTAINER=XEPDB1> l
  1  BEGIN
  2    CTX_DDL.CREATE_PREFERENCE ('MIXED_CASE_LEXER_PREF','BASIC_LEXER');
  3    CTX_DDL.SET_ATTRIBUTE     ('MIXED_CASE_LEXER_PREF', 'mixed_case', 
'FALSE');
  4    CTX_DDL.SET_ATTRIBUTE     ('MIXED_CASE_LEXER_PREF', 'base_letter', 
'TRUE');
  5* END;
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Procedimento PL/SQL concludo com sucesso.

SCOTT@xepdb1::CONTAINER=XEPDB1> CREATE INDEX IDX_SEARCH_LIV_TITULO ON  LIVRO 
(LIV_TITULO)    INDEXTYPE IS
  2* "CTXSYS"."CONTEXT"  PARAMETERS ('LEXER MIXED_CASE_LEXER_PREF');
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Índice criado.

SCOTT@xepdb1::CONTAINER=XEPDB1> select * from LIVRO where 
CONTAINS(LIV_TITULO,'direito',1) > 0;

LIV_TITULO              LIV_TEXTO
----------------------- ----------
Como nasce o Direito              
Direito como Ciencia              

2 linhas selecionadas.

SCOTT@xepdb1::CONTAINER=XEPDB1>

Responder a