WELCOME!

What is Pinoy? It's a slang for Filipino, a person who comes from the Republic of the Philippines, or commonly known as the Philippine Islands (PI). I am a Filipino and works as an Oracle DBA in the United States. Whenever an issue arises or just for experiments, I usually forget what I did to solve/conduct them. There must be a central location where I can put everything. Thus, this blog was born. It's a collection of ideas, tips and tricks, scripts, or anything interesting that happened to me on an Oracle database or any other stuff.

The simpler, the better! has always been my motto. You don't have to complicate things. Simple things, for me, is always easier, just like my site.

FYI, anything that is written here is based on my personal experiences and is not endorsed by any other party. Also, I will not be held liable for issues that can arise by following whatever I did. Just like any other good DBA would say... ALWAYS TEST!

Hope you can find this site helpful in whatever you need and remember, I am not a guru.

May 9, 2016

ORA-29861 "domain index is marked LOADING"

Dropping an Oracle text index generates the error:

ORA-29861 "domain index is marked LOADING"

Forcing to drop the text with alter index <index_name> force; generates the end-of-file communication error.



After searching several documents, this is what I did:
I checked the status of the text index using the following:

select index_name, status, domidx_status, domidx_opstatus
from user_indexes where index_name = '<index_name>';


select index_name, partition_name, status, domidx_opstatus
from user_ind_partitions where index_name = '<index_name>';


All of the partitions have INPROGRS status. So I logged in as ctxsys and executed the following:

exec ctx_adm.mark_failed('<index owner name>','<index name>');

Then I logged in as the index owner, and check the status of the index:

select index_name, partition_name, status from user_ind_partitions where index_name='<index_name>';

At this point, all the documents I've searched said that the status should say failed. However, in our case, it says USABLE. Because I know that there's a problem, I went ahead and ran the following as the index owner:

begin
ctx_output.start_log ('<log_file_name>');
end;
/


alter index <index_name> rebuild partition <partition_name> parameters('resume');

begin
ctx_output.end_log;
end;
/


When I ran the alter index for the first partition, I got the error:

ORA-29856: error occurred in the execution of ODCIINDEXDROP routine
ORA-04063: package body "CTXSYS.DRIXMD" has errors
ORA-06508: PL/SQL: could not find program unit being called: "CTXSYS.DRIXMD"


So, I logged into the database as sys and compiled the package:

alter package ctxsys.drixmd compile;

Then I tried the alter index rebuild partition resume again as the index owner.

I was able to complete the alter index for all the partitions. I tried dropping the Oracle text index again, and I was successful.

HTH.  

 

2 comments:

  1. hello sir,
    good day. i actually want to learn Oracle Technology, in fact i have started studying it by watching video tutorials, searching the net and doing installation in my laptop for practice. but the problem is i was not successful in the installation part. i was looking all over the net who can help me be my mentor hehe. iwant to learn Oracle and might carrer shift from it if im already good at it. hope to hear from you. thanks

    ReplyDelete
    Replies
    1. My apologies for the late response. Were you able to resolve the issue?

      Delete