Replicat Fails with ORA-01435 While Processing DDL Operation (Doc ID 1393463.1)

Last updated on JANUARY 13, 2017

Applies to:

Oracle GoldenGate - Version 11.1.1.1.0 to 11.2.1.0.0 [Release 11.1.1.1 to 11.2]
Information in this document applies to any platform.

Symptoms

Replicat fails with the following message in the report file

ERROR OGG-00519 Fatal error executing DDL replication: error [Error code [1435], 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
SCHEMA1

SQL> alter index SCHEMA2.SYS_C0025023 monitoring usage;

The replicat parameter file is as follows

replicat r_dor
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.

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