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

Last updated on DECEMBER 02, 2011

Applies to:

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

Symptoms

The import of a trigger fails with errors:

IMP-00017: following statement failed with ORACLE error 23308:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('"SCOTT"', '"TRIGGER_T"', FALSE); END;"
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:

BEGIN
  DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY ('SCOTT', 'TRIGGER_T', FALSE);
END;

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.

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms