How can I download document while index of area recreation

CREATE TABLE my_docs)
ID NUMBER (10) NOT NULL,
name VARCHAR2 (200) NOT NULL,
doc BLOB NOT NULL
);

ALTER TABLE my_docs ADD)
CONSTRAINT my_docs_pk PRIMARY KEY (id)
);

CREATE SEQUENCE my_docs_seq;

DIRECTORY to CREATE or REPLACE documents AS "C:\work"

CREATE OR REPLACE PROCEDURE load_file_to_my_docs (p_file_name IN my_docs.name%TYPE) AS
v_bfile BFILE.
v_blob BLOB;
BEGIN
INSERT INTO my_docs (id, name, doc)
VALUES (my_docs_seq. NEXTVAL, p_file_name, empty_blob())
RETURN doc INTO v_blob;

v_bfile: = BFILENAME ('DOCUMENTS', p_file_name);
Dbms_Lob.FileOpen (v_bfile, Dbms_Lob.File_Readonly);
Dbms_Lob.LoadFromFile (v_blob, v_bfile, Dbms_Lob.Getlength (v_bfile));
Dbms_Lob.FileClose (v_bfile);

COMMIT;
END;
/

EXEC load_file_to_my_docs ('any_document_of_PDF_DOC_DOCX');



-Download any DOCUMENT size 10 m approx. 4-5 documents.


CREATE INDEX my_docs_doc_idx ON my_docs (doc) INDEXTYPE IS CTXSYS. CONTEXT PARAMETERS ("sync (on commit)");

DROP INDEX my_docs_doc_idx;

now to re-create the indexes on the same column

CREATE INDEX my_docs_doc_idx ON my_docs (doc) INDEXTYPE IS CTXSYS. CONTEXT PARAMETERS ("sync (on commit)");


- at the same time in another session try to download any document in the table above
you will face ORA-29861: area index is shown LOADING/FAILURE/UNUSABLE

How can I download document while index of area recreation

You can use:

Your_index ALTER INDEX REBUILD PARAMETERS online ("REPLACE LEXER your_lexer");

Tags: Database

Similar Questions

Maybe you are looking for