ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SAP 的 Basic、架构、运维知识

2022-05-15 14:02:47  阅读:514  来源: 互联网

标签:运维 Process HANA Basic 用户 内存 Memory SAP


SAP 的 Basic、架构、运维知识

 

2022年5月14日,XWD编辑

转载博客:

版权声明:本文为CSDN博主「高原gy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lostworld_gy/article/details/85252363

备注:

 

 

 

 

  1. Basis入门 - SAP S/4 Basis Learning

  2. 版权声明:本文为CSDN博主「高原gy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
  3. 原文链接: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, 该文档是指南的指南,提供了各指南的连接:

  1. 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调用的。

 

————————————————

标签:运维,Process,HANA,Basic,用户,内存,Memory,SAP
来源: https://www.cnblogs.com/xwd2020/p/16273016.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有