Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38390
  • 博文数量: 13
  • 博客积分: 332
  • 博客等级: 一等列兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-12 22:58
文章分类

全部博文(13)

文章存档

2011年(13)

我的朋友

分类: Oracle

2011-02-23 21:44:29

 今天在9i RAC环境下用dbca建库刚好遇到这两个“经典“的问题。贴过来保存一下。

========ORA-29807: specified operator does not exist========

  在数据库创建过程的“创建数据字典视图”阶段中,您将接收到一个 ORA-29807 错误。如果您搜索日志文件,您将看到以下内容: 
    drop operator XMLSequence

    *  
   ERROR at line 1:

    ORA-29807:specified operator does not exist

    这是一个已知的问题 (Bug:2686156),并且可被忽略。要继续数据库创建过程,请单击 “Ignore” 按钮

    安装完成后,在$ORACLE_HOME/rdbms/admin 目录下运 行utlrp.sql ,用于修补ORA-29807 错误。
     解释
     ORA-29807: specified operator does not exist 
This is a known issue (bug 2925665). You can click on the "Ignore" button to continue. 
Once DBCA has completed database creation, remember to run the 'prvtxml.plb' scrīpt 
from $ORACLE_HOME/rdbms/admin independently, as the user SYS. It is also advised 
to run the 'utlrp.sql' scrīpt to ensure that there are no invalid objects in the database at this time. 
 
修复这个BUG,登陆SQLPLUS
# sqlplus "sys/system as sysdba"
 
SQL*Plus: Release 9.2.0.4.0 - Production on Thu Nov 1 15:52:14 2007
 
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
 
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
 
SQL>@/oracle/app/oracle/product/9.2.0.4/rdbms/admin/utlrp.sql


======PRKR-1007, PRKR-1001, PRKO-2008, or PRKR-1020错误=====

(其实,这只要是srvConfig.loc文件的路径、权限的问题.)

What to do with PRKR-1007, PRKR-1001, PRKO-2008, or PRKR-1020 errors 

  Doc ID:  Note:169454.1 Type:  PROBLEM 
  Last Revision Date:  02-JUL-2002 Status:  PUBLISHED 


Problem Description
-------------------

What to do when you get the following errors:
PRKR-1007, PRKR-1001, PRKO-2008  or PRKR-1020

For example:

srvctl config -p V901
PRKR-1007 : getting of cluster database V901 configuration failed, PRKR-1001
PRKR-1020 : reading of version information failed, open() for /dev/ptrs401/
rsrcfg device failed, No such file or directory
PRKO-2008 : Application error: Failure in getting Cluster Database Configuratio1
frtru2ra901> srvctl config -p V901 -n frtru1
PRKR-1007 : getting of cluster database V901 configuration failed, PRKR-1001 
PRKO-2008 : Application error: Failure in getting Cluster Database Configuratio1


Solution Description
--------------------

You need to follow the steps below:

1. Check /var/opt/oracle/srvConfig.loc or
   /etc/srvConfig.loc or 
   $ORACLE_HOME/srvm/config/srvConfig.loc file exists.

   If the srvConfig.loc file does not exists you have to create it as 'root' 
   with the file permissions set to:

       755, owned by your oracle:dba user.:


2. Check the srvConfig.loc file contains                    
   
   srvconfig_loc=[symbolic link to shared device you created] 

   Example:

      srvconfig_loc=/dev/vx/rdsk/usupportdg/V9iOPSM.dbf

   that should point to an existing raw device if you are not on Tru64 
   platform. In this case the file must be created on a filesystem.


   Please issue the following commands to check the srvConfig.loc file points 
   to an existing raw device (if not on tru64)
        
     $ srvconfig  -version    

    If the config file is pointing to a raw device the following type of output 
    should be returned:

     $ raw device version "9.0.0.0.0"

    If it isn't a raw device, if you are on tru64 platform, you will get the 
    following:

     $ "oracle.ops.mgmt.rawdevice.RawDeviceException: PRKR-1020 :             
     reading of version information failed,                                
     /u01/ora/oradata/RAC_Cluster_Configuration_File                       
     is not a raw device file, No such file or directory"


3. Find the 'gsd' daemon on both nodes.

     $ ps -ef | grep jre


4. Shutdown the 'gsd' daemon on both nodes.

     $ kill -9

     (in 9.2, you can enter   $ gsdctl stop)


5. Format the srvConfig file only from one node.

     $ srvconfig -init -f 

   This will read the srvConfig.loc file so if the shell prompt comes back, 
   this would be successful.


6. Restart the 'gsd' on both nodes.

     $ gsd
    
   When it's started, you should get a message:
   
   'Successfully started the daemon on the local node'.

   Then go to the other node and run the same command.   
   If you get the same message, go to the next step.

7. Check that gsd is running on both nodes.

     $ ps -ef |grep jre


8. Reconfigure the Cluster Database:

in 9.0.X:

     $ srvctl add db -p -o $ORACLE_HOME
     
     $ srvctl add instance -p -i -n

     $ srvctl add instance -p -i -n

     $ srvctl config -p

in 9.2.X:


     $ srvctl add database -d -o $ORACLE_HOME
     
     $ srvctl add instance -d -i -n

     $ srvctl add instance -d -i -n

     $ srvctl config database -d  


Explanation
-----------

You need to reinitialize the config shared file through srvconfig -init .
You may have to use -f (force) option.
Then you have to configure instance information before being able to see it from srvctl 

阅读(1785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~