中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORACLE之手動注冊監聽listener。alter system set local_listener="XXX"

發布時間:2020-08-14 04:33:28 來源:ITPUB博客 閱讀:187 作者:shilei1 欄目:關系型數據庫

記錄下剛剛做的一個為一個數據庫(t02)配置多個監聽(listener)的實驗,過程有點小曲折。

 

(1)新增兩個測試的監聽,listener.ora的配置內容(可純手動編輯該文件或使用netca)如下:

(LISTENER為系統原有;L1、L2為測試用新增的監聽)

[sql]   view plain copy
 
  1. # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  2. # Generated  by Oracle configuration tools.  
  3.   
  4. L2 =  
  5.   (DESCRIPTION_LIST =  
  6.     (DESCRIPTION =  
  7.       (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1523))  
  8.     )  
  9.   )  
  10.   
  11. L1 =  
  12.   (DESCRIPTION_LIST =  
  13.     (DESCRIPTION =  
  14.       (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))  
  15.     )  
  16.   )  
  17.   
  18. SID_LIST_LISTENER =  
  19.   (SID_LIST =  
  20.     (SID_DESC =  
  21.       (SID_NAME = PLSExtProc)  
  22.       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
  23.       (PROGRAM = extproc)  
  24.     )  
  25.   )  
  26.   
  27. LISTENER =  
  28.   (DESCRIPTION_LIST =  
  29.     (DESCRIPTION =  
  30.       (ADDRESS = (PROTOCOL = IPC)( KEY = EXTPROC1))  
  31.       (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))  
  32.     )  
  33.   )  


(2)配置tnsnames.ora,使數據庫(t02)可同時使用以上3個監聽:

[sql]   view plain copy
 
  1. # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora  
  2. # Generated  by Oracle configuration tools.  
  3.   
  4. T01 =  
  5.   (DESCRIPTION =  
  6.     (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))  
  7.     (CONNECT_DATA =  
  8.       (SERVER = DEDICATED)  
  9.       (SERVICE_NAME = t01)  
  10.     )  
  11.   )  
  12.   
  13. T02 =  
  14.   (DESCRIPTION =  
  15.     (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))  
  16.     (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))  
  17.     (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1523))  
  18.     (CONNECT_DATA =  
  19.       (SERVER = DEDICATED)  
  20.       (SERVICE_NAME = t02)  
  21.     )  
  22.   )  
  23.   
  24. EXTPROC_CONNECTION_DATA =  
  25.   (DESCRIPTION =  
  26.     (ADDRESS_LIST =  
  27.       (ADDRESS = (PROTOCOL = IPC)( KEY = EXTPROC1))  
  28.     )  
  29.     (CONNECT_DATA =  
  30.       (SID = PLSExtProc)  
  31.       (PRESENTATION = RO)  
  32.     )  
  33.   )  


(3)檢查及測試,發現問題:

檢查的時候發現除了默認的LISTENER監聽外,L1和L2始終不能注冊服務:

[sql]   view plain copy
 
  1. C:\>lsnrctl  
  2.   
  3. LSNRCTL  for 32- bit Windows: Version 10.2.0.1.0 - Production  on 24-7月 -2011 22:19:24  
  4.   
  5. Copyright (c) 1991, 2005, Oracle.   All rights reserved.  
  6.   
  7. 歡迎來到LSNRCTL, 請鍵入 "help"以獲得信息。  
  8.   
  9. LSNRCTL> status  
  10. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)( KEY=EXTPROC1)))  
  11. LISTENER 的 STATUS  
  12. ------------------------  
  13. 別名                      LISTENER  
  14. 版本                      TNSLSNR  for 32- bit Windows: Version 10.2.0.1.0 - Production  
  15. 啟動日期                  24-7月 -2011 22:14:18  
  16. 正常運行時間              0 天 0 小時 5 分 13 秒  
  17. 跟蹤級別                   off  
  18. 安全性                     ON:  Local OS Authentication  
  19. SNMP                       OFF  
  20. 監聽程序參數文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  21. 監聽程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\listener.log  
  22. 監聽端點概要...  
  23.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))  
  24.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1521)))  
  25. 服務摘要..  
  26. 服務  "+ASM_XPT" 包含 1 個例程。  
  27.   例程  "+asm", 狀態 BLOCKED, 包含此服務的 1 個處理程序...  
  28. 服務  "+asm" 包含 1 個例程。  
  29.   例程  "+asm", 狀態 BLOCKED, 包含此服務的 1 個處理程序...  
  30. 服務  "PLSExtProc" 包含 1 個例程。  
  31.   例程  "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...  
  32. 服務  "t01" 包含 1 個例程。  
  33.   例程  "t01", 狀態 READY, 包含此服務的 1 個處理程序...  
  34. 服務  "t01XDB" 包含 1 個例程。  
  35.   例程  "t01", 狀態 READY, 包含此服務的 1 個處理程序...  
  36. 服務  "t01_XPT" 包含 1 個例程。  
  37.   例程  "t01", 狀態 READY, 包含此服務的 1 個處理程序...  
  38. 命令執行成功  
  39. LSNRCTL> stop  
  40. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)( KEY=EXTPROC1)))  
  41. 命令執行成功  
  42. LSNRCTL>  set curr L1  
  43. 目前的監聽程序為 L1  
  44. LSNRCTL> status  
  45. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1522)))  
  46. LISTENER 的 STATUS  
  47. ------------------------  
  48. 別名                      L1  
  49. 版本                      TNSLSNR  for 32- bit Windows: Version 10.2.0.1.0 - Production  
  50. 啟動日期                  24-7月 -2011 22:14:19  
  51. 正常運行時間              0 天 0 小時 5 分 26 秒  
  52. 跟蹤級別                   off  
  53. 安全性                     ON:  Local OS Authentication  
  54. SNMP                       OFF  
  55. 監聽程序參數文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  56. 監聽程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\l1.log  
  57. 監聽端點概要...  
  58.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1522)))  
  59. 監聽程序不支持服務  
  60. 命令執行成功  
  61. LSNRCTL>  set curr L2  
  62. 目前的監聽程序為 L2  
  63. LSNRCTL> status  
  64. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1523)))  
  65. LISTENER 的 STATUS  
  66. ------------------------  
  67. 別名                      L2  
  68. 版本                      TNSLSNR  for 32- bit Windows: Version 10.2.0.1.0 - Production  
  69. 啟動日期                  24-7月 -2011 22:14:19  
  70. 正常運行時間              0 天 0 小時 5 分 38 秒  
  71. 跟蹤級別                   off  
  72. 安全性                     ON:  Local OS Authentication  
  73. SNMP                       OFF  
  74. 監聽程序參數文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  75. 監聽程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\l2.log  
  76. 監聽端點概要...  
  77.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1523)))  
  78. 監聽程序不支持服務  
  79. 命令執行成功  


停止了默認的LISTENER監聽后,使用tns進行連接測試的時候報錯(ORA-12514):

[sql]   view plain copy
 
  1. C:\Documents  and Settings\Administrator>sqlplus scott/tiger@t02  
  2.   
  3. SQL*Plus: Release 10.2.0.1.0 - Production  on 星期日 7月 24 22:20:06 2011  
  4.   
  5. Copyright (c) 1982, 2005, Oracle.   All rights reserved.  
  6.   
  7. ERROR:  
  8. ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務  


(4)分析問題:

一陣google之后發現,如果默認端口不是1521,則需要設置LOCAL_LISTENER來手動指定監聽別名:

When configuring the listener to listen on TCP/IP, you should enter the default port of 1521. If you do not, you must configure the LOCAL_LISTENER parameter in the intialization parameter file and resolve the listener name through a naming method.

http://download.oracle.com/docs/cd/B13789_01/network.101/b10775/listenercfg.htm

(5)解決問題(此處的T02為step 2的tnsnames.ora里面的T02):

[sql]   view plain copy
 
  1. C:\Documents  and Settings\Administrator> set oracle_sid=t02  
  2.   
  3. C:\Documents  and Settings\Administrator>sqlplus /  as sysdba  
  4.   
  5. SQL*Plus: Release 10.2.0.1.0 - Production  on 星期日 7月 24 22:21:55 2011  
  6.   
  7. Copyright (c) 1982, 2005, Oracle.   All rights reserved.  
  8.   
  9. 已連接到空閑例程。  
  10.   
  11. SQL>  select status,instance_name  from v$instance;  
  12.   
  13. STATUS                   INSTANCE_NAME  
  14. ------------------------ --------------------------------  
  15. OPEN                     t02  
  16.   
  17. SQL>  alter system  set local_listener= "T02";  
  18.   
  19. 系統已更改。  
  20.   
  21. SQL>  


(6)驗證,再測試:

驗證,發現L1、L2已能正常注冊服務:

[sql]   view plain copy
 
  1. LSNRCTL>  set curr L1  
  2. 目前的監聽程序為 L1  
  3. LSNRCTL> status  
  4. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1522)))  
  5. LISTENER 的 STATUS  
  6. ------------------------  
  7. 別名                      L1  
  8. 版本                      TNSLSNR  for 32- bit Windows: Version 10.2.0.1.0 - Production  
  9. 啟動日期                  24-7月 -2011 22:14:19  
  10. 正常運行時間              0 天 0 小時 32 分 54 秒  
  11. 跟蹤級別                   off  
  12. 安全性                     ON:  Local OS Authentication  
  13. SNMP                       OFF  
  14. 監聽程序參數文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  15. 監聽程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\l1.log  
  16. 監聽端點概要...  
  17.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1522)))  
  18. 服務摘要..  
  19. 服務  "t02" 包含 1 個例程。  
  20.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  21. 服務  "t02XDB" 包含 1 個例程。  
  22.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  23. 服務  "t02_XPT" 包含 1 個例程。  
  24.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  25. 命令執行成功  
  26. LSNRCTL>  set curr L2  
  27. 目前的監聽程序為 L2  
  28. LSNRCTL> status  
  29. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1523)))  
  30. LISTENER 的 STATUS  
  31. ------------------------  
  32. 別名                      L2  
  33. 版本                      TNSLSNR  for 32- bit Windows: Version 10.2.0.1.0 - Production  
  34. 啟動日期                  24-7月 -2011 22:14:19  
  35. 正常運行時間              0 天 0 小時 33 分 6 秒  
  36. 跟蹤級別                   off  
  37. 安全性                     ON:  Local OS Authentication  
  38. SNMP                       OFF  
  39. 監聽程序參數文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora  
  40. 監聽程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\l2.log  
  41. 監聽端點概要...  
  42.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1523)))  
  43. 服務摘要..  
  44. 服務  "t02" 包含 1 個例程。  
  45.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  46. 服務  "t02XDB" 包含 1 個例程。  
  47.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  48. 服務  "t02_XPT" 包含 1 個例程。  
  49.   例程  "t02", 狀態 READY, 包含此服務的 1 個處理程序...  
  50. 命令執行成功  
  51. LSNRCTL>  


再測試,發現scott用戶能夠正常登錄:

[sql]   view plain copy
 
  1. C:\Documents  and Settings\Administrator>sqlplus scott/tiger@t02  
  2.   
  3. SQL*Plus: Release 10.2.0.1.0 - Production  on 星期日 7月 24 22:24:43 2011  
  4.   
  5. Copyright (c) 1982, 2005, Oracle.   All rights reserved.  
  6.   
  7.   
  8. 連接到:  
  9. Oracle  Database 10g Enterprise Edition Release 10.2.0.1.0 - Production  
  10. With the Partitioning, OLAP  and Data Mining options  
  11.   
  12. SQL>  


(7)總結

當監聽的端口是默認的1521時,PMON會動態注冊該監聽(listener);

當監聽的端口不是默認的1521時,需要使用alter system set local_listener="T02";來手動注冊監聽。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太保市| 当雄县| 蓬溪县| 沙田区| 桦南县| 福安市| 肃南| 东安县| 天峨县| 乐昌市| 松江区| 渭南市| 和林格尔县| 正宁县| 阿尔山市| 洛隆县| 福海县| 金坛市| 建始县| 乌恰县| 平顺县| 正镶白旗| 河源市| 凤冈县| 广安市| 东乡族自治县| 林州市| 吉安县| 忻州市| 广灵县| 沙雅县| 大埔县| 闸北区| 桐庐县| 依安县| 祁连县| 康平县| 深州市| 额敏县| 崇左市| 墨江|