My Oracle Support Banner

IMP-3 ORA-23308 Errors During Import While Setting Trigger Firing Property (Doc ID 731911.1)

Last updated on AUGUST 04, 2018

Applies to:

Oracle Server - Enterprise Edition - Version: and later   [Release: 10.2 and later ]
Information in this document applies to any platform.


The import of a trigger fails with errors:

IMP-00017: following statement failed with ORACLE error 23308:
IMP-00003: ORACLE error 23308 encountered
ORA-23308: object SCOTT.TRIGGER_T does not exist or is invalid
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: at "SYS.DBMS_DDL", line 335
ORA-06512: at line 1

All the following conditions need to be met so that the errors to occur: 

1. In the source database the firing property was set to FALSE (default is TRUE) for the trigger with:


With the DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY procedure you can control how a trigger fires for:

- changes applied by a Streams apply process; and
- changes made by executing one or more Streams apply errors using the EXECUTE_ERROR or EXECUTE_ALL_ERRORS procedure in the DBMS_APPLY_ADM package.

If the fire_once parameter (third parameter) is set to TRUE for a trigger, then the trigger does not fire for these types of changes. If the fire_once parameter is set to FALSE for a trigger, then the trigger fires for these types of changes.

2. The import is made with clauses FROMUSER ... TOUSER and the users are different:

For example:

#> imp system/password fromuser=scott touser=test file=exp_scott.dmp log=imp_test.log

3. The user in FROMUSER clause does not exist in the target database.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.