SAP 的 Basic、架構、運維知識
SAP 的 Basic、架構、運維知識
2022年5月14日,XWD編輯 |
轉載部落格: 版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。 原文連結:https://blog.csdn.net/lostworld_gy/article/details/85252363 |
備註: |
Basis入門 - SAP S/4 Basis Learning
- 版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
- 原文連結:https://blog.csdn.net/lostworld_gy/article/details/85252363
本系列基於 SAP S/4 HANA version 1709 - On Premise
從今天開始進行SAP Basis 的系統學習,由於專案需求,重點關注 S/4 HANA Basis 需掌握的相關知識,
S/4 HANA 有2種部署方式:
一種是 S/4 HANA Cloud,在雲上部署, 相關伺服器和運維交給SAP,這種目前國內實施的較少,但應該是以後的趨勢,目前比較適合中小規模的企業使用,也會大量的減少BASIS的工作,甚至不需要Basis;
另一種更為廣泛使用的 S/4 HANA On Premise,即部署在自己購買伺服器上,或託管在雲伺服器上,Basis需要進行硬體、系統、架構等一系列規劃,並保障系統的安全性、高可用和災難恢復,對於使用者比較多的公司來說,總體的擁有成本要比 Cloud 小很多,且部署在公司內網,不受外網環境影響,使用者使用會更加快速穩定。
我主要關注 On Premise(本地機房伺服器部署) 方式,通過 SAP Help Portal ,可獲取完整的 SAP S/4 HANA On Premise 的 相關幫助
訪問地址:http://help.sap.com/s4hana_op_1709
在SAP Help Portal 的主頁,首先需檢視 Started Guide, 該文件是指南的指南,提供了各指南的連線:
- Moving to SAP S/4 HANA 如何升級到 S/4 HANA , 哪些版本支援遷移,如何進行遷移準備,遷移的基本注意事項,如何獲取遷移指南,如何全新部署,如何從老版本的S/4 HANA 升級到新版本的S/4 HANA,
2,SAP S/4 HANA System Landscape Information 介紹了SAP S/4 安裝的兩種方式:全新安裝 S/4 HANA 及 SAP Solution Manager, 或者 在 現有的 SAP Business Suite Landscape 中,將 SAP ERP 增強包(SAP ERP enhancement package product) 替換為 S/4 HANA
3,SAP S/4 HANA User Assistance Overview 介紹了可能用到的各種手冊,及獲取方法
我之前已完成了 SAP S/4 HANA 的全新安裝 ,因此不再關注 Installation Guide / Upgrade Guide/ Conversion Guide 這三個安裝/升級/遷移指南,對安裝感興趣的同學可以查閱這些文件,
下一章節,我將先從 運維指南(Operations Guide) 開始學習。
————————————————
2. 運維指南(Operations Guide) - SAP S/4 Basis Learning
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/85321814
如上章節(1.Basis入門)所說,我們可以從 SAP Help Portal 獲取到 運維指南(Operations Guide),這次開啟的是一個PDF(OPS_OP1709.pdf),乍一看總共也就60多頁,不幸的是這個只是運維指南的目錄。。。
基本介紹和SAP架構簡述
文件的第一個提示是:"請不要將本手冊作為日常運維手冊使用,應針對自己的系統,單獨編寫日常運維手冊",也就是說這個指南是可以當作運維手冊用的。
1 開始(Getting Started):介紹了手冊目的,手冊中包含了用於各種運維任務的工具指南及相應連線。
2 架構圖(SAP S/4 HANA Landscape):介紹了SAP S/4 HANA 的系統架構,以及兩種部署方式:全新部署(同時推薦部署 SAP Solution Manager ),或者如果已部署了 SAP Business Suite ,則可以將其中的 ERP元件替換為 SAP S/4 HANA。
BASIS需要掌握的基本技能
3 監控(Monitoring):使用CCMS監控告警(Alert Monitoring with CCMS)、跟蹤和檢視日誌檔案(Trace and Log Files)、監控程序(Process Monitors) 的文件連結。
4 管理服務(Management of SAP S/4 Hana):啟停SAP系統,配置SAP S/4 HANA, 管理輸出(Output Management)、備份和恢復(Backup and Recovery),負載均衡(Load Balancing)、資料存檔和老化(Data Archiving and Data Aging) 。
5 使用者管理(User Management):此處的使用者指的是系統使用者,包括SAP Netweaver 、HANA 資料庫的安全指南。
6 業務持續和高可用(Business Continuity and High Availability):提供瞭如何保障系統平穩執行的相關連結。
7 軟體後勤和變更管理(Software Logistics and Change Management):對SAP的全生命週期使用進行支援,主要包括如何管理傳輸請求、部署Support Package 和 Patch、部署Release和更新管理。
8 問題解決(Troubleshooting):遇到問題該如何解決(Troubleshooting)。
9 支援管理(Support Desk Management):如何從SAP獲取支援,包括獲取遠端支援(Remote Support)、向SAP傳送問題訊息(Problem Message Handover) 兩種場景。
各功能模組的特殊運維操作
從這塊開始,覺得這個文件的邏輯開始變得混亂,想把所有的特殊運維點都在文件中體現,且不再是給個連結,而是很詳細的描述,很多特殊點基本遇不到:
10 SAP S/4 HANA 企業管理(Enterprise Management):
財務(Finance):如何對財務資料進行存檔和老化、用於監控 結算管理的特殊工具
生產(Manufacturing):MRP執行報告(Report for Processing MRP Records)及清理MRP總需求(Clean Up Total Requirements)、生產計劃和細節安排(Production Planning and Detailed Scheduling)涉及的RFC等後臺操作
銷售(Sales):銷售合同管理監控工具 涉及的RFC等後臺操作、客戶退貨管理程式(Manage Customer Returns app)
採購和尋源(Sourcing and Procurement):供應商主資料的特殊監控(RFC\跟蹤ABAP程式)
供應鏈(Supply Chain):物料文件(Material Documents) 的資料老化操作,倉庫管理(Warehouse Management) 涉及的工具(包括定時任務、監控工具、跟蹤和日誌、資料增長和存檔監控、資料一致性管理等)、物料移動管理(Transportation Management)涉及的工具(跟蹤和日誌、效能優化、定時任務等)
研發和工程(R&D / Engineering):用於專案生命週期管理(PLM) 的特殊工具(工作量/介面監控(Workload \ Interface Monitors)、PLM的高可用(High Availability for PLM)、特殊的問題點(Troubleshooting))
SAP 業務線產品相關(Line of Business(LOB) Products)
11 SAP S/4 HANA 業務線產品(LOB Products,Line of Business Products)
資產管理(Assest Management):EHS(Environment, Health, and Safety)模組的相關監控、跟蹤、日誌管理、資料存檔、定時任務、移動資料(Transferring Data)工具、Troubleshooting
跨應用(Cross Applications):主資料治理(Master Data Governance)涉及的介面、變更分析、定期任務、負載均衡、對相關請求的病毒掃描等
財務(Finance):資料存檔和老化(Archiving and Data Aging)、財務關閉控制檯(Financial Closing cockpit)的跟蹤和日誌檔案
研發和工程(R&D / Engineering):企業投資和專案管理(Enterprise Portfolio and Project Management)的告警監控、問題和效能分析方法、定時任務管理(自動/手動)、資料一致性管理
12 SAP S/4 HANA 行業解決方案(LoB Products for specific Industries)
農業(Agriculture):農業合同管理(Agricultural Contract Management) 涉及的監控、傳輸和變更管理
汽車(Automotive):使用HANA進行車輛搜尋?(Vehicle Search Using SAP HANA)
SAP 相容包和後臺管理
13 SAP S/4 HANA 相容包( Compatibility Packs)
研發和工程(R&D / Engineering):流程工業的產品安全和管理(Product Safety and Stewardship for process Industries)使用的效能/負載/介面/存檔/資料一致性等分析工具,及相關的管理元件(Windows wordprocessor Integration(WWI))、定時任務、負載均衡、高可用、特殊的問題解決和支援指南
14 業務網路整合(Business Network Integration):監控cXML訊息、HCI網路服務監控(Web Service Monitor - for Direct Connectivity and Connectivity via HCI)、Ariba 整合引擎監控(Integration Engine: Monitoring (Only for Ariba Network Using Mediated Connectivity)) 、SAP應用介面框架(SAP Application Interface Framework, AIF),及相關的應用日誌和錯誤處理指南
15 SAP S/4 HANA ERP的採購和尋源整合(SAP S/4HANA Sourcing and Procurement Integration with SAP ERP)
SAP S/4 HANA Hub System 的監控和錯誤處理:處理啟動 SAP應用介面框架(SAP Application Interface Framework, AIF)、啟動SAP S/4 HANA Hub System 的Fiori提醒 時遇到的錯誤。
ERP 後端系統(ERP Back-end System) 的監控和錯誤處理:監控Web Services for Direct Connectivity、監控Integration Engine for Mediated Connectivity、處理啟用Forward Error Handling (FEH)、使用Postprocessing Desktop、配置郵件提醒 遇到的錯誤;檢查應用日誌
————————————————
3. 安全指南(Operations Guide) - SAP S/4 Basis Learning
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/85621837
在上一章節(2.運維指南),我們對SAP S/4 的運維進行了概覽,本章看下 安全指南(Security Guide)
從 SAP Help Portal 獲取到 安全指南(Security Guide),這次開啟的同樣是一個PDF(SEC_OP1709.pdf),同運維指南一樣,安全指南也由通用部分和特定模組組成。
開始
1 基本介紹(Introduction) 介紹了 目標讀者(技術顧問&安全顧問&系統管理員)、安全管理的必要性、關於此文件
2 前述(Before You Start) 介紹了適用範圍(SAP S/4 HANA、Fiori程式、SAP Gateway),安全白皮書、重要的SAPNote,及可以從 SAP Support Portal 獲取額外的安全相關的 SAP Hot News 或 SAP Notes。
3 系統加固的相關Note(System Hardening with SAP Security Notes) 提供了SAP系統加固相關的常用 SAP Notes。
4 SAP S/4 HANA 的架構(SAP S/4 HANA System Landscape Information) 介紹了SAP系統的架構,這個章節和 2.運維指南 相同,不再重複介紹
需掌握的基本技能
5 使用者和許可權管理(User Administration and Authentication) (我覺得新手可以直接 參考 User and Role Administration of Application Server ABAP,更簡單清晰)
概述 SAP S/4HANA 依賴於 SAP NetWeaver AS for ABAP,可參考 SAP NetWeaver AS for ABAP 安全指南;
使用者管理 使用者管理工具、使用者型別、系統內建的標準使用者,分為Fiori應用 和 非Fiori應用兩部分介紹
使用者同步 可參考 SAP NetWeaver 7.5 幫助 中的 安全指南 部分,獲取使用者同步的相關資訊
角色管理 請參考 SAP S/4HANA 1709 幫助中心 中的 如下章節:基於SAP NetWeaver AS ABAP 系統的角色管理(General Information on role maintenance in systems based on SAP NetWeaver Application Server ABAP)、基於SAP Fiori Launchpad的角色訪問管理(Role maintenance for access based on SAP Fiori launchpad)、自定義開發系統的許可權概述和角色管理(Authorization concepts and role maintenance for custom development)、SAP Fiori 應用的UI內容和許可權概述(UI content and authorization concept for SAP Fiori apps)
單點登入(SSO)整合相關 SAP S/4HANA 的SSO基於 SAP Netweaver AS for ABAP,非Fiori系統支援SNC、SAP Logon Tickets、客戶端證書(Client Certificates) 這三種SSO方法,及對應的幫助連結,對於Fiori系統,需參考 SAP S/4HANA UI Technology Guide.同樣可以從 SAP Help Portal 找到。
6 網路和通訊安全(Network and Communication Security)
通訊通道安全 通訊通道支援 HTTPS(使用TLS加密)、RFC(使用SNC加密)、SOAP(基於Web服務提供安全保護)、IDoc、REST 五種方式,鑑於早期的加密協議大多數都被曝出了漏洞,SAP強烈建議僅使用TLS或SNC協議加密資料。
網路和埠安全 請參考 SAP NetWeaver7.5 的安全指南 ( https://help.sap.com/nw75 -> Security Guide),如果SAP系統向外網釋出,請至少安裝一個防火牆,可以將系統分佈部署在不同的網段,並設定網段間的訪問許可權來提高安全性;具體涉及的埠,請參考 corresponding security guides for SAP NetWeaver 的AS ABAP Ports 部分。
通訊目標(Communication Destinations)安全 對於一些特定的應用,有自己特定的通訊目標,請參考相關應用的章節,單獨檢查和配置,此外,應遵循如下通用準則,避免安全風險:1) 使用使用者型別"system"或"communication"來和普通使用者予以區分;2) 僅授予最小許可權; 3) 提醒使用者設定足夠複雜的密碼且不要透露給任何人;4)僅對"system"或"communication"型別的使用者儲存登入資訊; 5) 如果可能,使用Trusted System 功能,代替使用者的登入資訊
7 ICF和會話安全(ICF and Session Security)
Internet Communication Framework(ICF) 服務 應使用ICF服務來減少web攻擊,可以在如下地址檢視ICF的詳細指南 http:// help.sap.com/s4hana_op_1709 -> SAP NetWeaver for SAP S/4HANA -> Security Guide -> RFC/ICF Security Guides
會話安全(Session Security Protection) SAP建議啟用安全會話管理,以增加 SAP Logon ticket和安全會話Cookie(Security session cookies)的安全性,建議使用SSL協議,保護安全相關的Cookie傳輸。
8 檔案訪問安全(File System Access Security)
使用邏輯檔案路徑來避免越權訪問(Using Logical Paths and File Names to Protect Access) 有些SAP S/4 HANA的資料儲存在檔案系統中,應避免他們在訪問這些檔案的同時有許可權訪問其它檔案路徑;應使用邏輯路徑來對映到物理路徑,這樣的話如果試圖訪問非邏輯路徑,系統會提示錯誤。
啟用邏輯檔案路徑確認功能(Activating the Validation of Logical Paths anf File Names) 為了下載的相容性,預設情況下這個確認功能是未啟用的,並提供了啟用確認和開啟相關審計日誌的方法
9 病毒掃描(Virus Scanning)
基本資訊(Basic Concepts) 請安裝 VSI 2.0-complicant virus scanner,在上傳、下載、通過Gateway傳輸檔案時,SAP S/4 HANA的程式碼可以呼叫該病毒掃描器進行掃描,並且可以自己定義掃描引數,具體請參考 https://help.sap.com/nw75 -> Application Help -> Function-Oriented View -> Security -> System Security -> Virus Scan Interface,以及 Note #786179 和 #1494278.
對上傳的檔案進行掃描(Virus Scanning in File Uploads) SAP允許上傳檔案,如業務單據的附件,各類模板檔案等,文件介紹了這些檔案的掃描相關注意事項
病毒掃描引數的推薦設定(General Recommendations for Virus Scan Profiles) 介紹了使用病毒掃描功能涉及的系統引數及推薦配置
對活動內容的進一步保護(Further Protection Against Active Content) 介紹了兩種方式:1.在上傳活動內容時,使用病毒掃描進行掃描; 2.使用 SAP WebDispatcher 和 ICM 修改HTTP-response Header 的方式,阻止活動內容和跨站指令碼攻擊。
10 附加的系統加固操作(Additional System Hardening Activities)
防止點選劫持攻擊(Click-Jacking Protection) 介紹瞭如何使用白名單來防範點選劫持攻擊,可以在 http://help.sap.com/s4hana_op_1709 的搜尋欄 搜尋 "Using a Whitelist for Clickjacking Framing Protection"獲取詳細資訊;此外,SAPGUI for HTML ,WebDynpro ,Non-SAPUI5-based 應用,SAP Fiori Launchpad已經使用有所不同的,更高級別的安全解決方案。
統一連線(Unified Connectivity, UCON) 介紹瞭如何使用UCON管理框架 保護RFC訪問,可以在 http://help.sap.com/s4hana_op_1709 的搜尋欄搜尋 "Unified Connectivity"獲取詳細資訊
可控安全檢查框架(Switchable Authorizations Check Framework, SACF) SACF提供了對特定指令碼的額外許可權檢查,可以檢視 Note #2008727 獲取更多資訊
11 資料保護(Data Protection) 介紹了為了符合隱私保護等法規要求,及符合不同國家的對某些特殊行業的相關要求,SAP為符合這些法規提供的特定功能,需注意的是,安全手冊中不會對特定行業的最佳安全實踐給出建議,也不會對如何符合法規要求給出建議,只是提供了一些技術工具。如:訪問控制(Access control),許可權(Authorizations),讀訪問日誌(Read access logging)、傳輸控制(Transmission control)/通訊安全(communication security)、輸入控制(Input control)/修改日誌(Change logging)、可用性控制(Availability Control),可以從 http://help.sap.com/s4hana_op_1709 -> Additional Information -> Product Assistance -> Cross Components -> Data Protection 獲取更多資訊
讀訪問日誌(Read Access Logging, RAL) 用於監視對隱私資料的讀取訪問。以及具體的配置方法,系統版本要求等。
刪除個人資料(Deletion of Personal Data) 個人隱私資料應在使用完或者過期後被立即限制訪問,只有額外授權的使用者才可以存取這些被限制的個人資料。更多資訊請參考:http:// help.sap.com/s4hana_op_1709 -> Product Assistance -> Cross Components -> Data Protection.
特殊應用場景下的安全事項
12 SAP S/4 HANA 跨應用設施 (SAP S/4HANA Cross Application Infrastructure) 對特殊的跨應用元件進行說明,如SAP ILM 的資料安全,支付卡(Payment Card) 的安全,不再闡述
13 SAP S/4 HANA 商業應用(SAP S/4HANA Business Applications) 對業務模組進行特殊的說明,如資產,貿易、財務、人力、製造、R&D和工程、銷售、伺服器、採購和尋源、跨業務應用、分析、企業應用、行業特殊元件的特殊點進行闡述,不再詳細說明
14 商業網路整合(Business Network Integration) 對和SAP進行整合的各種安全相關進行說明
直連(Direct Connectivity) 使用 cXML、Polling Agent 方式和SAP S/4 HANA 直接連線 相關的 證書授權(Ariba Network Only)、使用者名稱密碼 的安全相關事項
間接連線(Mediated Connectivity) 使用SAP PI 傳輸 cXML 訊息, 使用 Ariba Network Adapter 傳輸cXML訊息 相關的安全注意點
角色和許可權控制(Roles and Authorizations) (Ariba Network) Ariba Network 相關的角色和許可權控制要點
角色和許可權控制(Roles and Authorizations) (SAP Fieldglass) SAP Fieldglass 相關的角色和許可權控制要點
————————————————
4. SAP NetWeaver 7.5指南 - SAP S/4 Basis Learning
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/87449139
本系列基於 SAP S/4 HANA version 1709 - On Premise
SAP S/4 HANA On Premise 是基於 NetWeaver AS ABAP 的應用,因此在學習 S/4 HANA 之前,我們應學習 NetWeaver 7.5
SAP NetWeaver 7.5 的Help Portal 地址為:https://help.sap.com/viewer/product/SAP_NETWEAVER_750/7.5.13/en-US
同樣,我們應關注如下部分:
Master Guide :提供了 NetWeaver 的基本介紹,用途、規劃、部署方法的基本介紹,並提供了各文件的參考連結;
Technical Operations for SAP NetWeaver:但提供了NetWeaver 運維相關的文件入口
SAP NetWeaver Security Guide:提供了保障NetWeaver安全的相關介紹,如使用者和許可權管理、資料保護和隱私、網路和通訊安全等。
此區域的內容很龐雜,需要的可自行在官網檢視
————————————————
5,SAP S/4 運維基礎知識(最重要)
(Basic Knowledge) - SAP S/4 Basis Learning
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/87864854
本系列基於 SAP S/4 HANA version 1709 - On Premise
本文用於讀者快速瞭解SAP Basis的一些基本概念
前言
目錄
1,系統架構(Structure)
S/4 HANA架構-應用視角
S/4 HANA架構-伺服器視角
2,Profile引數(Profile Parameters)
基本概念
基本操作
3,集團管理(Client Management)
基本概念
Client 構成
基本操作
4,使用者會話(User Session) & 工作程序(Work Process)
使用者會話(User Sessions)
工作程序(Work Process),
5,跟蹤(Tracking) & 監控(Monitor)
跟蹤(Tracking)
效能分析(Performance Analysis)
日誌(System Logs) & Dump分析(Dump Analysis)
6,作業(Jobs)
基本概念
管理作業(Job Management)
技術作業(Technical Jobs)
7,假離線(Spool) & 列印(Print)
基本概念
相關操作
8,傳輸請求(Transport Change Request)
基本概念
管理傳輸(Transport Management)
9,生命週期管理(LifeCycle Management)
SAP的支援週期
補丁&升級部署
SAP支援(Support)
1,系統架構(Structure)
S/4 HANA架構-應用視角
SAP S/4 HANA 是SAP 商業套件(Business Suite) 的下一代產品,用來替代之前的 R/3 和 ECC,據說做了很多革新,但大多數功能用起來和ECC的差別不是特別明顯。
SAP HANA DataBase 是S/4 HANA 所使用的資料庫,類似於 Oracle DB 或 微軟的 SQL Server,HANA 是SAP自行研發的記憶體資料庫產品,設計初衷是為了支援商業智慧(BI)應用,優勢在於能實時分析大量的業務資料,而不需要去對資料進行傳統的建模、抽取、聚合等操作。由於使用了記憶體資料庫技術(所有資料均在記憶體中儲存並優化),及列儲存技術,使得HANA在做資料分析工作會比傳統資料庫快很多,SAP對HANA很有信心,並將其作為未來的主要資料庫使用,S/4只支援在HANA資料庫上執行。由於HANA的高效能,S/4之前很多中間表都被捨棄,從而大幅減少了資料表的數量、複雜度及可能造成的資料不一致。
SAP NetWeaver AS ABAP NetWeaver 對SAP而言,如同 .Net 框架對於微軟的意義一樣重大,是絕大多數商業套件(Business Suite) 的基礎架構。基於ABAP語言的 NetWeaver 被稱作 SAP NetWeaver Application Server ABAP( 簡稱 NetWeaver AS ABAP),目前最新版本為 7.5 。在此基礎上,SAP 構建了 S/4 Core 來實現基本的ERP業務需求;此外構建了S/4 其他的補充功能模組(如HR等),這些元件共同構成了新一代的商業套件 S/4 HANA 。
SAP Solution Manager 是集成了系統監控、支援、自主服務、實施管理等功能的獨立管理平臺,可以集成了SAP系統在各個階段各方面的資訊,如各種業務流程,系統警告、測試結果、介面描述等,從而幫助客戶實現SAP全生命週期管理,Solution Manager 是目前SAP主推的管理平臺,並免費向所有客戶開放使用(注:但目前大多數中國客戶都沒有部署)。
S/4 HANA架構-伺服器視角
Database Level 資料庫層
由一臺或者多臺通過 SAP認證的 HANA軟硬體一體機 組成,一體機由伺服器廠商和SAP合作,保證伺服器硬體,作業系統和HANA資料庫的完美配合,HANA資料庫可以在三種模式下執行:單節點模式,雙機主備模式(類似 Oracle DataGuard)、或叢集模式(類似 Oracle RAC)
Application Layer 應用層
應用伺服器(Application Server, 後文簡稱為AS) 一般有三種類型,每臺伺服器均需配置合理的主機名(Hostname):
1) ASCS (Application Server Centeral Services) 用於對其他伺服器節點進行管理和排程,一般也被成為訊息伺服器(Message Server);
2) AAS(Additional Application Server) 執行具體的業務的伺服器節點;
3) PAS(Primary Application Server) 能同時提供 ASCS 和 AAS 的功能,一般用於研測環境單機部署;
生產環境部署一般使用單臺或主備模式的 ASCS,排程多臺 AAS 來實現應用層的負載均衡和高可用。
Presentation Layer 展示層
展示層指使用者訪問的介面:使用客戶端(SAPGUI) 訪問、使用瀏覽器訪問(SAP WebGUI(很少有人用)、NWBC等)
部署多套S/4 HANA 系統
通常情況下,我們會部署多套 S/4 HANA 系統(System),用於開發、測試、質量保證、培訓、生產等用途;不同的SAP系統用系統ID(System ID, SID, 由3位數字或字母構成)進行區分;每個AS伺服器下可以部署多個例項,用例項ID(Instance ID,同樣由3位數字或字母構成)進行區分,一般我們僅給每臺伺服器部署一個例項;
為了滿足SAP開發配置、測試和 上線使用的需求,我們通常會設定以下系統 :
互動演示&培訓系統(Interactive Demonstration and Evaluation System, IDES) 該系統自帶一些演示業務資料,一般僅在專案上線初期時,供員工瞭解SAP的各項功能和基本操作,在上線和運維階段,也可以用於驗證一些新的功能或想法,而不用擔心影響現有的開發、測試和生產系統。
DEV--開發&配置&單元測試系統(Development&Configuration&Unit Test, DEV) 該系統用於開發人員和業務顧問按照專案需求,進行ABAP開發、配置調整和驗證等工作,通常不包括實際的業務資料,在該系統驗證通過後的程式碼\配置可以部署到 測試\質量保證系統中
QAS--整合測試/質量保證/培訓練習系統(Integration Test & Quality Assurance System, QAS) 該環境用於關鍵使用者/終端使用者 對DEV系統做的配置、調整進行驗證和練習,從而保證相關調整能滿足需求且不會引入新的問題,該系統可能包括部分實際業務資料以便更好的進行驗證;在通過評估和測試後,才可部署到 生產系統
PRD--生產系統(Production System, PRD) 該系統用於處理實際業務,其中所有的配置、資料和業務操作均應謹慎對待。
2,Profile引數(Profile Parameters)
基本概念
在SAP 應用伺服器(Application Server, 後文簡稱為AS) 啟動時,會讀取 Profile檔案,該檔案定義了連線資料庫的使用者名稱密碼、分配的記憶體大小和方式等系統執行所必須的各項引數,此外也包括了密碼策略、訪問地址等其他引數,根據具體的需求,我們需檢查和調整這些 Profile Parameters。
Profile Parameter 實際儲存在 AS 的檔案系統中,具體路徑由引數DIR_PROFILE決定(Linux下預設為/usr/sap/<SID>/SYS/profile/),多個 AS 之間應共享同一個Profile目錄(可以通過搭建NFS伺服器實現共享),在SAP啟動時,會讀取該目錄下的引數檔案;
Profile Parameter 一般分為兩種:
DEFAULT 對所有的AS 均有效,用於配置一些與 AS 無關的設定,如密碼策略等
<SID>_<Instance ID>_<Hostname> 僅對當前Instance和 AS 有效,常用於控制於AS效能有關的選項,如記憶體、最大會話數量等
基本操作
事務碼 RZ10 可檢視和修改 Profile Parameter,修改後需重啟 AS 才可生效
事務碼 RZ11 可檢視當前正處於生效狀態的 Profile Parameter 的值是什麼;有些 Profile Parameter 可以用 RZ11 直接修改,此時無需重啟 AS 即可立刻生效。
3,集團管理(Client Management)
基本概念
在部署的每一套 系統中,我們可以建立多個 集團(Client),Client 之間共享相同的執行環境、profile配置、ABAP程式碼和少量的跨集團配置(Cross-Client Configuration),絕大多數的配置,和所有的業務資料在 Client 間是獨立的,因此我們可以在每個S/4 系統下,建立多個 Client 已滿足不同的需求。
Client 編號由3位數字組成,每個系統下均會有一個叫做 000 SAP參考(SAP Reference) 的 預設Client,上線初期,使用者可以通過 Client複製(Client Copy) 功能,通過複製 000 Client 來建立新的Client;在運維階段,使用者可以從現有的Client複製出一個新的Client來滿足業務需求(注:這是SAP運維的日常工作之一)。
一種常見的Client劃分及部署路徑如下:
Client 構成
如圖所示:同一系統下的所有集團共享 倉庫物件(Repository objects)(如表結構、ABAP程式、事務、功能模組等) 和 跨Client配置(Cross-client Customizing);在此基礎之上,每個Client管理 Client特定的配置(Client-dependent Customizing)(如公司程式碼、工廠、倉庫等)、自己的使用者主資料(User Master Records)(如使用者、角色、許可權等)、業務資料(Application data)(如採購訂單、財務憑證、發票等)。
基本操作
我們可以使用一些事務碼對Client進行管理,這裡只進行列舉,不再詳細解釋:
事務碼 說明
SCC1
在Client間傳輸變更請求 (Copy by Transport Request)
SCC3
檢視和監控傳輸日誌 (Client Copy/Transport Log Analysis)
SCC4
管理Client (Client Management)
SCC5
刪除Client (Delete Client)
SCC7
從檔案匯入 Client (Client Import)
SCC8
匯出Client到檔案 (Client Export)
SCC9
跨系統的遠端Client 複製 (Remote Client Copy)
SCCL
當前系統內的Client複製 (Local Client Copy)
P.S. 在使用SAPGUI 登入系統時,會帶出預設的Client,可通過修改 Profile引數 login/system_client 來修改該預設值
4,使用者會話(User Session) & 工作程序(Work Process)
使用者會話(User Sessions)
使用者(User) 一般分為前端使用者和後端使用者,前端使用者一般使用SAPGUI訪問 S/4 HANA 系統,每開啟一個SAPGUI視窗(也被稱作一個對話Dialog),S/4 HANA 會為該 Dialog 建立 使用者會話(User Session);
除了開啟SAPGUI視窗會產生 User Session,一些後臺操作如 列印,執行後臺作業也會建立 User Session;
可以用 事務碼 AL08 檢視 所有 AS 的 User Sessions,用事務碼 SM04 檢視和管理當前 AS 的 User Sessions;
為了避免在ABAP程式執行時,其訪問的資料被其他ABAP程式修改,某個 Session 會將需獨佔的資源鎖定,產生 鎖(Lock),我們可以用事務碼 SM12 去檢視和管理這些鎖。
User Session 有時會觸發 後臺更新請求(Update Request),我們可以用事務碼 SM13 檢視正在執行或失敗的 Update Requests。
工作程序(Work Process)
Session會發起一系列的操作步驟(Step, SAPGUI觸發的操作步驟通常被稱為Dialog Step),每個 Step一般都會要求執行一段 ABAP程式,該請求會由排程器(Dispatcher) 分配給 Work Process;對Linux系統而言,Work Process對應的是實際的作業系統程序。
Work Process 分為以下幾種型別
型別 Type 用途
對話(Dialog, DIA) 執行UI請求,RFC通訊請求、內部請求(Internal requests)
更新(Update, UPD) 執行需及時完成的(time-critical) 更新請求
更新2(Update2,UPD2) 執行可延後的(non-time-critical, deferred)的更新請求
佇列(Enqueue, ENQ) 執行鎖定的請求(Lock Requests)
批處理(Batch, BTC) 執行批處理作業(Batch Jobs)
假離線(Spool, SPO) 執行列印請求(Print Requests)
我們可以使用 事務碼 SM66 檢視當前所有 AS的 WorkProcess狀態,使用SM50 檢視當前 AS 的 Work Process執行狀態
詳情請看:SAP記憶體管理 https://blog.csdn.net/lostworld_gy/article/details/87867848
5,跟蹤(Tracking) & 監控(Monitor)
跟蹤(Tracking)
如果遇到了問題但有不知道如何解決,我們可以使用事務碼 ST01 進行跟蹤,檢視實際系統做了哪些操作,需注意的是,跟蹤會嚴重影響系統性能,併產生大量的日誌,因此在設定跟蹤條件時,請嚴格限制要跟蹤的使用者名稱等引數,並在跟蹤完畢後及時關閉跟蹤。(SAP的很多操作過於複雜,因此跟蹤日誌很難讀懂,一般常用於許可權問題的跟蹤)。
效能分析(Performance Analysis)
事務碼 ST02 可檢視當前系統的效能彙總,並依據此處的結果進行調優,可以參考文件: https://ga.support.sap.com/dtp/viewer/#/tree/901/actions/9943 進行分析和優化,詳細的原理請參考 SAP記憶體管理(一) (https://blog.csdn.net/lostworld_gy/article/details/87867848)
事務碼 ST03/ST03N 用於檢視整個系統的當前和歷史的負載和每個任務的資源消耗情況
事務碼 ST04/DBACOCKPIT 用於檢視資料庫的整體情況
事務碼 ST05 可以對效能問題進行跟蹤
事務碼 ST06 記錄了AS伺服器當前和歷史的各項資源的使用情況,用於對AS伺服器 進行效能分析。
日誌(System Logs) & Dump分析(Dump Analysis)
ABAP程式 執行時,會記錄一些日誌(System Logs),這些日誌包括了 提示(Message),警告(Alert) 或 錯誤(Error),可以使用事務碼 SM21 檢視近期的 System Logs;
如果出現了嚴重的錯誤,會導致程式終止執行,此時使用者會看到一個報錯介面,被稱作 ABAP Runtime Errors,俗稱Dump,可以使用事務碼 ST22 檢視近期發生的 Dump 記錄;
Dump通常由於ABAP程式考慮不周,使用者觸發BUG造成,對於系統標準ABAP程式觸發的Dump,可以在SAP支援網站查詢相關Note或提交給SAP來解決;對於二次開發的ABAP程式需聯絡相關開發人員;需注意的是,有些Dump即使SAP也無法解決,只能提醒使用者操作時予以規避。
6,作業(Jobs)
基本概念
很多時候,我們希望系統能定時執行某些任務,如每週五晚上檢查資料庫是否一致性,每天清理一個月以前的審計日誌,每隔3小時從HR系統獲取最新的員工名單等,作業(Job) 是為了滿足以上需求而設計的,通過Job,我們可以讓SAP系統在滿足某個條件時(如在某個特定的時間,或某個作業成功/失敗後),在後臺用指定的使用者執行一系列ABAP程式。
一個Job由以下部分組成:
1) 開始條件(Start condition) 定義了作業執行條件,如特定的時間執行、每隔一段時間執行,在某個Job或事件發生後執行等;
2) 步驟(Steps) 定義了具體需要執行哪些ABAP程式、作業系統命令或外部程式,以及執行這些任務的變數、語言、使用者、及在哪個 AS 伺服器執行;
3) 作業日誌(Job Logs) 顯示了作業的執行明細,成功還是失敗等;
4) 列印結果池(Spool List & Spool) 有些作業執行完成後會輸出一些結果,這些結果可以在 Spool List 中檢視。
一個Job通常會處於以下幾種狀態:
1) 計劃(Scheduled) 表示Job已配置完畢,但沒有被髮布,因此滿足條件時不會被執行;
2) 釋出(Released) 此時Job狀態正常,在滿足條件時會自動執行;
3) 準備完畢(Ready) 此時Job已準備就緒,但由於某些緣故還未開始執行(如等待伺服器資源等);
4) 執行中(Active) 此時作業正在執行中;
5) 成功(Finished) 或 失敗(Canceled) 此時作業已執行完畢,可以檢視 Job Log 或 Spool List檢視日誌和輸出;
管理作業(Job Management)
使用事務碼 SM36 可以新增一個Job;
使用事務碼 SM37 可以管理當前的Job。
技術作業(Technical Jobs)
SAP會執行一些標準作業,用於執行日誌清理、系統檢查等日常工作,在S/4 HANA 中,這些作業是系統自動分配的,可以在事務碼 SM36 的按鈕"Job Repository"中檢視(在 S/4 HANA 1809 版本中,這個按鈕的名字已改為"Technical Job")
7,假離線(Spool) & 列印(Print)
基本概念
假離線(Spool) 是一個古老的計算機概念,全稱為 外部裝置聯機並行操作(Simultaneous Peripheral Operation On-Line),是一種高速計算機裝置(如CPU、記憶體) 和低速計算機裝置(如印表機) 的通訊技術,假離線請求(Spool Request) 發給低速裝置後,CPU\記憶體不再關注該作業,因此看起來如同離線一樣,但實際上作業系統仍在對該請求進行管理,因此被稱為"假離線真聯機"(詳見 百度百科-SPOOLing(https://baike.baidu.com/item/%E5%81%87%E8%84%B1%E6%9C%BA)
對SAP而言,Spool 通常指的就是 列印(Print), SAP支援多種列印方式,如在本地印表機列印(最常見的方式),我們也可以直接在AS上安裝網路印表機,然後使用者直接呼叫該印表機列印(不太推薦這種模式,大的公司使用者一旦選錯印表機,北京的同事可能從上海的印表機打印出檔案)
相關操作
使用事務碼 SP01 可以檢視和管理所有的 Spool Request 和 Output Request
使用事務碼 SPAD 可以管理當前的輸出裝置(Output Devices),配置列印頁面設定等引數
8,傳輸請求(Transport Change Request)
基本概念
在S/4 HANA 的上線和實施階段,我們需要把 DEV系統 編寫或修改的ABAP程式,顧問做的業務配置(Customizing),部署到QAS系統中,並在QAS測試通過後,部署到PRD系統中,為此,S/4 HANA提供了一個自動化部署工具,這個工具通常被稱為 傳輸管理系統(Transport Management System)
在SAP中,絕大多數的配置調整和所有的ABAP程式新增/修改,均要求有對應的變更請求(Change Request, 後文稱為CR);我們可以將多個調整放在同一個 CR 中,在完成配置或程式碼開發/修改 後,我們可以釋出 (Release) 這個CR,CR釋出後將處於 Released 狀態,不再允許修改。
CR 通常分為兩種型別:修改 跨Client的配置 和 ABAP程式,通常會產生工作臺請求 (WorkBench Request);而修改Client特定配置的,通常會產生定製請求(Customizing Request),關於這兩種修改的區別,可參閱本文的 集團管理 章節;
在將CR從一個系統傳輸到另一個系統(如從DEV系統傳輸到 QAS系統) 之前,我們需要配置好的傳輸路徑(Transport Router),這個工作一般是一次性的,一個典型的傳輸路徑如下:
在 源系統(Source System) 建立CR時,我們需要指定對應的目標系統(Target System),例如我們在DEV系統下 建立一個CR,需指定 Target System 為 QAS,如果沒有指定 Target System,則該CR 會被認為是 本地請求(Local Request),Local Request 將不能傳輸到其他系統中;有時我們做的一些修改不想傳輸到其他系統,會手工將其設定為Local Request;部署一些SAP補丁時,SAP也會強制要求其為 Local Request(這種情況下,我們就要在各系統分別部署該補丁);
在實際工作中,CR傳輸到PRD系統前,應在QAS系統經過充分的測試和驗證,避免將未知問題帶入生產環境。
管理傳輸(Transport Management)
在建立 CR 的系統執行事務碼 SE01, 可以管理和 Release 自己建立的CR,執行事務碼 SE09 可以管理和Release 所有 CR;
在目標系統執行事務碼 STMS,選擇 Import Overview(F5),可以檢視來源系統 處於 Released 狀態 的CR,並將其傳輸到目標系統中(例如我們在PRD環境執行STMS,可以從QAS環境獲取CR)。
9,生命週期管理(LifeCycle Management)
SAP的支援週期
對於每一個 SAP版本 (如 SAP S/4 HANA 1709),SAP提供 5年的支援,及2年的擴充套件支援(需額外收費),一般當這個 版本支援到期後,SAP將不再提供技術支援,並建議使用者儘快升級到新的版本
補丁&升級部署
在系統執行過程中,SAP會提供不同級別的補丁包或升級包,具體如下:
10,SAP支援(Support)
在購買SAP產品時,SAP會給我們提供一個支援賬號,使用該賬號登入 https://launchpad.support.sap.com/ 可以去查詢SAP知識庫、獲取安裝包&補丁包、管理License、事件(Incidents)等工作。
在日常運維中,我們主要使用Launchpad的三個功能以尋求SAP支援:
1) 知識庫(Knowledge Base),在頂部的搜尋欄輸入問題的關鍵詞,可以搜尋SAP的知識庫,檢視該問題是否有解決方案,也可直接輸入Note編號檢視Note詳情;
2) 事件(Incident)管理 如果搜尋到的Knowledge無法解決問題,可以使用 Submit an Incident 提交Incident,SAP會協助我們處理該問題,事件可以從 Launchpad 主頁中進行管理,如果問題需快速解決,可以使用 Expert Chat 催單;
3) 遠端連線(Remote Connections) 在解決Incident 的過程中,SAP有時要遠端連線到我們的SAP系統中進行問題檢視和資料修復,此時我們需要和其建立 Remote Connections,建立Remote Connections 的前提是安裝配置 SAPRouter,開通外網訪問並在 Launchpad中維護登入資訊,只有完成這些作業後,SAP才能登入我們的系統,具體的實施指南請參考連結:https://support.sap.com/en/tools/connectivity-tools/remote-support.html。
————————————————
6. SAP記憶體管理(一)(Memory Management) - SAP S/4 Basis Learning
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/87867848
本系列基於 SAP S/4 HANA version 1709 - On Premise
本文基於 官方幫助文件 SAP Memory Management (BC-CST-MM) (https://help.sap.com/viewer/f146e75588924fa4987b6c8f1a7a8c7e/7.5.13/en-US/49325d4ee93934ffe10000000a421937.html)
目錄
本文目的(Use)
一、SAP 記憶體管理系統 的相關功能 (Functions of the SAP Memory Management System)
1.1 基本介紹
1.2 記憶體管理的基本概念
1.3 SAP的記憶體的型別
1.4 使用者上下文(User Context)
1.5 工作程序(Work Process)
1.6 工作程序的虛擬記憶體空間(Virtual Address Space of a Work Process)
1.7 為作業系統釋放SAP記憶體 (Release of SAP Memory for the Operating System)
介紹(Use & Integration)
控制功能點(Feature)
二、特定作業系統下的記憶體管理(Platform-Specific Description of Memory Management)
本文目的(Use)
介紹了SAP記憶體管理系統(Memory Management System,MMS) 並解釋了相關profile引數(profile parameters),及適合使用者系統的最佳設定;
介紹了記憶體管理的基本功能,最佳的配置取決於使用的作業系統、硬體和網路資源、及系統的主要用途;
介紹了硬體和作業系統的需求,如何對記憶體進行監控,如何定位和解決相關問題。
一、SAP 記憶體管理系統 的相關功能 (Functions of the SAP Memory Management System)
1.1 基本介紹
一個ABAP程式通常執行在一個工作程序(Work Process)中(事務碼 SM66或SM50 可檢視 Work Process 的狀態),Work Process 的執行需要記憶體,由作業系統分配記憶體,分配多少記憶體取決於 Work Process 的型別,及作業系統特點(在Linux系統中,以Linux程序體現,用 ps -ef|grep sap 檢視),
ABAP程式 在 Work Process 中執行時,會直接訪問 使用者上下文(User context) 作為 ABAP程式 的上下文環境,User Context 的大小 會根據需要自動增加,其中的資料包括了 Extended Memory 中的內部表(internal tables),因此你可以訪問User Context 中的所有資料,但 extract 和 export to memory 型別的資料仍保留在paging中(注:這段內容有些超前,可以在看完本文後回頭在看)
在 Work Process 執行每個 ABAP程式時,需要訪問兩種資料:使用者相關資料(User-specific Data) 和 使用者無關資料(Non-user-specific data)
1) User-specific Data 包括了 ABAP變數、內部表(Internal tables) 等資訊,記憶體排程器(Dispatcher) 會在每個會話步驟(Dialog step) 前 將 使用者特定的資料(User-specific Data) 顯示給 Work Process 供其操作,這個操作被稱為 Roll-In; 在 Dialog step 結束後,會從Work Process中隱藏這些資料,這個操作被稱為 Roll-out。
2) Non-user-specific Data 包括了 程式程式碼(Program code)、棧(Stack)、靜態資料(Static data)、SAP 快取(SAP buffers)、ABAP程式(ABAP programs)、表快取(Table buffers) 等資料,這些資料Work Process可以一直訪問 ,無需每次去Roll-In 和 Roll-Out
1.2 記憶體管理的基本概念
(注:此處介紹的更多的時作業系統層的記憶體管理機制,感興趣的可以去看《深入理解Linux虛擬記憶體管理》)
虛擬記憶體(Virtual Memory) 所有支援SAP的作業系統均支援虛擬記憶體,一個系統程序(Process) 能使用分配給他的地址空間(Address Space),這些 Address Space 在作業系統程序間,是相互獨立的
定址空間(Address Space) 在64位作業系統中,記憶體地址範圍位 0 ~ 2^64-1
記憶體分配(Memory Allocation) 記憶體分配分兩步執行:1.在 Virtual Memory 中分配一個段(Segment); 2.將 Virtual Memory Segment 對映到實體記憶體 Segment 中。
Virtual Memory 又分為兩類:
本地程序記憶體(Local Process Memory) 此型別的記憶體僅供當前Process使用,Process直接呼叫API即可申請,無需關心分配的細節。
共享記憶體(Shared Memory) 不同的 Process 可以訪問同一記憶體,這段記憶體被稱為 Shared Memory,不同於Local Process Memory,Shared Memory 記憶體的分配對 Process 而言是不透明的,且不同的作業系統會使用不同的處理方法、一般會建立一個物件用於管理這些用於共享的實體記憶體,Process從這個物件中對映全部或部分的記憶體地址空間(Adress Space)(注: SAP的擴充套件記憶體(Extend Memory) 就是一種 Shared Memory,下面有說明)。
1.3 SAP的記憶體的型別
記憶體管理系統會分配記憶體給 Work Process,主要分為兩類:擴充套件記憶體(Extended memory) 和 私有記憶體(Private memory, 又稱 堆記憶體(heap memory)),並通過相關的Profile引數控制每個記憶體的大小:
擴充套件記憶體(Extend memory) 大部分的 User Context 會儲存在 Extended Memory 中,對於的記憶體頁(Page)由SAP系統直接管理,而不是由作業系統管理。每個User context 所有的 內表(internal tables) 和 ABAP變數 均會完整的儲存在 Extended memory 中,從而可以被直接定址訪問,由於 Extended Memory 是一種 Shared Memory,因此Work Process 訪問 internal tables 和 lists 不再需要進行復制和 input/output 操作,從而保證了較快的訪問速度和較低的CPU佔用。
私有記憶體/堆記憶體(Private Memory/Heap Memory) 如果 Extended Memory 被完全使用,或者超過了Work Process的使用限制,Work Process 將使用 Private Memory,由於這些記憶體是 在系統程序(process)間是相互獨立的,因此通常也被稱作 heap memory,此時user context不能被其他的 work process 處理,此時又分為兩種記憶體模式:PRIV memory 和 PROC memory
需注意的是,只有 Dialog型別的 Work Process才會在 Extend Memory 耗盡後,分配Private Memory, 其他型別(Background, Update, Spool) 分配的直接就是 Private Memory,這是因為這些型別的 Work Process 不涉及上下文切換(context switch),因此給他們分配 extended memory 並沒有什麼額外的好處。
此外,需注意 SAP記憶體管理系統需要同時使用 swap sapce 和 main memory,由於 全部的內表和列表(Full-sized internal table and lists) 均會儲存在 virtual address space中, 因此swap space的需求會不斷增加,而為了避免swap space請求導致過多的作業系統分頁(paging)操作,main memory 的需求也會不斷增加。(注:內容超前,請閱讀完全文後重新閱讀此段)。
PRIV memory 如果給某個Work Process 分配了 Private memory ,該 Work Process 將執行在 PRIV 模式,此時只能處理當前的 User context 直到請求結束,在此期間,其他使用者將不能使用該Work Process;如private memory被耗盡(取決於profile: abap/heaplimit 的限制),那麼當前的user context將會被關閉,此Work process 會被自動重啟避免被鎖死,重啟後的 Work Process 可再次供其他使用者使用。
如果處於 PRIV模式的 work process 過多,則會導致系統性能降低,profile引數 rdisp/wppriv_max_no 用於定義最大允許多少Work Process 進入 PRIV 模式 ,SAP預設值為 Work Process 總數 減 5 ,且最少為1個;此外通過profile引數 rdisp/max_priv_time(預設為600秒) 控制Work Process 可處在 PRIV模式的最長時間,超過這個時間將會被重啟,如需修改這些引數來解決效能問題,修改前請務必諮詢SAP的意見。
PROC memory PROC Memory 用於儲存未繫結到特定 User Context 的資料。 與 PRIV Memory 不同,分配 PROC Memory 不會導致 程序(Process) 被 特定的 User Context 獨佔。
(注:簡單來說,當Extended Memory 不足時,SAP會分配 Heap Memory,對系統性能影響較大, 在用事務碼 ST02 檢視效能時,我們應關注 Heap Memory 一行,此處不應該有長時間的記憶體佔用。)
1.4 使用者上下文(User Context)
當SAP使用者執行一個事務碼時,實際上是運行了一個ABAP程式,Work Process會處理這個請求,處理時需獲取對應的User Context;每個SAP使用者最多允許建立16個SAP GUI視窗,及對應數量的ABAP會話(ABAP Session)。
每個使用者都有自己的 User context,包括了 該使用者的使用者資訊、授權資訊、ABAP會話(術語叫做:emode) 對應的上下文,每個ABAP會話通常又由多個內部會話(internal sessions, 術語叫做 imode)組成。
User Context 儲存在 Extend Memory 中,這樣可以實現快速的上下文切換 (注:我的理解是,當將使用者會話分配給某個Work Process執行時,這個Work Process可以快速的從Extend Memory 獲取 User Context 的訪問地址,而 PRIV Mode下,需要拷貝User Context到 Work Process 的Private Memory中,因此效能很差)
具體結構如下:
1.5 工作程序(Work Process)
一個SAP應用伺服器(SAP Application Server, AS) 可以從處理從不同型別的客戶端(如SAPGUI、後臺任務,介面等)發起的請求,通常使用排程臺(Dispatcher)來獲取請求並分配給一個Work Process 去處理;
Work Process 主要有如下型別(可以在SM50/SM66的"型別(Type)"列檢視) :
型別 用途
對話(Dialog)
執行一個 Dialog程式(ABAP)
Executes dialog programs(ABAP)
更新(Update)
處理非同步資料庫請求(由 Dialog Work Process 的 COMMIT WORK 聲明確認)
Asynchronous database changes (is controlled by a COMMIT WORK statement in a dialog work process)
後臺(Background)
執行定時或其他事件觸發的後臺作業
Executes time-dependent or event-driven background jobs
假離線(Spool)
為列印輸出,處理相關請求
Formatting spool request for printing
Dispatcher 是 Application Server 的核心,當Dispatcher 啟動後,會啟動Work Process,可以通過 RZ10 檢視當前例項的Profile 的"Basic maintenance",去檢視和修改 每種型別Work Process的數量。
一個 Work Process 通常由如下部分組成:螢幕處理器(Screen Processor)、ABAP直譯器(ABAP Interpreter)、資料庫介面(Database Interface)、任務處理程式(Task Handler that calls these programs)
1.6 工作程序的虛擬記憶體空間(Virtual Address Space of a Work Process)
(注:此處主要是解釋 Linux的記憶體管理機制,可以參考這篇文章:Linux記憶體管理機制(最透徹的一篇)(https://blog.csdn.net/qq_19525389/article/details/81430701)
對於 64位的作業系統,Virtual Address Space 可使用的地址範圍為 0 到 2^64-1 (有些資料說是到 2^48-1,高16位是預留做符號擴充套件,不過對目前的硬體水平來說是足夠使用的)
Virtual Address Space 一般是由 文字段(Text segment)、資料段(Data segment)、動態擴充套件的 堆(heap)、動態擴充套件的 棧(Stack)組成,隨著程式的執行,Heap 從底向上佔用記憶體,Stack 自頂向下佔用記憶體。
SAP對 Work Process 做了一些特殊的記憶體管理:每個 Work Process 會預留兩個區域:1) 在 Heap 和 Data Segment 之間預留了一段用於 Private Memory,大小可以通過引數控制;2) 在 Heap 和 Stack 之間預留了很大一塊地址空間,用於對映Extended memory,具體如下圖:
1.7 為作業系統釋放SAP記憶體 (Release of SAP Memory for the Operating System)
介紹(Use & Integration)
當分配給SAP元件(components)的 Extend Memory 空間被 釋放(Release) 時,作業系統仍認為其處於佔用狀態,作業系統處理已釋放的 Extended Memory 空間 和 處理 被 SAP components 佔用的 Extended Memory 空間的方法完全一致(注:我的理解是,作業系統沒法區分出來 Extend Memory 中的哪些記憶體被釋放,因此也不會分別對待)。如果實體記憶體耗盡,作業系統會將這些 記憶體分頁(Memory Page) 寫入 分頁檔案(Paging File) 中(這個檔案位於 linux儲存的 swap分割槽),如果這些 Memory page 被再次使用,則作業系統會在使用前將其從 paging file 中取回 ,這類操作通常被稱為 分頁(Paging) (具體的原理和影響可以參考 Linux Swap交換分割槽介紹總結 - 瀟湘隱 https://www.cnblogs.com/kerrycode/p/5246383.html)
如果記憶體即將耗盡,以上的釋放過程會造成明顯的不利影響:作業系統並不知道要釋放的 Memory Page 是不是還在使用中,但此時不得不將一些 Memory Page 寫入 Paging File 中,從而釋放出一些物理頁(Physical Pages) 用於滿足新的需求;如果這些被寫入 Paging File 的 Memory Page 被再次使用,作業系統需要為其準備空的物理空間,並將這些Memory Page 從 Paging File 中取回(注:這種情況會造成大量不必要的資源消耗)。
以上過程的前提是 Profile 引數 "ES/TABLE" 設定為 "STD_UNIX",如果設定為了 "SHM_SEGS"則以上的過程將不會發生,在這種情況下,已經為作業系統釋放了記憶體(注:RZ11中對此的解釋為 該引數僅對AIX系統有用,其他系統請勿更改,估計是AIX特有的記憶體管理機制,不再研究)
控制功能點(Feature)
我們可以依據Extended Memory 使用的頻繁程度,決定作業系統可釋放的記憶體總量;從而儘可能的減少因為Extended Memory佔滿導致的問題;
我們可以給 Extended Memory 設定上限,超過這個上限的記憶體會被作業系統釋放;但在某些特殊的時間段,即使沒超過上限,作業系統也會釋放 Extended Memory,涉及引數如下:
1) es/disclaim_threshold_MB (預設: 0,未啟用) 當Extended Memory 超過這個限制時,會為作業系統釋放;
2) es/disclaim_coasting_time_alloc (預設: 0, 未啟用, 單位:秒) 當 Extended Memory 超過 引數 es/disclaim_threshold_MB 的限制時,將 EM Block 寫入 swap space 的最大時間, 然後這些block 將被釋放給作業系統;
3) es/disclaim_coasting_time_free (預設: 0, 未啟用, 單位:秒) 當 Extended Memory 超過 引數 es/disclaim_threshold_MB 的限制時,必須等待一段時間後,才開始釋放 EM Block;
當 Extended Memory 塊(EM Blocks) 被釋放時,可以將這個EM Block上方的部分記憶體也同時釋放,具體的大小可以通過引數控制;對於記憶體需求而言,他結合了小 EM Blocks(由 em/blocksize_KB 引數定義) 的優點,並且具備大的EM Blocks 的效能,引數如下:
1) es/blockdisclaimsize_KB (預設: 0, 未啟用) 定義了 當 EM Block 被釋放時,其上方指定大小的部分也會同時被釋放;
此外,需注意引數:es/freelist_compactor (預設: 1) 這個引數必須不為0,否則上面所描述的記憶體釋放機制不會完全生效。
釋放記憶體的預設過程和之前描述的過程一致,這是說,不會為作業系統釋放任何記憶體(注:這段完全沒看懂。。原文:The default procedure when memory is released is the same as the procedure described earlier, that is, no memory is released for the operating system.)。
二、特定作業系統下的記憶體管理(Platform-Specific Description of Memory Management)
此處介紹了 UNIX、Windows 及 IBM i系列 相關的記憶體管理特點,由於我們用的是linux,因此跳過此章節
接下來的章節,我們瞭解如下章節:
三、記憶體管理的相關Profile引數(Profile Parameters of Memory Management)
四、記憶體監控(Monitoring the Memory Management System)
五、定位和解決問題(Identifying and Correcting Problems)
7,修改SAPGUI的預設檔案儲存/下載路徑 - SAP S/4 Basis Tips
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/86667289
本文參考自Note https://launchpad.support.sap.com/#/notes/2450698 ,
通過設定如下兩個登錄檔項,用來修改SAPGUI的預設檔案下載路徑:
The default path can be changed by setting below registry.
[HKEY_LOCAL_MACHINE\Software\SAP\SAP Shared] on 32bit operating systems
[HKEY_LOCAL_MACHINE\Software\Wow6432Node\SAP\SAP Shared] on 64bit operating systems
Key: SapWorkDir
Type: Expandable String Value
Value: The path you want to change
Please also check note 1442303 for more detail information.
Section:Files downloaded by the user
各位可以在 使用 Installation Server 生成SAPGUI安裝包時,將這些登錄檔配置好
也可以使用如下的批處理,在SAPGUI安裝完成後,將預設路徑修改為桌面
複製儲存到文字檔案中,並將檔案字尾由 txt 改為bat即可使用
@ECHO OFF setlocal EnableDelayedExpansion color 3e
:: 以管理員身份執行 PUSHD %~DP0 & cd /d "%~dp0" %1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof :runas
echo 修改SAPGUI的預設下載位置(Note #2450698) echo by Yuan Gao at 2019-01-27
for /f "skip=2 tokens=3" %%i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop') do ( set DesktopPath=%%i )
::<<<修改此處的地址,可自定義下載位置,例如改為 set TargetPath="E:\SAP檔案">>> set TargetPath=%DesktopPath%
echo. echo. echo 是否要將預設下載路徑設定為 %TargetPath%? echo (繼續操作請按任意鍵,取消操作請直接關閉此視窗) pause > nul
::檢查系統為32位還是64位,並根據檢查結果設定登錄檔路徑 if "%PROCESSOR_ARCHITECTURE%"=="x86" SET RegPath="HKEY_LOCAL_MACHINE\Software\SAP\SAP Shared" if "%PROCESSOR_ARCHITECTURE%"=="AMD64" SET RegPath="HKEY_LOCAL_MACHINE\Software\Wow6432Node\SAP\SAP Shared"
@REG QUERY %RegPath% >nul 2>nul if not %errorlevel% leq 0 ( echo. echo SAPGUI 可能未安裝. goto batend ) else ( @REG DELETE %RegPath% /v SapWorkDir /f >nul 2>nul REG ADD %RegPath% /v SapWorkDir /t REG_EXPAND_SZ /d %TargetPath% echo 處理完成. goto batend )
:batend pause & exit
. echo 當前作業系統為 64位系統 @REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\SAP\SAP Shared" >nul 2>nul if not %errorlevel% leq 0 ( echo SAPGUI 可能未安裝. goto batend ) else ( @REG DELETE "HKEY_LOCAL_MACHINE\Software\Wow6432Node\SAP\SAP Shared" /v SapWorkDir /f >nul 2>nul REG ADD "HKEY_LOCAL_MACHINE\Software\Wow6432Node\SAP\SAP Shared" /v SapWorkDir /t REG_EXPAND_SZ /d %TargetPath% echo 處理完成. goto batend ) goto batend
:batend pause & exit |
自動以管理員身份執行批處理(bat)檔案 - Windows Tips
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/85272725
在日常運維工作中,為方便對windows使用者進行系統安裝或配置等,使用Windows自帶的批處理(bat檔案)是一種最為簡單快速的方法。
但是,批處理指令碼不會預設已管理員身份執行,一般情況下,我會將指令碼命名為"XXXXXX(請右鍵點選,用管理員身份執行!).bat",但總有些使用者會忽略這條提示,直接執行,此時由於許可權不足,導致指令碼執行失敗。
我們可以使用一種變通的方法,讓bat啟動時,首先呼叫vbs指令碼,通過vbs指令碼,以管理員身份呼叫該bat的 runas 部分
我們的指令碼可以寫在runas 下,這樣就點選該bat指令碼,就可以已管理員身份運行了
示例程式碼如下
@ECHO OFF setlocal EnableDelayedExpansion color 3e title 新增服務配置
PUSHD %~DP0 & cd /d "%~dp0" %1 %2 mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof :runas
::填寫自己的指令碼
echo 執行完畢,任意鍵退出
pause >nul exit |
————————————————
8,使用者分權管理 - SAP S/4 Basis Tips
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/86512792
本文在 SAP S/4 HANA 1709 下測試通過
概述
在SAP的日常運維工作中,使用者管理(賬號建立\解鎖\重置密碼\刪除) 和 許可權管理(授權\收權) 往往佔據了很大一塊工作量,且Basis團隊往往並不清楚能否進行這些使用者和許可權操作,需要進行大量的郵件溝通工作或複雜的OA審批流程才能予以確認;為此,Basis團隊可考慮將這些工作移交給各模組或分子公司的關鍵使用者或行政人員,從而減少使用者溝通成本,避免basis團隊不合理的授權,且能大幅減少basis團隊不必要的工作量,將更多精力用於系統管理上。
本文僅介紹進行分權管理的技術配置方法,至於如何把這些工作成功的交給各模組/公司,由於各公司的文化氛圍和甩鍋技巧的差距很大,請根據各自公司的實際情況靈活處理,建議在上線前將工作職責分配清楚。
本文的方法為SAP Help Portal 推薦方法,具體參考:SAP Help Portal: User and Role Administration of Application Server ABAP -> ABAP Authorization Concept -> Organizing Authorization Administration) (https://help.sap.com/viewer/c6e6d078ab99452db94ed7b3b7bbcccf/1709%20000/en-US/4f49ac8f67502893e10000000a42189b.html)
以下配置,以按模組分權管理為例,各模組的管理員可對本模組下的終端使用者進行資訊修改、密碼重置、解鎖等工作(賬號的新增和刪除因涉及License費用,建議仍由資訊部門的basis團隊統一管理);且可以將本模組下的角色授給任意需要的使用者,或從任意使用者處收回;各位可以舉一反三,使用此方法實現按 分子公司\工廠 的分權管理;
準備和前提
1. 業務角色編碼規範:為了方便限制不同的使用者管理員,僅能授予該模組的角色許可權,因此在本地角色命名時,一定要符合一定規範,本例中,所有的FICO角色均以 ZL_FICO_**** 開頭,所有的MM模組的角色均以 ZL_MM_****開頭,諸如此類,示例如下:
2.設定使用者組:為了限制不同模組的使用者管理員,僅能管理本模組下的使用者,因此我們需要用事務碼 SUGR 建立分權所需的使用者組,本文示例如下(OP 表示 Operator):
3.將每個使用者分配給使用者組:使用 SU01 或 SU10,將每個使用者分配給不同的使用者組,
1) 特別注意:如果某個使用者未分配給任何使用者組,那麼所有的使用者管理員均可管理此使用者;
3) 建議將系統使用者、Basis相關使用者、各模組使用者管理員均設定到SUPER使用者組,這樣能避免管理員解鎖這些賬號/重置密碼,造成系統問題或安全風險;
2) 建議在上線批導使用者時,將使用者組分配好,可以使用 SUIM 中的相關工具檢視使用者組整體分配情況;
建立模組管理員角色
使用 PFCG 建立一個單一角色,本例為 ZL_BASIS_0002_FICO:使用者管理員(FICO模組),然後直接編輯引數檔案:
從彈出的標準模板選擇視窗中,選擇SAP的標準模板:SAP_ADM_US:User Administrator,這個模板會提供使用者管理所需的常用功能;
在 組織級別中,我將 Plan Version 將其設定為"*",雖然我也不知道這東西時幹嘛的。。有知道的同學還請解釋下
然後我們手工設定BC_A下的一些許可權物件,具體如下圖所示,解釋如下:
1) S_USER_AGR -> ACT_GROUP:允許操作的角色,此處我設定為 ZL_FICO_* (FICO相關角色)和 ZL_COMMON_*(所有使用者均可開通的許可權);
2) S_USER_GRP -> CLASS:允許修改哪些使用者組的使用者資訊,此處我設定為 OP-FICO;
3) S_USER_GRP -> ACTVT:允許修改使用者的哪些資訊,我去掉了 Add or Create 和 Delete,避免模組管理員增刪使用者;
4) S_USER_PRO -> PROFILE:設定為T*,避免模組管理員將SAP_ALL之類的系統profile授權給使用者;
5) S_USER_SAS -> CLASS:設定可以給哪些使用者組下的使用者授權,我設定為*,這樣可以給任意使用者授權;
6) S_USER_SAS -> ACT_GROUP:可以給使用者授予哪些角色,設定和第一條保持一致。
儲存該角色,然後將其授權給FICO模組的使用者管理員,這樣該管理員即可對OP-FICO使用者組下的使用者進行解鎖、重置密碼、資訊修改操作,且可以將ZL_FICO_開頭的角色授權給所有的使用者
後記
使用此方法,配合恰當的甩鍋策略,我們可以將大多數的許可權和使用者管理工作分給各模組/分子公司/跨國集團的各國總部,只需在需要新建/刪除賬號時,收取License費用並建立賬號即可(刪除賬號其實也可以甩出去)。至於如何設定分權計劃,如何成功的將鍋甩出去,還是取決於各位的basis非技術能力。
————————————————
9,使用安全審計日誌 - SAP S/4 Basis Tips
版權宣告:本文為CSDN博主「高原gy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/lostworld_gy/article/details/86090644
本文在 SAP S/4 HANA 1709 下測試通過
適用場景
在日常BASIS運維工作中,我們可以使用 SM21 檢視系統日誌,但如果希望獲得一些更詳細的日誌,如使用者登入記錄(Dialog/RFC),RFC呼叫記錄,事務/報表執行記錄,系統操作記錄等各項工作,我們可以開啟 安全審計日誌(Security Audit Log),這樣在出現安全問題時,我們可以通過該日誌檢視是誰進行的操作。 本文介紹了Security Audit Log 的配置,檢視和清理方法。
本文參考自官方手冊:"System Security for SAP NetWeaver AS for ABAP Only"->"Security Audit Log"章節(https://help.sap.com/viewer/280f016edb8049e998237fcbd80558e7/1709%20000/en-US/4d41bec4aa601c86e10000000a42189b.html),有英文能力的同學可以仔細閱讀下該手冊。
安全審計日誌的開啟
使用事務碼 SM19,可以開啟審計日誌配置介面,首先我們會看到三個頁籤,首先我們應點選 Kernel Parameters 這個頁籤,配置 Kernel Parameters。
配置 Kernel Parameters
Kernel Parameters 用來控制安全審計日誌的全域性引數,如是否啟用審計日誌,是否啟用使用者篩選,日誌記錄方法(每日一個檔案或每日多個檔案) 和檔案大小限制等;所做的修改儲存後立刻生效,無需重啟SAP,此外我們也可以在RZ10 中配置審計日誌引數(不推薦),Kernel Parameters 一旦配置後,優先順序高於RZ10,如果我們堅持要在RZ10中配置,需要先點選此介面右上角的"刪除"按鈕,RZ10的設定才會生效,具體各引數的含義,及對應的RZ10中的引數,請查閱 "System Security for SAP NetWeaver AS for ABAP Only"->"Security Audit Log"->"Preparing the Security Audit Log"。
如下圖所示,建立 Kernel Parameters,按照自己的需求修改後,儲存。審計檔案即可生效。
配置 Static Profile
然後我們切換到 Static Configuration 頁籤,此處我們可以建立 審計引數檔案,並將其啟用,啟用的引數檔案需重啟SAP後才可生效,我們可以在此介面建立多個版本的審計引數檔案,但每次只能啟用一個
1) 建立 Profile 起個合適的名字
2) 在下方 我們可以設定多個Filter,Filter 的數量取決於" Kernel Parameters"頁籤中定義的引數"Number of Selection Filters"(該配置需重啟SAP才生效),本例中,我配置兩個Filter,用於滿足對不同使用者組配置不同的審計級別
Filter1 審計所有使用者的登入和RFC呼叫:
Filter2 審計管理員(SUPER使用者組的使用者)對使用者主記錄的修改和授權記錄:
3) 然後儲存該Profile,建議部署給所有的伺服器,一旦選擇了Yes,則該Profile對所有例項立刻生效,且無需重啟SAP(具體原因將在下面的 Dynamic Config 中解釋)。
按照如上方法,我們可以建立多個Profile,然後選中一個,啟用該Profile(只允許啟用一個):
在如上配置之後,該審計日誌 profile已被啟用,理論上重啟SAP伺服器後即可生效
配置 Dynamic Config
和 Static Configuration 頁籤不同,Dynamic Config 頁籤的配置 無需重啟伺服器,啟用後立刻生效,一旦配置且激活了"Dynamic Config","Static Configuration"頁籤中配置的 Profile 將不會生效。
我們切換到 "Dynamic Config"頁籤,一般情況下,我們會發現已經有一個處於啟用狀態的配置了,且配置和"Static Configuration"中的完全一樣:
還記得在我們配置 Static Profile 的時候,第3步,儲存時彈出的那個視窗嗎?一旦選擇了"Yes",則SAP會將該Profile複製到 Dynamic Config. 下 並將其啟用,因此我們即使不重啟SAP伺服器,審計配置也會立刻生效!
我們也可以手工修改 Dynamic Config,然後啟用,配置將立即生效
需注意的是,一旦重啟了SAP伺服器,"Dynamic Config"的配置會失效且丟失!!,系統將會使用"Static Configuration"頁簽下,啟用的 Profile,因此對Dynamic Config 的配置僅用於臨時測試,請及時在 Static Congifuration中修改Profile並激活。
安全審計日誌的分析
接下來我們可以使用事務碼 SM20 設定篩選條件,檢視審計日誌
建議將結果匯出到 Excel中,用Excel進行分析會更加的方便。
安全審計日誌的儲存
SAP的日誌儲存位置,由引數"DIR_AUDIT"決定儲存位置,由引數"FN_AUDIT"決定檔案命名規則,我們可以用RZ11 檢視這兩個引數,並在伺服器上找到該目錄下的檔案,如果我們想要保留大量的,詳細的審計日誌的話,建議修改該引數,將日誌目錄改到單獨的儲存服務(如單獨磁碟、NFS伺服器、NAS伺服器等) 上。
安全審計日誌的清理
我們可以使用 事務碼 SM18,清理舊的安全審計日誌,設定好日期範圍和 例項範圍後,點選"執行"按鈕即可,也可以勾選"Simulation Only"進行模擬執行,僅進行統計而不實際清理。
執行清理後,SAP會提供一個統計報告,告訴對於每個伺服器,刪除了多少日誌,保留了多少,此處是使用RFC呼叫的。
————————————————