Oracle 9i 删除用户失败

Oracle 9i 删除用户失败

问题描述:

SQL> drop user fzyh1;

drop user fzyh1

*

ERROR 位于第 1 :

ORA-01001: 无效的游标

ORA-00600: 内部错误代码,参数: [qmxiUnpPacked2], [121], [], [], [], [], [], []

 

版本说明:

oracle 9i   9.2.0 .1打补丁到 9.2.0 .7

问题原因:

打补丁升级过程没有完全完成,即装完exe文件后没有进行安装后续的维护操作,以至于导致oracle内部错误。

解决方案:

1,  检查表空间大小,使之空闲空间最小为 10M 之上,否则后续操作将无法完成。

      Alter  database  datafile  ‘$oradata\system01.dbf’ resize 500M ;

2, 设置初始化参数SHARED_POOL_SIZE JAVA_POOL_SIZE,使之均至少都大于 150M .

1> 开启数据库:

               SQL> STARTUP OPEN
   

2>如果有必要,输入下面命令查看是否系统使用了初始化参数文件(initsid.ora)或者服务器参数文件(spfiledbname.ora)

         SQL> SHOW PARAMETER PFILE; 
   

这个命令展示了初始化参数文件(initsid.ora)或者服务器参数文件(spfiledbname.ora)的文件名字和在操作系统上存在的位置。

3>查看下面参数的大小

SQL> SHOW PARAMETER SHARED_POOL_SIZE
   
SQL> SHOW PARAMETER JAVA_POOL_SIZE
   

   
     
   

4>     如果系统使用的是服务器参数文件,则:

a.       If necessary, set the value of the SHARED_POOL_SIZE initialization parameter to at least 150 MB:

             SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='
   
    150M
   ' SCOPE=spfile; 
   

b.       If necessary, set the value of the JAVA_POOL_SIZE initialization parameter to at least 150 MB:

          SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=' 150M ' SCOPE=spfile;

5>如果系统使用的是初始化参数文件,则需要手工找到初始化文件(initsid.ora)打开手动修改SHARED_POOL_SIZEJAVA_POOL_SIZE的大小,使之都大于 150M

6> Shut down the database:

               SQL> SHUTDOWN  IMMEDIATE
   

3,更新数据库

1> dba身份登录SQL*PLUS:

   C:> sqlplus /NOLOG
   

SQL> CONNECT SYS/password  AS SYSDBA

       2> 输入下面命令进行升级

     SQL> STARTUP MIGRATE
   
     SQL> SPOOL D:\patch.log
   
         SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql
   
         SQL> SPOOL OFF
   
   3>查看patch.log是否有升级问题,如果存在则需要重新升级。
   
4>重新启动数据库
   
                               SQL> SHUTDOWN  IMMEDIATE
   
                               SQL> STARTUP OPWN
   
          5> 执行utlrp.sql脚本重新编译数据库无效的PL/SQL包,强烈建议执行这一步骤
   
        SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
   
4,关闭重新打开数据库即可:
   
                               SQL> SHUTDOWN  IMMEDIATE
   
                         SQL> STARTUP OPWN
   

补充说明:

详细步骤请参考oracle 9i---- 9.2.0 .7补丁安装说明。

 

重新删除用户:

SQL> drop user fzyh1 cascade;

用户已丢弃

你可能感兴趣的:(Oracle 9i 删除用户失败)