Replicat Fails with ORA-01435 While Processing DDL Operation
Last updated on JANUARY 13, 2017
Applies to:Oracle GoldenGate - Version 220.127.116.11.0 to 18.104.22.168.0 [Release 22.214.171.124 to 11.2]
Information in this document applies to any platform.
Replicat fails with the following message in the report file
ERROR OGG-00519 Fatal error executing DDL replication: error [Error code , ORA-01435: user does not exist, SQL ALTER SESSION SET CURRENT_SCHEMA="SCHEMA1" ], no error handler present.
On the source database there will have been some DDL issued against an object such as a constraint that is in a different schema.
Here is an example
DDL is executed against a table SCHEMA2.TABLE2 by a user SCHEMA1 which is not the owner of the table TABLE2
SQL > Show user
SQL> alter index SCHEMA2.SYS_C0025023 monitoring usage;
The replicat parameter file is as follows
userid ggs password ***
discardfile ./dirrpt/r_dor, purge, megabytes 100
DDL INCLUDE MAPPED
map SCHEMA2.* target SCHEMA3.*;
Goldengate REPLICAT will run the ALTER SESSION SET CURRENT_SCHEMA to change
the schema to SCHEMA1 who issued the DDL against the table SCHEMA2.TABLE2. The DDL for the Mapped table SCHEMA2.TABLE2 would then be run to do the 'alter index SCHEMA2.SYS_C0025023 monitoring usage;', which is a problem if the user SCHEMA1 doesn't exist in the target producing the error. The SET CURRENT_SCHEMA command should not be done for SCHEMA1 anyway since it was only a the User executing commands and the ALTER command should be against the target schema SCHEMA3 which is in the map statement.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms