Solved

Export terminated unsuccessfully [Error 4045]

Posted on 2001-06-18
9
2,073 Views
Last Modified: 2007-11-27
Hello All,
I am taking a full database export of my database, performing exp command as SYS user, and I executed catexp.sql also before the export. I am getting an error as follows , what is the reson for this error, anyone can help me to solve this

Regards

EXP-00008: ORACLE error 4045 encountered
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_AQ_IMPORT_INTERNAL
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-905: object SYS.AQ$_SUBSCRIBERS is invalid
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 1
ORA-06512: at "SYS.DBMS_SYS_SQL", line 787
ORA-06512: at "SYS.DBMS_SQL", line 328
ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 82
ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 133
ORA-06512: at line 1
EXP-00000: Export terminated unsuccessfully
0
Comment
Question by:madappattu
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
9 Comments
 
LVL 2

Expert Comment

by:stmontgo
ID: 6202212
Do u have advanced replication set up? Did someone run catrep.sql?
0
 
LVL 2

Accepted Solution

by:
banicki earned 30 total points
ID: 6202548
actually this is related to several bugs on several releases... from 8.0.4 to 8.1.6
here is a partial list.  1314167, 1102966, 875427, 759735, 753384, 647800 and  Bug 1314167

there is a work around posted on metalink.

identify invalid system objects:
select 'alter type sys.'|| object_name || ' compile;'
 from all_objects
 where status = 'INVALID'
 and owner = 'SYS'
 and object_type = 'TYPE';

 you have to perform a drop operation on the queue_table even though you did not create any queue tables explicitly. Two queue tables are created by catdefrt.sql when a database is initialized.

 select * from dba_queue_tables;

 SYSTEM.DEF$_AQCALL

 execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQCALL');

 ORA-24012 "cannot drop QUEUE_TABLE, some queues in %s have
 not been dropped", you must use the force option in the procedure:

 execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQCALL', TRUE);
 -AND-
 execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQERROR', TRUE);

 This is a Bug in which two queue tables are created by catdefrt.sql when the
 database is initialized regardless of whether the Replication option is
 installed.
0
 

Author Comment

by:madappattu
ID: 6203302
Dear  banicki
I had tried to do the steps as you mentioned . but while exevuting
execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQCALL', TRUE);
-AND-
execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQERROR', TRUE);

this gives the following errors.



SQLWKS> execute dbms_aqadm.drop_queue_table ('SYSTEM.DEF$_AQERROR', TRUE);
BEGIN
*
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_AQADM
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-905: object SYS.AQ$_SUBSCRIBERS is invalid
SQLWKS>
SQLWKS>
0
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 

Author Comment

by:madappattu
ID: 6205885
It worked Banicki, I did  alter SYS.AQ$_SUBSCRIBERS once again.
Thanks & Best Regards
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 6206257
I have corrected the grade from "B" to A", as you requested.

Moondancer
Community Support Moderator @ Experts Exchange
0
 
LVL 1

Expert Comment

by:merry_prince
ID: 8201872
Hello banicki,

After perform two drop statments, the view dba_queue_tables will be empty. If will it affect some function of oracle server? Need I re-run catdefrt.sql file?

Hope to hear from you. Thanks a lot.
0
 
LVL 2

Expert Comment

by:banicki
ID: 8203106
Man its been two years...
This is all tied to Advance Queueing.  Replication is dependent on AQ.  
Based on the wording of the workarounds...  If your using Replication or AQ, these tables are critical.
If your not,,,  I'm not sure if you need to recreate them or not...

Banic
0
 
LVL 1

Expert Comment

by:merry_prince
ID: 8207602
Can you introduce AQ summarily?
0
 
LVL 1

Expert Comment

by:merry_prince
ID: 8207780
If are AQ and Replication generally used for distributed databases?
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
Via a live example, show how to take different types of Oracle backups using RMAN.
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question