This example assumes native Websphere MQ integration
This example assumes Oracle 11.2.0.3 on AIXÂ
This example assumes Oracle 12.1.0.2 on AIX
This example assumes Oracle 12.2.0.1 on AIX
NOTE: The CIS Oracle Database 19c Benchmark v1.2.0 suggests "extproc" should be removed from the listener.ora. For MGW this needs to be an exception.
This example assumes Primary and Standby are on the same host for testing purposes (this configuration is not recommended for production databases.
You should update the Listener Name and values of HOST, PORT, SID_NAME and ORACLE_HOME to reflect your environment.
The Data Guard Broker Configuration stanza is only required if you intend to use the Data Guard Broker.
This example assumes DB_DOMAIN is not set. GLOBAL_DBNAME must equal the value of DB_UNIQUE_NAME, an underscore, the string DGMGRL, a period, and the value of DB_DOMAIN.
To enable cost for IPC...
Ensure a line like this exists in the LISTENER.ORA...
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
Add a line like this to the LISTENER.ORA...
SECURE_REGISTER_LISTENER = (IPC)
Replace any TCP address in the database LOCAL_LISTENER parameter with the IPC address used by the listener...
SHOW PARAMETER local_listener
ALTER SYSTEM SET local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))' SCOPE=BOTH;
Reload listener config
lsnrctl services listener
lsnrctl reload
lsnrctl services listener
Investigate any differences in services running before and after this change.
With COST enabled attempts to register with the listener using a protocol other than IPC is rejected and an event is logged in the listener log...
TNS-01194: The listener command did not arrive in a secure transport
[Local] Comment out the SECURE_REGISTER_LISTENER line in the LISTENER.ORA (if it exists).
[Remote] add the Listener to be tested to the REMOTE_LISTENER parameter...
sqlplus / as sysdba
SHOW PARAMETER remote_listener;
ALTER SYSTEM SET remote_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=localservername)(PORT=1521))' scope=memory;
SHOW PARAMETER remote_listener;
exit
[Local] You should now see a service handler created for the remotely registered instance...
this is the activity that we need to preventlsnrctl
services listener
[Local] Uncomment/Add the SECURE_REGISTER_LISTENER line in the LISTENER.ORA file and reload Listener configuration...
there should now be no REMOTE SERVER entries in the Services listSECURE_REGISTER_LISTENER=(IPC)
lsnrctlÂ
reload listener
services listener
[Remote] Force another registration attempt...
sqlplus / as sysdba
ALTER SYSTEM REGISTER;
System altered.exit
[Local] Check the listener for service handlers
there should still be no REMOTE SERVER entries in the Services listlsnrctlÂ
services listener
[Local] Check the listener.log.. there should be TNS-01194 messages... this confirms that the COST restriction is working properly...
...Listener rejected connection from destination 10.170.6.1507-NOV-2017 11:37:35 * service_register_NSGR * 1194TNS-01194: The listener command did not arrive in a secure transport...Note: earlier versions of the database may not show the IP address line.[Remote] Tidy up...
ALTER SYSTEM SET remote_listener='' SCOPE=MEMORY;
VALID_NODE_CHECKING_REGISTRATION_listener=OFF
Default is OFF in 11g. Default is ON for 12c.0
OFF
use one of these options to specify valid node checking registration is off, and no checking is performed.
1
ON
LOCAL
use one of these options to specify valid node checking registration is on, and all local IP addresses can register. If a list of invited nodes is set, then all IP addresses, host names, or subnets in the list as well as local IP addresses are allowed.
2
SUBNET
use one of these options to specify valid node checking registration is on, and all machines in the local subnets are allowed to register. If a list of invited nodes is set, then all nodes in the local subnets as well as all IP addresses, host names and subnets in the list are allowed.
REGISTRATION_INVITED_NODES_listener=(10.170.6.16,10.170.7.16,19.170.28.228)
To specify the list of nodes that can register with the listener. The list can include host names or CIDR notation for IPv4 and IPv6 addresses. The wildcard format (*) is supported for IPv4 addresses. The presence of a host name in the list results in the inclusion of all IP addresses mapped to the host name. The host name should be consistent with the public network interface.ADMIN_RESTRICTIONS_listener=ON
DYNAMIC_REGISTRATION_listener=off
Disables dynamic listener registration. Also set LOCAL_LISTENER.To specify the time, in seconds, for the client to complete its connect request to the listener after the network connection had been established. (1)
Default: 60 seconds
Example entry...
SQLNET.INBOUND_CONNECT_TIMEOUT_LISTENER=60
Related Errors: ORA-12525
See Valid Node Checking for Registration (VNCR) section earlier on this page.
See Valid Node Checking for Registration (VNCR) section earlier on this page.
See Class of Secure Transport (COST) section earlier on this page.
SUBSCRIBE_FOR_NODE_DOWN_EVENT_listener=OFF
Set to OFF in non-RAC environments only. Relates to ONS. Restart listener for setting to take effect. Avoids this warning in listener.log...WARNING: Subscription for node down event still pendingYou need to reload the listener for this change to take effect...
lsnrctl reload listener
See Valid Node Checking for Registration (VNCR) section earlier on this page.