Solved

Export terminated unsuccessfully [Error 4045]

Posted on 2001-06-18
9
1,960 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
  • 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
 

Author Comment

by:madappattu
ID: 6205885
It worked Banicki, I did  alter SYS.AQ$_SUBSCRIBERS once again.
Thanks & Best Regards
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to recover a database from a user managed backup

762 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now