Is the situation when an Oracle instance is accessible via its SID, but not a single Service Name, technically feasible?
Is it possible to delete all Service Names associated with a given SID?
I have already set service_names
of my XE instance to an empty string:
SQL> show parameter name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string XE
db_unique_name string XE
global_names boolean FALSE
instance_name string xe
lock_name_space string
log_file_name_convert string
service_names string
Still, XE
and XEXDB
show up in the services list:
SQL> select name from sys.v$active_services;
NAME
----------------------------------------------------------------
XEXDB
XE
SYS$BACKGROUND
SYS$USERS
SQL> SELECT name, enabled FROM sys.dba_services;
NAME ENA
---------------------------------------------------------------- ---
SYS$BACKGROUND NO
SYS$USERS NO
XEXDB NO
XE NO
and an attempt to delete any of them fails:
SQL> exec dbms_service.delete_service('XE');
BEGIN dbms_service.delete_service('XE'); END;
*
ERROR at line 1:
ORA-44305: service XE is running
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_SERVICE", line 454
ORA-06512: at "SYS.DBMS_SERVICE", line 343
ORA-06512: at line 1