Hi,
I have a default listener (named LISTENER, port 1521) and a database with SID=ORCL. The database automatically registers with the listener, the output of "lsnrctl status" is:
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl_XPT" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
And the value of the service_names parameter is:
SQL> show parameter service_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
Now I'd like to prevent clients to connect to the database using the service name 'ORCL', so I changed the service_names init parameter:
SQL> alter system set service_names=testdb;
System altered.
Then I restarted the listener. The "problem" is that the database registers with the listener also the 'ORCL' service name:
Service "TESTDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl_XPT" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
Is it possible to somehow prevent the database from registering the service name ORCL with the listener?
If you're wondering why I'm asking that, it's because this database is a duplicated production database (on a different host), and I'd like to prevent the possibility of mistakenly connecting to the production DB. I'm aware it would be better if I change the database's SID altogether, but currently that's not possible.
Thank you in advance for any answer.
Regards,
Jure