日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle11g rac监听,关于oracle11g RAC 监听器使用中出现的no services以及no listener分析...

發布時間:2024/9/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle11g rac监听,关于oracle11g RAC 监听器使用中出现的no services以及no listener分析... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,我們必須知道在oracle11g中,官方推薦GI和oracle數據庫軟件分開管理,在這種情況下,我們會發現數據庫監聽器其實是位于GI的管理賬號下,即通常我們所創建的grid賬號。在該grid賬號的$ORACLE_HOME/network/admin目錄下我們會發現我們的listener.ORA文件。同時監聽器的啟動與關閉都是由該grid賬號來控制,若使用oracle賬號此時就會發現報錯如下:

TNS-01190: The user is not authorized to execute the requested listener command

當然我們仍然可以透過oracle賬號用netca命令創建監聽器,此時的監聽器位于oracle賬號的$ORACLE_HOME/network/admin目錄下。

此外,默認情況下我們的tnsnames.ora文件仍然存在于oracle賬號下的相關位置。

下面我們就監聽器的具體配置分析下:

首先我們必須清楚地明白在RAC環境下都有哪些實例,各個實例是否都需要監聽呢,針對該問題我們測試一把:

[grid@RAC01 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 03-JAN-2014 08:33:35

…………………………

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

………………

Listener Parameter File/u/app/11.2.0/grid/network/admin/listener.ora

Listener Log File/u/app/grid/diag/tnslsnr/RAC01/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.134.30.27)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.134.30.47)(PORT=1521)))

Services Summary...

Service "+ASM" has 1 instance(s).

Instance "+ASM2", status READY, has 1 handler(s) for this service...

The command completed successfully

觀察我們的監聽器狀態,此時可以發現只有ASM實例的監聽服務,但是數據庫實例的監聽去哪兒呢?關于該問題我的推薦關注兩個參數:local_listener、remote_listener。我們再次只需要參數local_listener就ok了。

其實上面所說的no listener、no services都是與該參數有關的。我們看看現在服務器上該參數的配置:

首先觀察的是ASM實例:

SQL> show parameter local_l

NAMETYPE

------------------------------------ ---------------------------------

VALUE

------------------------------

local_listenerstring

(DESCRIPTION=(ADDRESS_LIST=(AD

DRESS=(PROTOCOL=TCP)(HOST=RAC0

1-vip)(PORT=1521))))

SQL> select instance_name,status from v$instance;

INSTANCE_N STATUS

---------- ------------------------------------

+ASM2STARTED

可以看到asm實例的local_listener參數實際上使用的是vip。

再看看我們的數據庫實例:

SQL> show parameter local_li

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

local_listenerstring(DESCRIPTION=(ADDRESS_LIST=(AD

DRESS=(PROTOCOL=TCP)(HOST=RACS

CAN.localdomain.)(PORT=1521)))

)

SQL> select instance_name,status from v$instance;

INSTANCE_N STATUS

---------- ------------

RACDB2OPEN

我們觀察到數據庫實例使用的是scan-ip。

那是不是就是應為使用的ip情況的不同,listener監聽器中的監聽服務不同呢?

我們來測試一把:

此處我們只測試asm實例的參數local_listener即可,其他服務的雷同。

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=RACSCAN.localdomain.)(PORT=1521))))';

System altered.

SQL> host lsnrctl status

Listener Parameter File/u/app/11.2.0/grid/network/admin/listener.ora

Listener Log File/u/app/grid/diag/tnslsnr/RAC01/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.134.30.27)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.134.30.47)(PORT=1521)))

The listener supports no services

The command completed successfully

我們觀察到監聽還是那個監聽,但是服務卻不是那個服務了,此時no services了。

此時我們在透過tnsnames.ora文件的配置從客戶端登陸數據庫時就會出現如下錯誤:

ORA-12520: TNS:listener could not find available handler for requested type of

server

Enter user-name:

無論是vip還是透過scan-ip都是不行的。從此處我們可以得出結論:ASM實例的監聽地址必須是VIP而不能是scan-ip。否側會出現上述報錯。

將ASM實例的監聽器修改回來。

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=RAC01-vip)(PORT=1521))))';

那么數據庫實例應該使用那個類型的ip呢,是scan-ip還是vip呢,其實這兩個ip都行,就看你怎么用了。如果local_listener參數配置為指向vip,此時客戶端只能透過vip訪問數據庫,如果local_listener參數配置為scan-ip此時客戶端必須透過scan-ip訪問,否則登陸同樣報錯如下:

ORA-12520: TNS:listener could not find available handler for requested type of

server

Enter user-name:

總結:

在oracle11g RAC環境中,監聽器是由grid賬號來維護的,此外ASM實例使用的一定是vip,數據庫實例vip、scan-ip均可使用。如果數據庫參數local_listener配置了vip,此時客戶端只能透過vip訪問數據庫,如果數據庫參數local_listener參數設置為scan-ip此時客戶端只能透過scan-ip訪問數據庫。建議使用scan-ip,這樣數據庫在增刪節點的時候就不會影響到客戶端的使用,客戶端也無需也節點的變化而修改配置。Oracle官方建議在使用scan-ip時最少配置3個scan-ip。這樣透過冗余可防止某個scan-ip不可用導致客戶端無法訪問數據庫。

以上測試僅為個人測試分析,若有不對請各位及時指出,鄙人自當萬分感謝。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Oracle11g rac监听,关于oracle11g RAC 监听器使用中出现的no services以及no listener分析...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。