Home > Grid Control, Grid Infrastructure, Oracle, Real Application Cluster > Oracle: HOWTO delete a service which is not configured by Oracle Clusterware

Oracle: HOWTO delete a service which is not configured by Oracle Clusterware

Problem description:

You are running a Real Application cluster database and Grid Control reports that one of your database services is down, but all your database services managed by Oracle Clusterware are up and running.

Cause:

Maybe a no longer used service has still an entry in dba_services (that’s one of the views which Grid Control will check). This for example can happen if you change the database domain parameter after installation.

Problem resolution:

Check all database service entries in dba_services:

SQL> SELECT service_id, name, creation_date, enabled FROM dba_services ORDER BY 1;
 
SERVICE_ID NAME                                                             CREATION_DATE   ENA
---------- ---------------------------------------------------------------- --------------- ---
         1 SYS$BACKGROUND                                                   20-MAY-11       NO
         2 SYS$USERS                                                        20-MAY-11       NO
         3 O11GXDB                                                          20-MAY-11       NO
         4 O11G                                                             20-MAY-11       NO
         5 O11G.oracle.initso.at                                            23-MAY-11       NO
         6 O11GFAIL                                                         25-MAY-11       NO
 
6 ROWS selected.
 
SQL>

In my case, O11G was the service Grid Control reported as down, as after changing the database domain to “oracle.initso.at”, the service was no longer used.

If you want to remove a service which is no longer used by Oracle Clusterware or database connections, you can remove it by using the following commands (if the service was configured using srvctl/Oracle Clusterware, please use srvctl to remove the service!):

SQL> EXEC dbms_service.delete_service('O11G');
 
PL/SQL PROCEDURE successfully completed.
 
SQL>

Grid Control will now no longer report the service as down, because it’s no longer known by the database:

SQL> SELECT service_id, name, creation_date, enabled FROM dba_services ORDER BY 1;
 
SERVICE_ID NAME                                                             CREATION_DATE   ENA
---------- ---------------------------------------------------------------- --------------- ---
         1 SYS$BACKGROUND                                                   20-MAY-11       NO
         2 SYS$USERS                                                        20-MAY-11       NO
         3 O11GXDB                                                          20-MAY-11       NO
         5 O11G.oracle.initso.at                                            23-MAY-11       NO
         6 O11GFAIL                                                         25-MAY-11       NO
 
5 ROWS selected.
 
SQL>
  1. No comments yet.
  1. No trackbacks yet.

Connect with Facebook