ORA-16000 when starting a service in read only standby environment, after 12c GI upgrade (Doc ID 1615358.1)

Last updated on FEBRUARY 13, 2014

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.1 to 12.1.0.1 [Release 12.1]
Information in this document applies to any platform.

Symptoms

Start of a database service in a standby database fails with ORA-16000 after upgrading the Grid infrastructure to 12c. "srvctl start service" command fail with the following error.

$ srvctl start service -d rac_stb1 -s test_dg

PRCD-1084 : Failed to start service test_dg
PRCR-1079 : Failed to start resource ora.rac_stb1.test_dg.svc
CRS-5017: The resource action "ora.rac_stb1.test_dg.svc start" encountered the following error:
ORA-16000: database open for read-only access
ORA-06512: at "SYS.DBMS_SERVICE", line 433
ORA-06512: at "SYS.DBMS_SERVICE", line 304
ORA-06512: at line 1
For details refer to "(:CLSN00107:)" in "/u01/app/12.1.0.1/grid/log/db02/agent/crsd/oraagent_oracle/oraagent_oracle.log".

The service can be started in 11.2 GI environment. Turning on 10046 SQL trace for the database agent process will indicate that oraagent issues an DBMS_SERVICE.MODIFY_SERVICE(..), this procedure invokes a DML on service$ dictionary table, which fails as the standby database is not opened in read write mode:

 DBMS_SERVICE.MODIFY_SERVICE(service_name => :service_name, goal => goal, dtp
  => :dtp = '1', aq_ha_notifications => :aq_ha_notification = '1',
  failover_method => :failover_method, failover_type => :failover_type,
  failover_retries => failover_retries, failover_delay => failover_delay,
  clb_goal => clb_goal, edition => :edition, modify_edition => modify_edition);
  END;

  

Changes

 Upgrade the Grid Infrastructure to 12c.

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