1. 程式人生 > >修改Oracle 11gR2 RAC SCAN監聽和本地監聽埠

修改Oracle 11gR2 RAC SCAN監聽和本地監聽埠

修改SCAN監聽的埠

將SCAN監聽的埠修改為3521,本地監聽的埠不變,依然為1521:

[root@web1 ~]# srvctl modify scan_listener -p 3521

修改後檢視監聽狀態:

[[email protected] ~]$ lsnrctl status LISTENER_SCAN1

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-5月 -2016 01:32:52

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER_SCAN1
版本                      TNSLSNR for
Linux: Version 11.2.0.3.0 - Production 啟動日期 06-5月 -2016 01:31:28 正常執行時間 00 小時 123 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程式引數檔案 /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora 監聽程式日誌檔案 /u01/app/11.2
.0/grid/product/db_1/log/diag/tnslsnr/web2/listener_scan1/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.15)(PORT=1521))) 服務摘要.. 服務 "prod" 包含 2 個例項。 例項 "prod1", 狀態 READY, 包含此服務的 1 個處理程式... 例項 "prod2", 狀態 READY, 包含此服務的 1
個處理程式... 服務 "prodXDB" 包含 2 個例項。 例項 "prod1", 狀態 READY, 包含此服務的 1 個處理程式... 例項 "prod2", 狀態 READY, 包含此服務的 1 個處理程式... 命令執行成功 [[email protected] ~]$

發現SCAN監聽埠號還是1521,是因為沒有重啟監聽原因,接下來重啟監聽:

[root@web1 ~]# srvctl stop scan_listener
[root@web1 ~]# srvctl start scan_listener

更改確認:

[root@web1 ~]# srvctl config scan_listener
SCAN 監聽程式 LISTENER_SCAN1 已存在。埠: TCP:3521
[root@web1 ~]# 

重啟SCAN監聽後再次檢視狀態:

[[email protected] ~]$ lsnrctl status LISTENER_SCAN1

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-5月 -2016 01:34:47

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER_SCAN1
版本                      TNSLSNR for Linux: Version 11.2.0.3.0 - Production
啟動日期                  06-5月 -2016 01:34:42
正常執行時間              00 小時 04 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程式引數檔案          /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora
監聽程式日誌檔案          /u01/app/11.2.0/grid/product/db_1/log/diag/tnslsnr/web2/listener_scan1/alert/log.xml
監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.15)(PORT=3521)))
監聽程式不支援服務
命令執行成功
[[email protected] ~]$ 

發現埠已經修改為3521,只是監聽器上沒有例項被註冊進去,此時也無法通過192.168.1.15:3521/prod這種遠端方式訪問資料庫,下面通過修改例項的remote_listener引數讓例項向SCAN監聽器進行註冊:

[[email protected] ~]# su - oracle
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on 星期五 56 01:20:17 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


連線到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> show parameter remote_listener

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
remote_listener                      string                            web-cluster-scan:1521
SQL> 
SQL> alter system set remote_listener='web-cluster-scan:3521';

系統已更改。

SQL> 

執行完成後,檢視SCAN監聽器,例項已經註冊進去:

[[email protected] ~]$ lsnrctl status LISTENER_SCAN1

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-5月 -2016 01:45:37

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER_SCAN1
版本                      TNSLSNR for Linux: Version 11.2.0.3.0 - Production
啟動日期                  06-5月 -2016 01:34:42
正常執行時間              00 小時 1054 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程式引數檔案          /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora
監聽程式日誌檔案          /u01/app/11.2.0/grid/product/db_1/log/diag/tnslsnr/web2/listener_scan1/alert/log.xml
監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.15)(PORT=3521)))
服務摘要..
服務 "prod" 包含 2 個例項。
  例項 "prod1", 狀態 READY, 包含此服務的 1 個處理程式...
  例項 "prod2", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "prodXDB" 包含 2 個例項。
  例項 "prod1", 狀態 READY, 包含此服務的 1 個處理程式...
  例項 "prod2", 狀態 READY, 包含此服務的 1 個處理程式...
命令執行成功
[[email protected] ~]$ 

下面通過遠端訪問,可以訪問成功:

C:\Users\Bill>sqlplus sys/[email protected]192.168.1.15:3521/prod as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期五 56 01:47:27 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>

下面4個ip地址為public ip或vip,他們均無法訪問,因為它們都由本地監聽器進行監聽,且埠仍為1521,還未改為3521:

C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as SYSDBA

上面均報如下錯誤:

SQL*Plus: Release 11.2.0.4.0 Production on 星期五 5月 6 01:49:31 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-12541: TNS: 無監聽程式

修改本地監聽的埠

獲取當前監聽器的配置資訊:

[root@web1 ~]# srvctl config listener
名稱: LISTENER
網路: 1, 所有者: grid
主目錄: <CRS home>
端點: TCP:1521
[root@web1 ~]# 

下面修改1節點的本地監聽埠為3521:

[root@web1 ~]# srvctl modify listener -l LISTENER -p "TCP:3521"

修改後檢視狀態:

[[email protected] ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-MAY-2016 02:01:43

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                06-MAY-2016 01:15:17
Uptime                    0 days 0 hr. 46 min. 25 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/web1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.11)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.13)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "prod" has 1 instance(s).
  Instance "prod1", status READY, has 1 handler(s) for this service...
Service "prodXDB" has 1 instance(s).
  Instance "prod1", status READY, has 1 handler(s) for this service...
The command completed successfully
[[email protected] ~]$ 

還沒有修改過來,需要重啟監聽:

[root@web1 ~]# srvctl stop listener
[root@web1 ~]# srvctl start listener
[root@web1 ~]# 

重啟後再檢視狀態:

[[email protected] ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-MAY-2016 02:02:57

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                06-MAY-2016 02:02:30
Uptime                    0 days 0 hr. 0 min. 27 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/web1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.11)(PORT=3521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.13)(PORT=3521)))
The listener supports no services
The command completed successfully
[[email protected] ~]$ 

埠已經修改為3521,但例項沒有被註冊進去,下面修改引數local_listener讓例項的PMON程序將例項註冊到監聽器:

[[email protected] ~]$ sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on 星期五 56 02:03:50 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


連線到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> alter  system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.13)(PORT=3521))))' sid='prod1';

系統已更改。

SQL> 

修改完成後馬上檢視監聽的狀態:

[[email protected] ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 06-MAY-2016 02:10:19

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                06-MAY-2016 02:02:30
Uptime                    0 days 0 hr. 7 min. 48 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/web1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.11)(PORT=3521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.13)(PORT=3521)))
Services Summary...
Service "prod" has 1 instance(s).
  Instance "prod1", status READY, has 1 handler(s) for this service...
Service "prodXDB" has 1 instance(s).
  Instance "prod1", status READY, has 1 handler(s) for this service...
The command completed successfully
[[email protected] ~]$ 

發現例項已經註冊進去。
用同樣的方法將節點2的本地監聽的埠也修改為3521,並將例項註冊到本地監聽,因步驟和上面相同,這裡就不再贅述。

通過修改SCAN監聽器的埠及本地監聽器的埠,下面5個IP地址均能正常訪問資料庫:

C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba
C:\Users\Bill>sqlplus sys/[email protected]:3521/prod as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期五 5月 6 02:17:22 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options


HELLO
-------------------------------------------------------------------------------------
The print set file:D:\u01\app\oracle\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql

SQL>

總結

1.如果只修改SCAN監聽器的埠而沒修改本地監聽器的埠,則SCAN IP可以使用修改後的埠訪問資料庫,而PUBLIC IP和VIP是無法使用新埠訪問資料庫的。
2.如果SCAN監聽器和本地監聽器的埠都修改了,則所有IP地址都可以使用新埠進行訪問資料庫。

Reference

How to Modify SCAN Setting or SCAN Listener Port after Installation (文件 ID 972500.1)
Changing Listener Ports On RAC/EXADATA (文件 ID 1473035.1)

相關推薦

修改Oracle 11gR2 RAC SCAN本地

修改SCAN監聽的埠 將SCAN監聽的埠修改為3521,本地監聽的埠不變,依然為1521: [root@web1 ~]# srvctl modify scan_listener -p 3521 修改後檢視監聽狀態: [[email pr

Oracle 11gR2 RAC中的SCAN IP

oracle scanOracle 11gR2 中,引入了SCAN(Single ClientAccess Name)的特性。SCAN是一個域名,可以解析至少1個IP,最多解析3個SCAN IP,客戶端可以通過這個SCAN 名字來訪問數據庫,另外SCAN ip必須與public ip和VIP在一個子網。在1

oracle動態靜態的區別

一、什麼是註冊 註冊就是將資料庫作為一個服務註冊到監聽程式。 客戶端不需要知道資料庫名和例項名,只需要知道該資料庫對外提供的服務名就可以申請連線到資料庫。 這個服務名可能與例項名一樣,也有可能不一樣。 在資料庫伺服器啟動過程中,資料庫伺服器會向監聽程式註冊相應的服務(無論何時啟動一個數據庫,預設地

Oracle 11gR2 RAC恢復OCRVOTE DISK

Oracle 11gR2 RAC恢復OCR和VOTE DISK 原文連結: http://www.askmaclean.com/archives/11-2-lost-ocr-votedisk-group-recovery.html        

Oracle 11gR2 RAC 修改監聽器號的步驟

Oracle  11gR2 RAC 修改監聽器埠號的步驟 參考自: Changing Listener Ports On RAC/EXADATA (文件 ID 1473035.1) 注意: 1.本文的os是RHEL6.5,DB版本是11.2.0.3.8。    本文非exa

Oracle 11gR2 RAC 使用scan IP無法連線資料庫(ORA-12545)

簡介 oracle 11gR2 RAC安裝配置scan ip有三種方式, 1、DNS 2、GNS 3、hosts檔案 通常情況下我們採用DNS的方式,但是平時測試的時候我們一般均採用h

Oracle 11gR2 RAC集群服務啟動與關閉命令匯總

listener oracle database 網上好多帖子都是啟動和關閉相關服務的命令# su – oracle$ crs_start–all --啟動所有的crs服務$ crs_stop–all --停止所有的crs服務$ crsctl start crs --啟動crs服務$ crsctl

oracle 11g rac 筆記(VMware esxi主機都可以使用)

oracle 11g rac這個只是筆記,防止丟失,沒事見整理在vmware安裝目錄 創建磁盤:vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 D:\VMWARE\racsharedisk\ocr.vmdkvmware-vdiskmanager.ex

Oracle 11gR2 RAC Service-Side TAF 配置示例

創建數據庫 services 1.2 client trac days 容易出錯 man where Service-Side TAFService-Side TAF的配置參考:How To Configure Server Side Transparent Applica

Oracle 11G RAC資料庫基本測試使用

檢查RAC狀態 主節點測試各個節點rac執行是否正常。顯示rac節點詳細資訊 $ srvctl config database -d rac Database unique name: rac Database name: rac Oracle home: /u

ORACLE 11gR2 RAC新增刪除(正常及強制)節點操作步驟(刪除篇)

ORACLE 11gR2 RAC新增刪除(正常及強制)節點操作步驟(刪除篇) 本文主要轉載 【  http://www.cnxdug.org/?p=2511 】 有部分細節自己實驗新增,再此謝謝前輩。 RAC刪除節點 這裡我們模擬節點可以正常啟動時,正常刪除RAC節點的操作過程以及節點由於遇到

一步一步在Linux上安裝Oracle 11gR2 RAC (1)

接下來,完全參照上述建立虛擬機器步驟,建立第2個節點,虛擬機器命名為11gnode2,在配置網路步驟中,需要注意,將其eth0配置為172.16.0.192,eth1配置為192.168.94.12,主機名為node2.localdomain。

Oracle 11gR2 RAC搭建(虛擬機搭建)

tac 下一步 時間 解決方法 serve 情況 rpm partition console 安裝環境說明與虛擬機規化: 安裝環境主機操作系統:windows 10 虛擬機VMware15:兩臺CentOS-7.6Oracle Database software: Orac

How to Modify SCAN Setting or SCAN Listener Port after Installation 如何修改SCAN的設定SCAN

How to Modify SCAN Setting or SCAN Listener Port after Installation (文件 ID 972500.1) Applies to: Oracle Database - Enterprise Edition -

oracle 11g rac dbca建庫時提示創建

oracle 監聽 listener oracle rac Oracle 11g rac dbca建庫時提示創建監聽在安裝oracle 11g rac時,使用dbca建庫的過程中提示需要創建監聽:Default Listener "LISTENER" is not configured in

windows 啟動關閉Oracle服務

break stat local 程序啟動 tle -- add network 寫入 經常要用數據庫,讓他自己啟動的話,開機太慢,所以用命令啟動方便點。 1.開啟: 在運行中輸入cmd,進入控制臺,lsnrctl start回車,提示啟動監聽成功後

如何讓oracle DB、oem開機啟動(dbstart)

監聽和oem開機啟動如何讓oracle DB、監聽和oem開機啟動(dbstart)讓oracle DB、監聽和oem開機啟動(dbstart)Oracle提供了伴隨操作系統自動重啟的功能,在Windows中,可以修改“我的電腦-->管理-->服務-->OracleService$ORACL

oracle 11g rac 無法啟動

right dom ice 文件 gen roo ssa disk inux 1.數據庫啟動集群報錯 [root@db1 bin]# ./crs_stat -t -v Name Type R/RA F/FT Targe

linux下開啟oracle服務開啟

lsnrctl sql sta linux art start oracle 進入 sys su - oracle 切換到oracle用戶模式下 sqlplus /nolog //登錄sqlplus SQL> connect /as sysdba //連接o

oracle 10g rac一個節點狀態不正常,但crs_stat -t 顯示正常

$lsnrctl statusLSNRCTL for Solaris: Version 10.2.0.5.0 - Production on 18-NOV-2010 00:14:07Copyright (c) 1991, 2010, Oracle.  All rights