SAP CLIENT 拷贝方法
一、LOCALE CLIENT COPY (本地客户端拷贝)
二、REMOTE CLIENT COPY (远程客户端拷贝)
日常工作中,经常会由以下原因需要进行CLIENT COPY;
- 安装后创建新的CLIENT
- 搭建培训系统
- 搭建演示系统
- 项目上线前生产系统的准备
- 测试系统与生产系统数据同步
LOCALE CLIENT COPY 是相同服务器的CLIENT拷贝,不涉及跨服务器的对象和和数据;
REMOTE CLIENT COPY 是跨服务器的CLIENT拷贝。
CLIENT COPY常用参数(SCCL/SCC8/SCC9)
参数文件 | 含义 |
SAP_ALL | 特定于一个client的所有数据都被copy到目标client |
SAP_APPL | 与SAP ALL相同,但不包含用户主数据 |
SAP_APPX | 与SAP APPL相同,但不包含角色和授权文件 |
SAP_CUST | 定制设置 (包括授权) 被copy,包含用户数据,没有应用数据 |
SAP_CUSV | 与SAP CUST相同,还包含了变量 |
SAP_CUSX | 与SAP CUST相同,但不包含角色和授权文件 |
SAP_PROF | 拷贝角色和授权文件 |
SAP_UCUS | 与SAP CUST相同,还包含了用户主数据 |
SAP_UCSV | 与SAP UCUS相同,还包含了变量 |
SAP_UONL | 拷贝用户,不包含角色和授权文件 |
SAP_USER | 拷贝用户、角色和授权配置文件 |
SCC9跨服务器拷贝时比SCCL同服务器拷贝多了以下四个参数文件
参数文件 | 含义 |
SAP_RECO | 恢复(仅当源客户端 = 目标客户端时) |
SAP_RMBC | 定制,用户和跨客户端定制 |
SAP_RMPA | 含跨客户端定制的 SAP_ALL |
SAP_RECO | 包含跨客户端定制的定制 |
SCC8客户端导出参数文件时比SCCL同服务器拷贝多了以下三个参数文件
参数文件 | 含义 |
SAP_EXBC | SAP_UCSV+跨CLIENT 配置 |
SAP_EXPA | SAP_ALL+跨CLIENT 配置 |
SAP_EXPC | SAP_CUSV+跨CLIENT 配置 |
(根据网上资料提示,用SCC8导出和SCC7导入操作时)注意: 参数文件中的跨CLIENT 的配置只用于创建新的系统,因为跨 CLIENT 的配置会破坏原来系统的跨 CLIENT 配置,造成目标系统其他 CLIENT 的数据不一致,因此,一旦系统搭建完成,做 REMOTE CLIENT COPY 时,不要拷贝跨 CLIENT 的配置。做 CLIENT COPY 时,一方面产生大量的事物日志,需要监控数据库日志文件的增长;另一方面,CLIENT COPY 会在数据库中写入大量记录,需要监控表空间的增长。
一、LOCALE CLIENT COPY (本地客户端拷贝)
本地CLIENT COPY 使用事物代码 SCCL,用SCC3 查看日志。具体操作如下:
1、创建逻辑系统(在需要拷贝的服务器上、并且能登陆的CLIENT上操作)
1.1运行事物代码SALE:这里新增的是QS4CLNT500
1.2 路径:IDoc 接口 / 启用应用程序链接(ALE)—>基本设置—>逻辑系统—>定义逻辑系统,点击执行
1.3 根据提示点击确认
1.4 点击新建条目/复制前面的条目(修改命名)
1.5 保存后,产生传输请求
备注:此请求号没有什么作用,可以删除,因为不需要传输到别的地方去
2、创建CLIENT (在需要拷贝的服务器上、并且能登陆CLIENT上操作)
2.1 运行事务码:SCC4(这里新增的是500集团)
2.2 点击修改,确认系统提示
2.3 点击新增或者复制其他CLIENT
2.4 根据实际情况,输入对应的参数内容
(1)逻辑系统:输入第1步用SALE创建的逻辑系统(QS4CLNT500)
(2)货币:CNY 人民币
(3)客户端角色:根据实际情况,选择T 测试或者 P 生产
(4)客户端特定对象的更改和传输:新CLIENT一般默认选择自动记录更改(修改系统配置时会自动产生传输请求号)
(5)跨客户端对象更改:选择允许更改资源库和跨客户端定制(一般情况下,测试系统会选择空-都允许更改、生产系统选择3-都不允许更改)
备注:此字段,用于控制是否允许修改跨Client的定制对象(例如工厂日历、价格列表条件定义、打印机控件),包括 SAP 资源库的所有对象(报表、模块池、屏幕、字典等)
(6)客户端复制和比较工具保护:默认选择保护级别0:没有限制
备注:此字段看F1的解释,个人理解:(不一定准确,未经过实际测试)
A、保护级别0时,无限制;
B、保护级别1时,不会被其他复制程序覆盖(譬如说系统拷贝的时候,设置了1,那么这个CLIENT就不会被覆盖,防止数据丢失,一般用于生产系统)
C、保护级别2时,不会被其他复制程序覆盖,同时,不能作为系统拷贝时的参考客户端使用(源客户端);主要用于保护敏感数据;譬如说生产系统的数据不能随便拷贝到其他CLIENT,那么就可以使用2这个保护级别
(7)CATT 和eCATT限制:默认选择不允许eCATT和CATT (运行 CATT 和 eCATT 可同时导致大量数据库更改,这通常是不允许的,在生产客户端中尤为如此)
(8)限制,由于客户端复制而锁定:一般情况下,拷贝CLIENT时,源CLIENT一般会要求锁定;勾选后,所有人都无法登陆该CLIENT。
2.5 保存确认即可
3、登陆新配置的CLIENT,初始账号和密码分别为:SAP*/PASS
在这个地方有可能无法登陆,请做如下设置:(由于该配置是整个服务器生效的,所以不需要登陆到新的CLIENT执行,当然,也是因为无法登陆新CLIENT才做的这步操作,但是注意,该步骤处理完,应该是要重启服务器的,这步我没实际执行,不太确定,有确定小伙伴可以告知下,谢谢)
用记事本打开 Default Profile, 或者使用RZ10 -〉 Load Local Profile -〉Defalut Profile。
加入下面参数:
login/no_automatic_user_sapstar = 0
当值为:0 = SAP 可以登陆。
1 = 禁止 SAP登陆。
4、执行CLIENT拷贝。(由于笔者在测试过程中,500客户端是由SAP厂商新增完成,不便于测试,下面记录的是从500客户端,拷贝数据到服务器端的200客户端中去;以下步骤截图,默认CLIENT500数据已经完整,通过把CLIENT500的数据拷贝到同一个服务器的CLIENT200中去)
4.1 运行事物代码SCCL(在需要拷贝的服务器上、并且能登陆的CLIENT上操作,这里举例的是200客户端)
4.2 根据实际情况,输入对应的参数内容(以下)
(1)目标客户端:系统默认带出来登陆的客户端作为目标客户端(如200客户端)
(2)选定参数文件:参数文件的说明见本章开始部分,根据需要选取
(3)源集团:从哪个CLIENT进行数据拷贝
(4)源客户端用户主数据:从哪个CLIENT拷贝用户主数据(一般与源集团选择一致)
4.3 点击作为后台作业调度,定义集团拷贝的开始时间。
4.4选择调度作业,根据实际情况,选择作业运行时间;如果要立即开始运行LOCALE CLIENT COPY,选择立刻,否则定义开始时间。到这个定义时间后,系统将在后台自动运行集团拷贝。注意:集团拷贝最好选择没有业务应用的时间进行。
4.5点击保存后,运行,出现下面截图,点击继续即可;
4.6 当出现下面错误提示时,是由于需要操作的CLIENT 200与源客户端CLIENT500没有创建RFC连接的通道
错误处理方法:需要新增CLIENT之间连接的通道
1、事务码:SM59
(1)先找到需要连通的服务器名称或者IP地址:如目前测试的CLIENT 是500
(2)新增RFC配置连接
可以通过服务器登录连接维护目标主机:如下图所示
也可以通过服务器名称维护目标主机:如下图所示
点击连接测试和远程登录,测试该RFC是否正常(能正常显示连接)
(1)连接测试:确定服务器IP地址或者服务器名称是否正常;
(2)远程登录:确定提供的账号密码是否能正常登陆到该目标系统;
能正常连通成功,表示服务器地址或者服务器名称输入是正确的,该服务器是正常可用的
能正常打开500的登陆窗口,证明账号密码无误;
2、为传输方法新增RFC连接通道,把刚刚新增的目标CLIENT 500的添加进去;
事务码:MDG_TR_DEST
4.7 问题处理完之后,正常运行SCCL后台作业,系统提示集团拷贝将在预定时间开始,用SCC3可以查看集团拷贝日志。
备注:通过下面截图可用看出,100系统和300系统是通过本地复制的,200系统是通过远程复制的;
本地复制的明细:可用看到,300客户端是通过200客户端拷贝过来的;拷贝的参数文件是SAP_ALL(这里特别说明一下,例子中的300客户端,是通过500客户端拷贝过来的,但是实际上,这在做这个截图时,300客户端是由200客户端拷贝而来的,大家不要搅混了~~)
而100客户端是通过000客户端拷贝过来的(这个是系统上线时拷贝的)
远程复制的明细:200客户端是通过PS4系统的100客户端拷贝的,拷贝的参数文件是SAP_ALL
双击进去可以看到拷贝的明细
注意:本地拷贝出现错误时:(如下图所示)
后台执行时的错误日志:(SCC3查看)
前台执行的错误:
错误表明是由FINBASIS组件引起的,它需要一个RFC连接目标。
事务码:FINB_TR_DEST(该配置是跨Client的,可在同一服务器任意Client中完成)
二、REMOTE CLIENT COPY (远程客户端拷贝)
远程CLIENT COPY 使用事物代码 SCC9,同样用SCC3 查看日志。(前面步骤1、2、3均与本地CLIENT COPY 一致,不再重复)
1、创建建逻辑系统(在需要拷贝的服务器上、并且能登陆CLIENT上操作)
1.1运行事物代码SALE
1.2 路径:IDoc 接口 / 启用应用程序链接(ALE)—>基本设置—>逻辑系统—>定义逻辑系统,点击执行
1.3 根据提示点击确认
1.4 点击新建条目/复制前面的条目(修改命名)
1.5 保存后,产生传输请求
2、创建CLIENT (在需要拷贝的服务器上、并且能登陆CLIENT上操作)
2.1 运行事务码:SCC4
2.2 点击修改,确认系统提示
2.3 点击新增或者复制其他CLIENT
2.4 根据实际情况,输入对应的参数内容
2.5 保存确认即可
3、登陆新配置的CLIENT,初始账号和密码分别为:SAP*/PASS
4、执行CLIENT拷贝。(在新CLIENT上操作)
4.1 运行事物代码SCC9
4.2 点击否,使用旧版功能进行拷贝
4.3 根据实际情况,输入对应的参数内容
(1)目标客户端:系统默认带出来登陆的客户端作为目标客户端(如新增的500客户端)
(2)选定参数文件:参数文件的说明见本章开始部分,根据需要选取
(3)源目标:RFC目标,从哪个服务器拷贝数据(SM59-REMOTE里面的连接)
(4)系统名称:源服务器的系统名称(看上去有点像该服务器的系统标识,名称具体来源没深入了解),源服务器选择源目标后,系统自动带出
(5)源集团:需要拷贝的源CLIENT,选择源目标后,系统自动带出
4.4点击作为后台作业调度,定义集团拷贝的开始时间。
4.5 选择调度作业,根据实际情况,选择作业运行时间;如果要立即开始运行REMOTE CLIENT COPY,选择立刻,否则定义开始时间。到这个定义时间后,系统将在后台自动运行集团拷贝。注意:集团拷贝最好选择没有业务应用的时间进行。
总结:目前的S4 版本,跨服务器的拷贝,只需要用SCC9操作即可,操作方式跟SCCL类似;
网上看的资料相对比较复杂:在源CLIENT执行SCC8 ,把源客户端数据导出(包括配置、用户、应用程序等,根据选择参数确定);再去新创建的CLIENT,执行SCC7,把源客户端的数据进行导入;
针对于PCE版本等服务器不在本地的情况,需要提SAP 服务,由SAP方协助拷贝;
注意:系统拷贝,需要提交的是服务,而不是事件(正常提问用的是事件)
地址:https://accounts.sap.com/saml2/idp/sso
把常用的组件分配到自定义组,方便后续使用;(比较常用的就是提服务和提事件)
1、根据以上方式,找到Service Requests Cloud 的组件,用于给SAP提交服务请求;(下面截图为已提交成功,并完成系统拷贝的请求,用于参考)
2、点击新增,找到Remote Client Copy的服务
3、点击后,进入以下界面
4、点击步骤2,进入以下界面,根据实际情况填写信息(注意,Copy Profile根据实际情况填写,一般情况下,所有东西都拷贝的话,选择SAP_ALL)
5、服务请求提交后,根据SAP返回的消息,进行相关的系统处理
(1)需要打NOTE:“3199534 New Client Copy: Protected source client is exported using the new Client Copy Tool”
(2)处理系统相关的处理:如表不一致(测试系统存在表ZTDXXX,生产系统不存在,是由于请求没传输过去),这种需要先处理
附加 :SCCLN(SCCL执行后根据提示跳转到新事务码):此操作需要在源客户端操作,譬如现在是同一服务器的500CLIENT拷贝到300CLIENT,那么要登陆到500CLIENT,其他
本次内容分享到此结束,由于不是专业做BASIS,以上内容都是通过自己网上查找资料学习并且实际操作过程中遇到的一些问题记录,如有不对之处,敬请指出,不胜感激,让我们继续在SAP的世界越走越远吧~~!!