IMP-3 ORA-23308 Errors During Import While Setting Trigger Firing Property
(Doc ID 731911.1)
Last updated on MARCH 07, 2019
Applies to:Oracle Database - Enterprise Edition - Version 10.2.0.4 and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Information in this document applies to any platform.
The import of a trigger fails with errors:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('"<SCHEMA_NAME>"', '"<TRIGGER_NAME>"', FALSE); END;"
IMP-00003: ORACLE error 23308 encountered
ORA-23308: object <SCHEMA_NAME>.<TRIGGER_NAME> 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:
DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY ('<SCHEMA_NAME>', '<TRIGGER_NAME>', FALSE);
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:
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