Come eliminare la tabella $R da un CONETXT INDEX da 19c

  Questo errore si verifica quando si usa una query che utilizza un CONTEXT INDEX e utilizza la l'operatore " CONTAINS " se l'indice contiene la tabella 

DR$<nome indice>$R

Se il parametro COMPATIBLE è 19.0.0.0, il nuovo indice Text creato in 19c non avrà una tabella $R, per impostazione predefinita. 

Tuttavia, un indice Text in 19c potrebbe avere una tabella $R se l'indice esisteva già prima che il database venisse aggiornato a 19c, oppure se l'indice è stato ricreato mentre COMPATIBLE < 19.0.0.0.

Il file di trace relatvo all'errore ORA-600 contiene un Plan Table con questa indicazione 

 Plan Table

============

------------------------------------------------------------+-----------------------------------+---------------+

| Id | Operation | Name | Rows | Bytes | Cost | Time | Pstart| Pstop |

--------------------+-----------------------------------+---------------+

| 0 | SELECT STATEMENT | | | | 20 | | | |

...............................

| 9 | TABLE ACCESS BY INDEX ROWID | <TABLE NAME> | 1 | 55 | 1 | 00:00:01 | | |

| 10 | DOMAIN INDEX | <domain index> | 78 | | 1 | 00:00:01 | | |      >>>>>>>>> There is an Oracle Text domain index in plan


Per rimuovere la tabella $R da un indice Text in 19c:

1) il parametro COMPATIBLE deve essere maggiore o uguale di 19.0.0.0.

2) Drop e recreate del Text index.

Assicurati che non ci siano carichi DML o query attivi in ​​esecuzione sul sistema perchè potrebbe causare la corruzione dell'indice. Questa operazione non ricostruisce i dati nell'indice, ovvero non reindicizza i documenti. Modifica solo i mapping degli ID documento.

Il primo metodo è utilizzare la procedura  CTX_REPORT.CREATE_INDEX_SCRIPT ma occorre ancellare il parametro 'fast_query'.


Il secondo metodo è: 
-- Eliminate the $R table:
alter index <index_name_here> parameters('replace metadata fast_dml');

N.B.
Assicurarsi che la tabella $R venga rimossa dall'indice di testo.

Riferimento Doc ID 3000550.1
Riferimento Doc ID 2817675.1

Post popolari in questo blog

Scheduler

Proxy User

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione