ORA-00600: internal error code, arguments: [psdtyfnd_with_suffix],

今天恢复oracle 数据库的时候,impdp 中途强制kill 掉了,然后 drop user xx cascade 的时候,报如下错误:

Fri Oct 19 11:28:32 2018
Dumping diagnostic data in directory=[cdmp_20181019112832], requested by (instance=1, osid=1791), summary=[incident=86696].
Fri Oct 19 11:28:58 2018
Errors in file /u01/app/oracle/diag/rdbms/cnp4t3/CNP4T3/trace/CNP4T3_ora_1791.trc  (incident=86697):
ORA-00600: internal error code, arguments: [psdtyfnd_with_suffix], [1], [1], [0], [0], [0], [0], [], [], [], [], []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.

 

解决方法:

ORA-600 [PSDTYFND_WITH_SUFFIX] 解决

Dropping, recreating or compiling a package is failing with:

ORA-600 [PSDTYFND_WITH_SUFFIX]

The package includes pipelined functions.
(See Note.136909.1 PL/SQL Pipelined and Parallel Table Functions in Oracle9i)
Cause
The cause of this issue is not known. It is believed that importing into a database where these pipelined functions already exist may be the cause, but testing has failed to rep Solution
When a pipelined function is created a number of system generated objects are also created. These objects have the object_id of the package (not the package body) appended to the object name.

Example:

A package called PKG_RESULTSET:

SQL> select object_name, object_type, object_id
from dba_objects
where object_name = 'PKG_RESULTSET';

OBJECT_NAME OBJECT_TY
Example:

A package called PKG_RESULTSET:

SQL> select object_name, object_type, object_id
from dba_objects
where object_name = 'PKG_RESULTSET';

OBJECT_NAME OBJECT_TYP OBJECT_ID
----------------------- -------------------------- ------------------
PKG_RESULTSET PACKAGE 6601
PKG_RESULTSET PACKAGE BODY 6602


SQL
SQL> select object_name from dba_objects
where object_name like '%6601%';

OBJECT_NAME
--------------------------------------
SYS_PLSQL_6601_27_1
SYS_PLSQL_6601_46_2
SYS_PLSQL_6601_46_1
SYS_PLSQL_6601_54_1
SYS_PLSQL_6601_54_2
SYS_PLSQL_6601_62_1
SYS_PLSQL_6601_62_2
SYS_PLSQL_6601_9_1
SYS_PLSQL_6601_9_2
SYS_PLSQL_6601_DUMMY_1
SYS_PLSQL_6601_DUMMY_2


Note that the objects in this scenario that end with "_2" are all duplicates of the original set.

The solution is to manually drop each object belonging to the second set, i.e...

SQL> Drop type SYS_PLSQL_6601_46_2;
Type dropped.

SQL>Drop type SYS_PLSQL_6601_DUMMY_2;
Type dropped

猜你喜欢

转载自blog.csdn.net/keaihuilang/article/details/83184678
今日推荐