{"id":2027,"date":"2011-03-07T15:21:27","date_gmt":"2011-03-07T20:21:27","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=2027"},"modified":"2011-03-07T15:21:27","modified_gmt":"2011-03-07T20:21:27","slug":"oracle-net8-basic-listener-configuration","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=2027","title":{"rendered":"Oracle Net8 Basic Listener Configuration"},"content":{"rendered":"<span id=\"Config_listener.ora_file\"><h2>Config listener.ora file<\/h2><\/span>\n<p>* listener.ora is located in<br \/>\n&#8211; the directory defined by TNS_ADMIN env<br \/>\n&#8211; or $ORACLE_HOME\/network\/admin if TNS_ADMIN is not defined.<\/p>\n<span id=\"listener.ora_defines\"><h3>listener.ora defines<\/h3><\/span>\n<p>* listener name<br \/>\n* supported protocol<br \/>\n* listening port number<br \/>\n* supported service names and sid names<br \/>\n* dead connection detection<br \/>\n* prespawned dedicated server processes<br \/>\n* advanced configurations<\/p>\n<span id=\"Advantages_using_multiple_listeners\"><h3>Advantages using multiple listeners<\/h3><\/span>\n<p>* Listener failovers<br \/>\n* Separate listeners for separate databases<\/p>\n<span id=\"Syntax\"><h3>Syntax<\/h3><\/span>\n<pre lang=\"txt\">\r\nlistener_name =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS = address_data)   # ADDRESS is same as in tnsnames.ora\r\n      (PROTOCOL_STACK = protocol_data)  # See below\r\n    (DESCRIPTION =   # Use additional DESCRIPTION parameter \r\n    ...   # to support more listening ports or protocols\r\n  )\r\n<\/pre>\n<span id=\"PROTOCOL_STACK\"><h3>PROTOCOL_STACK<\/h3><\/span>\n<p>* Default PROTOCOL_STACK <\/p>\n<pre lang=\"txt\">\r\n(PROTOCOL_STACK =\r\n   (PRESENTATION = TTC)\r\n   (SESSION = NS))\r\n<\/pre>\n<p>* CORBA PROTOCOL_STACK <\/p>\n<pre lang=\"txt\">\r\n(PROTOCOL_STACK =\r\n   (PRESENTATION = GIOP)\r\n   (SESSION = RAW))\r\n<\/pre>\n<span id=\"Listen_on_multiple_NICs\"><h3>Listen on multiple NICs<\/h3><\/span>\n<pre lang=\"txt\">\r\nLISTENER =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS_LIST = \r\n        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))\r\n        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.12)(PORT = 1521))\r\n      )\r\n    )\r\n  )<\/pre>\n<span id=\"SID_LIST_Parameter\"><h2>SID_LIST Parameter<\/h2><\/span>\n<p>* Not needed for Oracle 8i and above<br \/>\n* Specifies what SIDs\/service_names a listener should handle.<\/p>\n<span id=\"Specify_SID_LIST_for__a_listener\"><h3>Specify SID_LIST for  a listener<\/h3><\/span>\n<p>* Specify listener by appending listener name to &#8216;SID_LIST_&#8217; string<\/p>\n<pre lang=\"txt\">\r\nSID_LIST_listener_name =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = db_service_name)\r\n      (ORACLE_HOME = oracle_home_directory)\r\n      (SID_NAME = name)\r\n    )\r\n    (SID_DESC =  # Additional SID_DESC\r\n  ...\r\n  )\r\n<\/pre>\n<span id=\"Prespawned_Dedicated_Server_Processes\"><h3>Prespawned Dedicated Server Processes<\/h3><\/span>\n<pre lang=\"txt\">\r\n SID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = orcl.world)\r\n      (ORACLE_HOME = \/opt\/oracle\/product\/8.1.5)\r\n      (SID_NAME = orcl)\r\n      (PRESPAWN_MAX = 30)\r\n      (PRESPAWN_LIST =\r\n        (PRESPAWN_DESC =\r\n          (PROTOCOL = TCP)\r\n          (POOL_SIZE = 10)\r\n          (TIMEOUT = 1)\r\n        )\r\n        (PRESPAWN_DESC =\r\n          (PROTOCOL = SPX)\r\n          (POOL_SIZE = 10)\r\n          (TIMEOUT = 1)\r\n        )\r\n      )\r\n    )\r\n  )<\/pre>\n<span id=\"External_Procedure_Call\"><h2>External Procedure Call<\/h2><\/span>\n<p>* Allow external procedure calls from PL\/SQL code.<br \/>\n* listener.ora<\/p>\n<pre lang=\"txt\">\r\nLISTENER =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))\r\n    )\r\n  )\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (SID_NAME = PLSExtProc)\r\n      (ORACLE_HOME = C:\\prog\\oracle\\product\\10.2.0\\db_1)\r\n      (PROGRAM = extproc)\r\n    )\r\n  )\r\n<\/pre>\n<p>* tnsnames.ora<\/p>\n<pre lang=\"txt\">\r\nEXTPROC_CONNECTION_DATA =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))\r\n    )\r\n    (CONNECT_DATA =\r\n      (SID = PLSExtProc)\r\n      (PRESENTATION = RO)\r\n    )\r\n  )<\/pre>\n<span id=\"Global_Parameters\"><h2>Global Parameters<\/h2><\/span>\n<pre lang=\"txt\">\r\nCONNECT_TIMEOUT_LISTENER = 20\r\nTRACE_LEVEL_LISTENER = OFF\r\n\r\nCONNECT_TIMEOUT_DEV_LISTENER = 60\r\nTRACE_LEVEL_DEV_LISTENER = SUPPORT<\/pre>\n<span id=\"StartStop_Listener\"><h2>Start\/Stop Listener<\/h2><\/span>\n<span id=\"From_lsnrctl_utility_command_interface\"><h3>From lsnrctl utility command interface<\/h3><\/span>\n<p>* Start lsnrctl utility<\/p>\n<pre lang=\"txt\">\r\nlsnrctl\r\nLSNRCTL> \r\n<\/pre>\n<p>* Start\/stop a listener named LISTENER (default)<\/p>\n<pre lang=\"txt\">\r\nLSNRCTL> start\r\nLSNRCTL> stop\r\n<\/pre>\n<p>* Start\/stop a listener named my_listener<\/p>\n<pre lang=\"txt\">\r\nLSNRCTL> start my_listener\r\nLSNRCTL> stop my_listener\r\n<\/pre>\n<span id=\"Run_a_listener_command_script\"><h3>Run a listener command script<\/h3><\/span>\n<pre lang=\"txt\">\r\nlsnrctl @my_listener_script\r\n<\/pre>\n<span id=\"How_to_Pair_up_listener.ora_and_tnsnames.ora\"><h2>How to Pair up listener.ora and tnsnames.ora<\/h2><\/span>\n<span id=\"listener.ora\"><h3>listener.ora<\/h3><\/span>\n<pre lang=\"txt\">\r\nLISTENER =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = mykey))  # Listen on IPC protocol\r\n      (PROTOCOL_STACK =\r\n        (PRESENTATION = TTC)\r\n        (SESSION = NS)\r\n      )\r\n    )\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = db.my.com)(PORT = 1521)) # Listen on TCP protocol\r\n      (PROTOCOL_STACK =\r\n        (PRESENTATION = TTC)\r\n        (SESSION = NS)\r\n      )\r\n    )\r\n)\r\n<\/pre>\n<p>Above two ADDRESS entries can be abbreviated as:<\/p>\n<pre lang=\"txt\">\r\nLISTENER =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = mykey))  # Listen on IPC protocol\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = db.my.com)(PORT = 1521))  # Listen on TCP protocol\r\n    )\r\n  )\r\n<\/pre>\n<span id=\"tnsnames.ora_\"><h3>tnsnames.ora <\/h3><\/span>\n<pre lang=\"txt\">\r\n# Ues IPC protocol\r\nORCL-IPC =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))\r\n    )\r\n    (CONNECT_DATA =\r\n      (SERVICE_NAME = orcl)\r\n    )\r\n  )\r\n\r\n# Use TCP protocol\r\nORCL =\r\n  (DESCRIPTION =\r\n    (ADDRESS = (PROTOCOL = TCP)(HOST = db.my.com)(PORT = 1521))\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = orcl)\r\n    )\r\n  )\r\n<\/pre>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* Oracle Net8 Configuration and Troubleshooting By: Hugo Toledo; Jonathan Gennick<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Config listener.ora file * listener.ora is located in &#8211; the directory defined by TNS_ADMIN env &#8211; or $ORACLE_HOME\/network\/admin if TNS_ADMIN is not defined. listener.ora defines * listener name * supported protocol * listening port number * supported service names and &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=2027\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[90],"tags":[],"class_list":["post-2027","post","type-post","status-publish","format-standard","hentry","category-net8"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-wH","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2027"}],"version-history":[{"count":1,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2027\/revisions"}],"predecessor-version":[{"id":2028,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2027\/revisions\/2028"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}