win2003下oracle 9.2.0.8 用dbca建库时出现ora-29807错误
很少在windows下部署oracle的生产库,今天在win2003下oracle 9.2.0.8 用dbca建库时出现ora-29807错误记得这个bug很早就出现过,没有想到在9.2.0.8下还没有修正,特地又去metalink上查了一下,解决方法如下,记录在此备忘:
Problem
~~~~~~~
While using Database Creation Assistant (DBCA) to create a database (custom or template) after patchset 9.2.0.2.0 or 9.2.0.3.0 has been applied, ORA-29807 'specified operator does not exist' is encountered during 'create data dictionary views.'
It has been determined that this error is being raised while DBCA is running the script prvtxml.plb.
Prvtxml.plb is a script which creates a particular package body. This script is called from the catxml.sql script - which in turn is called by the catproc.sql script - run automatically when creating a database using DBCA.
Workaround
~~~~~~~~~~
This workaround can be implemented either before invoking the DBCA or after the ORA-29807 has been encountered.
1. Go to the script catxml.sql and comment out the line which will run prvtxml.plb
2a. If the script has been edited before invoking DBCA, it is now safe to proceed with invoking DBCA
OR
2b. If the script has been edited after the ORA-29807 is encountered, go back to your DBCA screen and click 'Ignore'
3. The database creation using DBCA should now proceed without additional errors.
4. Once DBCA has completed database creation, remember to run the 'prvtxml.plb' script independently, as the user SYS.
5. Check whether there are invalid objects:select * from dba_objects where owner = 'SYS' and status = 'INVALID' ;If so, run the 'utlrp.sql' script to validate those objects.

没有评论:
发表评论