1 回答
TA贡献70条经验 获得超21个赞
Problem Explanation:
====================
This can be caused by running the script 'catnoqueue.sql' without first dropping all the queue tables in the database.
Solution Explanation
====================
The script 'catnoqueue.sql' has been run which drops the tables DEF$AQCALL and DEF$AQERROR. The corresponding rows in SYS.EXPACT$ are not dropped. Prior to running 'catnoqueue.sql', check for and drop any existing queue tables. To ascertain the existence of any queue tables, from SQL*Plus issue the following command to list all queue tables:
SELECT * FROM dba_queue_tables
To drop the queue tables, from SQL*Plus issue the following command: execute dbms_aqadm.drop_queue_table('<queue table name>')
Solution Description:
=====================
If 'catnoqueue.sql' has already been run, then you need to delete from SYS.EXPACT$ rows for non-existent queue tables. The following steps will allow a full export to run successfully:
All rows from the SYS.EXPACT$ table for the function package DBMS_AQ_IMPORT_INTERNAL need to be deleted.
1. Login into Server Manager as INTERNAL or SYS; or, login into SQL*Plus as SYS
2. Enter the following SQL command:
DELETE FROM SYS.EXPACT$
WHERE FUNC_PACKAGE = 'DBMS_AQ_IMPORT_INTERNAL';
After the statement issue a 'commit' so the statement can take effect.
3. Exit Server Manager or SQL*Plus.
4. Now you should be able to do a full database export.
- 1 回答
- 0 关注
- 1412 浏览
添加回答
举报