In the spfile of a single instance database, LOCAL_LISTENER is set to LISTENER_1. The TNSNAMES.ORA file in $ORACLE_HOME/network/admin in the database home contains:
Which statement is true?
A.
Dynamic service registration cannot be used for this database instance
B.
The LREG process registers services dynamically with the LISTENER_1 listener
C.
LISTENER_1 must also be defined in the LISTENER.ORA file to enable dynamic service registration
D.
There are two listeners named LISTENER and LISTENER_1 running simultaneously using port 1521 on the same host as the database instances
E.
The definition for LISTENER_1 requires a CONNECT_DATA section to enable dynamic service registration
I disagree: the manual configuration to which the documentation refers is intended to be "configuration [relative to dynamic registration]".
But the listener has to be defined in the listener.ora nonetheless, as stated in the same document:
"Synchronization occurs when the protocol address of the listener is specified in the listener.ora file and the location of the listener is specified in the initialization parameter file."
By default, the LREG process registers service information with its local listener on the default local address of TCP/IP, port 1521. If the listener configuration is synchronized with the database configuration, then LREG can register service information with a nondefault local listener or a remote listener on another node.
Synchronization occurs when the protocol address of the listener is specified in the listener.ora file and the location of the listener is specified in the initialization parameter file.
Answer is B.
The listener forwards client requests to supported services. These services are dynamically registered with the listener. This dynamic registration feature is called service registration. The registration is performed by the Listener Registration (LREG) process. Dynamic service registration does not require any manual configuration in the listener.ora file.
Reference:
https://docs.oracle.com/database/121/NETAG/listenercfg.htm#NETAG292
You DO need to define the listener in the listener.ora file if you're using an alias, however you don't define the instances registered in the _SID_LIST argument.
B
The LOCAL_LISTENER parameter in the SPFILE is set to LISTENER_1, and the corresponding TNS alias for LISTENER_1 is properly defined in the TNSNAMES.ORA file with all necessary details (protocol, host, and port).
The LREG (Listener Registration Process) dynamically registers the database services with the listener specified by the LOCAL_LISTENER parameter. As a result, services from the database are registered with LISTENER_1.
There is no requirement to define LISTENER_1 in the LISTENER.ORA file for dynamic registration to work. The LISTENER.ORA file is only necessary for statically configured listeners, which is not the case here.
The CONNECT_DATA section is not required for dynamic registration. The TNS alias LISTENER_1 already provides the necessary listener details.
---------
C. LISTENER_1 must also be defined in the LISTENER.ORA file to enable dynamic service registration:
Incorrect. Dynamic service registration does not require a listener to be defined in the LISTENER.ORA file; it only needs the listener to be running and reachable.
I understand that in answer C, LISTENER_1 refers to the actual listener (protocol + port) that the alias points to.
This being said, these information must be in listener.ora file (= there must be a listener defined listening on port 1521 TCP) for dynamic registration to take place.
Answer C is therefore correct.
Answer B is not because dynamic registration will not work if there is no listener defined in listener.ora
The correct answer is B.
This dynamic registration feature is called service registration. The registration is performed by the Listener Registration (LREG) process.
Why it isn't C:
Dynamic service registration does not require any manual configuration in the listener.ora file.
Reference:
https://docs.oracle.com/database/121/NETAG/listenercfg.htm#NETAG292
Try creating a new PDB without you not specifying the LISTENER_1 on the listener.ora, you will not see any service registered for that PDB.
Its a Rule:
To get Dynamic Service Registration on user created listeners, you must:
a. configure the LISTENER_1 on tnsname.ora
b. configure the LISTENER_1 on listener.ora
c. set or append the LISTENER_1 to the LOCAL_LISTENER parameter
https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-and-administering-oracle-net-listener.html#GUID-A3263EB4-C3F2-4529-ABC2-ADE749114D33
The listener forwards client requests to supported services. These services are dynamically registered with the listener. This dynamic registration feature is called service registration.
The registration is performed by the Listener Registration (LREG) process. Dynamic service registration does not require any manual configuration in the listener.ora file.
To my understanding of the question, LISTENER_1 is just an alias for the DEFAULT listener listening on host1 and port 1521. So it's already on listener.ora file with the default name LISTENER or the name given when database was created with DBCA
My vote is for answer B, because it's the closest to my findings. The question text does not imply the listener name is LISTENER_1. The string "LISTENER_1" is just an alias, that does not need a record in listener.ora, just a setting of LOCAL_LISTENER parameter in the database and alias explanation in tnsnames.ora as described at https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-and-administering-oracle-net-listener.html#GUID-0E7C39E3-4627-403A-AE69-E9AA2C7E4C57
When reproduced a scenario on a testing instance and typing $ lsnrctl status LISTENER_1, I can see status of default LISTENER with services registered dynamicaly after database was bounced. In listener.ora there is a definition of standard LISTENER, but no mention about LISTENER_1, however dynamic service registration works fine.
Hi, I think the correct is C.
I did the test with configuration about this question:
If you want the LREG do the dynamic service registration with LISTENER_1, you have to set both tnsnames.ora to resolve the address/port and listener.ora with LISTENER_1 address/port. In another case the database do the dynamic register with default LISTENER on default port 1521 regardless local_listener parameter configuration.
Take account the question ask about dynamic service register with LISTENER_1.
Answer is C.
The listener MUST be defined in the listener.ora file in order for a listener to work, not in the tnsnames file, since tnsnames its only used for aliases. You can check multiple sources, for example: https://docs.oracle.com/database/121/NETAG/listenercfg.htm#NETAG292 The default listener name is LISTENER. If you want to use LISTENER_1, it must be defined in LISTENER.ORA Source: https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-and-administering-oracle-net-listener.html#GUID-A3263EB4-C3F2-4529-ABC2-ADE749114D33 The local_listener service name, address or address list is must be specified in the tnsnames.ora file or you will get an ORA-00119 error.
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
Rivaldo11
Highly Voted 4 years, 6 months agoNowOrNever
4 years, 6 months agoSimoneF
4 years, 1 month agogisols1
4 months agoMuhab
Highly Voted 4 years, 5 months agoelvegaa
4 years, 2 months agoSimoneF
4 years, 1 month agoxmido
Most Recent 1 week agopiipoh
7 months agoguimaleo
10 months, 3 weeks agoAbdullejr
1 year agoSpyderSh
1 year, 4 months agomamadu
1 year, 6 months agoDarkseid1231
1 year, 6 months agoRaNik69
1 year, 8 months agocanijho
1 year, 10 months ago[Removed]
2 years agoBlob44
2 years agonautil2
2 years, 1 month agoalan_resende
2 years, 1 month agotrgbighero
2 years, 2 months agosaad3577
2 years, 4 months ago