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;