如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通?

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

眾所周知,SAP系統是一個企業級的大數據系統。為了保證系統性能,通常數據庫(Database)都是單獨跑在一個物理host上,換句話說,這個物理host上只有數據庫,沒有SAP實例(SAPapplicationserver)–所謂的StandaloneDBServer。由於系統的需要,我們需要在SAPapplicationserver上來管理數據庫(DB13T-code),這個時候,是用SAPXPG_DBDEST_<SAPDBHOST>RFC和數據庫server通信,通過SAPXPG去執行DBserver上的DBTools(比如:BRtools,BRconnect,BRbackup等等)來獲取相應的數據信息。(我想,這也是為什麼,這個RFC名字叫SAPXPG_DBDEST_<SAPDBHOST>)

SAPXPG是SAPkernel下的一個獨立library。在SAP系統層面執行OS層面的命令行、腳本的時候(比如:SM49/SM69,DB13,Jobstep),其實是通過SAPXPG來做到的。關於SAPXPG的詳細信息,可以參看SCNWIKIhttps://wiki.scn.sap.com/wiki/x/9gpmG

有時,大家發現DB13的job運行失敗,在SM59發現SAPXPG_DBDEST_<SAPDBHOST>RFC測試不通,例如:

如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通? 遊戲 第1張

如何分析和解決這類問題呢?

當我們要分析一個RFC通信問題的時候,首先,我們需要弄清楚:誰是RFCClient,誰是RFCserver,雙方的通信方式又是什麼。針對本文的SAPXPG_DBDEST_<SAPDBHOST>RFC:

RFCClient是運行SAPXPG_DBDEST_<SAPDBHOST>這個RFC的SAPapplicationserver的gateway。

RFCserver是數據庫所在host上的SAPXPG。

根據具體的配置不同,通信方式有以下2種:

  • OSrshorssh(<SID>admuserorSAPService<SID>):

    client(APservergateway)<=>OSrshorsshunder<SID>admuserorSAPService<SID><=>SAPXPGontargetDBserver

  • GatewayconnecttoremoteGateway:

    client(APservergateway)<=>remoteconnecttoDBserverstandalonegateway<=>SAPXPGontargetDBserver

關於通信方式,SAP推薦在DBserver上安裝一個StandaloneGateway,用「GatewayconnecttoremoteGateway」這種通信方式(把StandaloneGateway的host以及port設定到SAPXPG_DBDEST_<SAPDBHOST>RFC的”GatewayOptions”里面)。因為,Gateway到Gateway的通信是由SAP系統來做到的,安全、高效,不易出現問題。相反,系統默認的OSrshorssh的通信方式容易出現各種各樣的問題。本文將主要針對系統默認的OSrshorssh的這種通信方式來為大家介紹如何分析SAPXPG_DBDEST_<SAPDBHOST>RFC不通的問題。

SAPXPG_DBDEST_<SAPDBHOST>RFC是系統自動生成出來的,系統默認的設定如下(OSrshorssh的通信方式):

如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通? 遊戲 第2張

基於以上的分析,我們可以知道,針對SAPXPG_DBDEST_<SAPDBHOST>RFC不通的問題,根本原因有可能在:

  • RFCclient-SAPAPserverGateway

  • RFCserver-DBserver上的SAPXPG

  • 雙方的通信

我們可以逐一排查,具體如下:

1,檢查OS層面的rshorssh是否配置完好

為了驗證OS層面的rshorssh是否配置完好,你可以SAPGUI登入到SAPApplicationServer,SE38->RSBDCOS0,執行下面的命令:

/usr/bin/ssh<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>-l<SID>ADMhostname

如果正確返回DBhost名字,那麼意味著APserver到DBserver的OSrshorssh配置沒問題。否則,你需要聯繫OS管理員來確保<SID>admorSAPService<SID>user的OSrshorssh是沒有問題的。

2,檢查目標DBhost上的RFCserverSAPXPG

你可以SAPGUI登入到SAPApplicationServer,SE38->RSBDCOS0,執行下面的命令:

/usr/bin/ssh<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>-l<SID>ADMsapxpg-s-stdoutnhostname

這個命令的意思是,用sapxpg去執行DBhost上的hostname命令。如果正確返回DBhost名字,那麼意味著DBserver上的SAPXPG本身沒有問題。如果沒有得到DBhost名字,請用<SID>ADM用戶登入到DBserver上,檢查SAPXPG是否可以在DBserver的任何地方都能被找的到。在極少數的情況下,有可能是SAPXPG本身有問題,這時,你可以考慮替換一下SAPXPG。

3,檢查RFCclient(運行SAPXPG_DBDEST_<SAPDBHOST>RFC的SAPapplicationserver的Gateway):

如果SM59SAPXPG_DBDEST_<SAPDBHOST>RFC的測試錯誤是”ERROR:Nostorageallocationavailable”的話,那麼問題發生的原因在於APserver上的gateway的secinfo的設定。你可以參看SAPNotes1408081,調整secinfo。

SAPAPserver的kernel>=7.40,那麼,有可能是,DBhost不認識APserver的gateway服務(sapgwXX)。你可以SAPGUI登入到SAPApplicationServer,SE38->RSBDCOS0,執行下面的命令:

/usr/bin/ssh<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>-l<SID>ADMniping-v-H<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>-SsapgwXX

如果無法解析sapgwXX服務,請把gateway服務(例:sapgw003300/tcp)設定到DBhost的”/etc/services”里面。詳情,請參看SAPNote2052365-RFCdestinationSAPXPG_DBDEST_<DB-HOST>nolongerworks。

4,檢查network(域名解析等等)

在很多情況下,RFC失敗是因為hostname域名解析出現了問題。我們都知道,網路通信是雙向的,也就是說,我們需要確保,APserver到DBserver的通信沒有問題,並且,DBserver到APserver的通信也沒有問題。通常,您可以這樣測試:

SAPGUI登入到SAPApplicationServer,SE38->RSBDCOS0,執行下面的命令:

niping-v-H<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>

登入到<SAPXPG_DBDEST_<SAPDBHOST>里面設定的DBhost>OS層面來執行命令:

niping-v-H<RFCclientAPserverhost>

這2個命令都應該OK,否則,需要聯繫網路管理員,確保,APserver到DBserver的通信沒有問題,並且,DBserver到APserver的通信也沒有問題。

相關的SAPnote如下:

  • 980266-RFCdestinationSAPXPG_DBDEST_<DB-HOST>doesnotwork

  • 2052365-RFCdestinationSAPXPG_DBDEST_<DB-HOST>nolongerworks

  • 2132535-RFCDestinationfails#Nostorageallocationavailable#

  • 2137321-DB13jobsfailedduetoconnectedtowrongSAPXPG_DBDEST_<SAPDBHOST>orDBhos

SAP 實時產品支持模式

Expert Chat 服務來了!

SAP於最近正式推出了 Expert Chat 服務 (將鏈接復制至網頁瀏覽器訪問:https://support.sap.com/kb-incidents/chat.html)– 通過實時聊天功能,將 SAP 的客戶與技術支持專家緊密的連結在一起。詳情請參考【SAP 實時產品支持模式:Expert Chat 服務來了!


SAP「周常福利」送不停~

每周都有5名幸運會員

不定期還有特別豪華大獎哦~

趕快長按識別二維碼

搶福利吧~

如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通? 遊戲 第3張

如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通? 遊戲 第4張

還有

SAP官方培訓

SAP熱門市場活動

最新SAP技術文檔

你想要的乾貨都在這里

如何分析SAPXPG_DBDEST_<SAPDBHOST> RFC 不通? 遊戲 第5張

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!