Wednesday, January 28, 2015

Slow Export job in 11gR2 / Oracle Streams AQ: enqueue blocked on low memory


Today one of our frequent export job started failing due to following error in our stage database (Oracle Database version 11.2.0.4 on OEL 6)

Oracle Streams AQ: enqueue blocked on low memory

On checking further i found that  the export job was slow due to low stream_pool_size in the database. The wait event of the job was showing as below: 

Oracle Streams AQ: enqueue blocked on low memory"

 

 I also checked the oracle support metalinkfor reference which you can refer as well.

EXPDP And IMPDP Slow Performance In 11gR2 and 12cR1 And Waits On Streams AQ: Enqueue Blocked On Low Memory (Doc ID 1596645.1)

 The issue got resolved by increasing stream_pool_size to 256MB. Export started running as expected.



Thursday, January 1, 2015

ORA-01466: unable to read data - table definition has changed


Checking at the errors, looks like some DDL changes are happening in the databases while export is running. On checking further at the error and looking at the LAST_DDL_TIME in some of the tables for which expdp failed,  the timestamp would be the exact time when export was running.

select object_name,subobject_name , object_type ,timestamp, last_ddl_time from dba_objects where object_name=;

In my case partitions (Object_Type =TABLE PARTITION)  got added in the tables when export was running which was a DDL change through some auto jobs setup for the same schema/tables for which we were taking the export.

To fix this issue don't create do any DDL changed in the database while export dump is in progress.