ORA-44305: service is running ORA-44311: service not running when STOP or DELETE a Service

In RAC environment, ‘DBMS_SERVICE.ALL_INSTANCES’ is required to stop or delete a service. Otherwise ORA-44305 or ORA-44311 will occur.

SQL>  exec DBMS_SERVICE.DELETE_SERVICE('TEST_SERVICE');
BEGIN DBMS_SERVICE.DELETE_SERVICE('TEST_SERVICE'); END;

*
ERROR at line 1:
ORA-44305: service TEST_SERVICE is running
ORA-06512: at "SYS.DBMS_SERVICE", line 68
ORA-06512: at "SYS.DBMS_SERVICE", line 458
ORA-06512: at line 1


SQL> exec DBMS_SERVICE.STOP_SERVICE('TEST_SERVICE');
BEGIN DBMS_SERVICE.STOP_SERVICE('TEST_SERVICE'); END;

*
ERROR at line 1:
ORA-44311: service TEST_SERVICE not running
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_SERVICE_ERR", line 40
ORA-06512: at "SYS.DBMS_SERVICE", line 519
ORA-06512: at line 1


SQL> exec DBMS_SERVICE.STOP_SERVICE('TEST_SERVICE',DBMS_SERVICE.ALL_INSTANCES);

PL/SQL procedure successfully completed.

SQL> exec DBMS_SERVICE.DELETE_SERVICE('TEST_SERVICE');

PL/SQL procedure successfully completed.

SQL> select SERVICE_ID,NAME,NETWORK_NAME,CREATION_DATE,ENABLED,PDB,GLOBAL_SERVICE from dba_services;

How to Create Service on Non-RAC PDB

As we know, we can use ‘srvctl’ utility to create a service for a RAC database. Now I demonstrate how to create a service for a standalone CDB/PDB database.

For non CDB/PDB database, we can use ‘service_name’ parameter to specify service names.

SQL> show parameter service_name;

 NAME             TYPE    VALUE
 --------------- ------- ------------------
 service_names   string  HR,STOCK,INVENTORY

Subscribe to get access

Read more of this content when you subscribe today.