Skip to main content

Issue with invalid objects while upgrading the database to 10.2.0.3

Some times we face a problem with invalid objects while upgrading a 9i database to 10.2.0.3 …When the objects in CTXSYS are invalid the upgrade will not proceed. In this case we need manually uninstall & install Oracle text. This is what we have done with one of our databases on a Solaris 9 unix server.

Please refer the following notes for uninstalling & installing the Oracle text

Note 275689.1 "Manual installation, deinstallation of Oracle Text 9.2.0.x"
Note.280713.1 Manual installation, deinstallation of Oracle Text 10gR1 and 10gR2

An additional point to remember ……….. We faced this problem while doing it in one database :

While installing oracle text, especially when we run the script “start ?/ctx/admin/defaults/drdefus.sql” (refer the aforementioned notes), it may throw the following error..

SQL> create index dropme_idx on dropme(name) indextype is ctxsys.context;
create index dropme_idx on dropme(name) indextype is ctxsys.context
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-04068: existing state of packages has been discarded
ORA-04063: stored procedure "CTXSYS.TEXTINDEXMETHODS" has errors

IN this case please do the following…….

Sql>connect ctxsys/****
Sql>@$ORACLE_HOME/ctx/admin/dr0def.sql
Sql>connect sys as sysdba
Sql>declare
ver varchar2(80);
begin
select ver_dict into ver from ctxsys.ctx_version;
dbms_registry.loaded('CONTEXT', ver,
'Oracle Text Release 'ver' - Production');

-- to do: a validation procedure
dbms_registry.valid('CONTEXT');
end;
/
Sql>exit

Comments

  1. Encountering invalid objects in Oracle database. Kudos for providing such a valuable resource for Oracle developers and administrators. 3 Best Witcher This blog is guideful. Object are important in work.

    ReplyDelete

Post a Comment

Please add your comment here

Popular posts from this blog

Permitting a user on UNIX / Linux to use sqlplus

We encountered an interesting scenario worth mentioning. Scenario: Oracle is installed on a Linux server newly & another ftp user wants to just use sqlplus also. Just setting the ORACLE_HOME, LD_LIBRARY_PATH, ORACLE_SID, PATH in the user's profile did not let him run the "sqlplus" command at all. The error shown was : $ sqlplus ld.so.1: sqlplus: fatal: /app/oracle/product/10.2/lib/libsqlplus.so: Permission denied Killed The files under "lib" directory under home didn't have permission for anybody other than "oracle" user. -rwxr-x--- 1 oracle oinstall 1320016 Jun 28 2005 /app/oracle/product/10.2/lib/libsqlplus.so When we permit the other users (other than oracle) to read/exe

HWM (high watermark) of a tablespace ?

How many times have you thought of calculating HWM (high watermark) of a tablespace as a DBA ? Have you ever found out that a tablespace is overallocated in a database, as compared to the data being used in it ? In such a case, you'd want to reduce the wasted space & resize the tablespace to a smaller size, although greater than the current usage. HWM is at the maximum blocks ever occupied by a SEGMENT (unless we perform a truncate on it). Segments span over datafiles however remain within a tablespace. All segments are physically allocated by way of extents, which are contiguous blocks of data. Now, when we talk about contiguous blocks, 2 datafiles (even from same tablespace) are highly unlikely to have contiguguos data blocks. Hence, theoretically, it's possible to calculate high watermark within a datafile, not a tablespace directly, as the latter is only a logical unit. Although, we can resize a tablespace, however the resize value needs to be based on exact calculati

Oracle Virtualbox - UUID conflict resolved for VM

Now-a-days, we use virtual machines (VMs) a lot, to test operating systems, software, databases etc. as sandboxes - test, play, destroy ... repeat ! I had an interesting learning with Oracle virtualbox (issue & then solution discovery), which I'm sharing here ... it might help someone with similar situation : I had a VM in virtualbox, which I copied into a separate folder, while it was powered off. Now, after the original VM was gone, I wanted to add it as a separate VM with a different name. However, I was seeing this UUID conflict. (UUID already exists) What I did : 1) Created a new empty VM with the desired NAME. 2) Located the new folder, where copy of the VM was there. 3) Ran the commands to change the UUID for each disk-file (.vmdk or others) I had there : "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" internalcommands sethduuid disk1.vmdk (you have to be in the same directory as the disk files, to run this command. Easy, whereve