patternMinor
Oracle 19c database instance doesn't register with listener
Viewed 0 times
withlistenerdatabase19cinstancedoesnregisteroracle
Problem
I have just installed an oracle 19c (19.3.0.0.0 to be exact) database on a centOS 8 virtual machine. The databases instances can all be started with sqlplus on the host machine. I have set up listener.ora and tnsnames.ora based on an existing (functioning) oracle 12c, which has a very similar setup.
I did the initial installation using the .rpm from Oracle, thinking that would make things easier. It probably didn't make things any more difficult, but it meant that the directory structure was not what I'd have expected. Still, it isn't as though it is unusable, just located differently. Having done that, I did a basic install of the DB instances I wanted (using pretty much all default settings) with
Finally, I setup
The
The `listener.
I did the initial installation using the .rpm from Oracle, thinking that would make things easier. It probably didn't make things any more difficult, but it meant that the directory structure was not what I'd have expected. Still, it isn't as though it is unusable, just located differently. Having done that, I did a basic install of the DB instances I wanted (using pretty much all default settings) with
dbca.Finally, I setup
listener.ora and tnsnames.ora based on the working 12c installation. The problem is, no matter what I do, the DB instances don't seem to be registering themselves with the listener.The
tnsnames.ora looks like this:## initially copied from linuxoracle12 (20200617-1112)
LISTENER_TEMP =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
TMF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = tmf.my-company-name.com)
)
)
LISTENER_TMFDE =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
LISTENER_TMF =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
TEMP =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEMP.my-company-name.com)
)
)
TMFDE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linuxoracle19.my-company-name.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TMFDE.my-company-name.com)
)
)The `listener.
Solution
Oracle Net configuration looks OK:
What is missing in the database configuration is
PS: check also that all hostnames used in any Oracle Net files are also defined in
local_listener looks OK. We should see the instance registered with the listener: doublecheck that local_listener parameter is the one used by database instance with show parameter local_listener. Are you sure that database instance is not using SPFILE and if yes, the displayed PFILE is the right one ?What is missing in the database configuration is
service_name: that does not explain why the instance is not registered but you need to fix this if you have in tnsnames.ora.PS: check also that all hostnames used in any Oracle Net files are also defined in
/etc/hosts or in DNS.Context
StackExchange Database Administrators Q#269357, answer score: 2
Revisions (0)
No revisions yet.