学习目标
完成本单元后,您将能够:
- 列出复制可能遇到的三种类型的问题。
- 列出对复制失败进行故障排除时可以采取的三个步骤。
- 说明复制撤消的工作方式。
- 列出有助于复制故障排除的日志类型。
- 描述可以用来对挂起的复制进行故障排除的三种方法。
介绍
自从学习复制以来,Linda Rosenberg一直在为Cloud Kicks运行许多数据和代码复制过程。
她遇到了一些测试她的故障排除技能的问题。由于各种原因,她不得不撤消复制。她有一些失败和复制挂起。她还需要清除缓存的帮助。让我们看看她如何解决这些问题。
发生任何故障的第一步是查看复制状态。
- 打开业务经理。
- 选择管理>复制>数据(或代码)复制。
- 查看复制过程及其状态的列表。
让我们逐步了解一下Linda的工作。
复制后问题
当Linda遇到数据复制问题时,她会在登台实例和目标实例上的复制日志中查看错误消息。包含“失败”或“ ORA-”的条目可以提供她的线索。
- 如果复制日志没有提供有用的数据,她将检查错误日志。
- 如果复制包括多个任务,那么她将通过运行带有和不带有每个任务的测试,尝试隔离导致问题的任务。
- 如果多个对象的复制失败,她将尝试复制单个对象以缩小原因。
- 如果计划的复制未运行,则她尝试手动运行它。
撤消复制
如果数据或代码无法正确传输,或者不完整或有错误(对于代码而言),则可以撤消操作。
撤消数据复制
Linda可以回滚最新的传输和发布或发布数据复制过程。这是如何做。
- 打开业务经理。
- 选择管理>复制>数据复制。
- 选择要撤消的复制。
- 点击编辑。
- 选择无效。
- 选择手动激活类型。
- 单击下一步。
- 选择撤消复制类型。
- 单击下一步,然后查看流程详细信息。
- 点击创建。
- 在列表中找到该过程,然后单击“开始”。
撤消代码复制
Linda可以回滚最新的传输和激活或激活代码复制过程。这是如何做。
- 打开业务经理。
- 选择管理>复制>代码复制。
- 选择要撤消的复制。
- 点击编辑。
- 选择手动激活类型。
- 单击下一步。
- 选择撤消复制类型。
- 单击下一步,然后查看流程详细信息。
- 点击创建。
- 在列表中找到该过程,然后单击“开始”。
复制日志
Salesforce B2C Commerce在源系统和目标系统上都记录复制过程日志文件。这些与常规错误日志是分开的。它们存在于:https://instance_address/on/demandware.servlet/webdav/Sites/Logs/中,文件名如staging-blade_name-appserver-yyyymmdd.log
。
Linda监视登台实例上的状态。如果某个过程失败,则她检查暂存日志。一条日志可能包含几天的事件,因此她会查找复制过程开始时的日志。日志文件的时间戳类似于数据复制任务。无论实例类型如何,所有日志文件名都包含暂存。这是Linda查看日志的方式。
- 打开业务经理。
- 选择管理>站点开发>开发设置。
- 单击日志文件链接。
- 查找登台日志。
这是一个日志条目的示例。
查看日志文件时,请重点关注某些项目。
- 滚动浏览日志文件,其中包含该过程的步骤,以查找错误。
- 登台实例的最后一步是移交给目标服务器。登台日志应具有与此相似的一行。[2019-01-15 21:27:09.783 GMT]实时系统中的登台管道已成功调用。
- 如果缺少成功消息,请查找与此类似的错误。ISH-CORE-2491:将uuid =’dC8KAANna1111EOTN9h9md4’的进程状态从“ StartingStagingProcess”设置为“ ErrorAcquiringEditingLocks”
- 如果发生此登台错误,请登录控制中心,然后停止并重新启动实例。然后再次运行相同的复制。控制中心是B2C Commerce工具,可用于监视B2C Commerce实例的状态并采取适当的措施。如果登台实例日志没有错误,请查看目标实例上的登台日志。https:// [target_instance_name] /on/demandware.servlet/webdav/Sites/Logs
- 目标实例暂存日志以这样的消息开头。2019-01-15 20:29:30.321 GMT]使用uuid = bcFvkiaalTMxM444667bVYFqBX复制分段过程[2007-01-15 20:29:32.347 GMT]启动StagingResources-Acquire @ Sites-Site
- 根据您复制的数据,日志中包含一个用于数据库副本开始的条目。检查错误。
- 复制后,请检查整个日志中是否有错误。如果该过程成功完成,则日志末尾将显示以下消息。[2019-01-15 21:31:17.434 GMT] ReplicationPublication过程已完成,状态为“ StagingProcessCompleted”。
修复挂起的复制
一些数据库事务,特别是涉及目录数据的数据库事务,可能需要一段时间才能完成。当数据复制在运行状态中的停留时间超出预期时,Linda会检查其是否挂起。这意味着复制不再运行,或者复制受限或没有进展。琳达必须找出它是否挂着以及为什么挂起,这样她才能成功运行它。
检查登台
她检查登台实例上的最新复制日志。这是如何做。
- 确认其中包含“成功调用实时系统中的登台管道”行。如果没有,那就有问题了。
- 检查它是否包含状态设置为ErrorAcquiringEditingLocks的条目。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。
检查目标
她检查目标实例上的最新复制日志并滚动到末尾。
- 刷新视图几次以查看是否要添加新条目。如果过一会儿没有新条目出现,则复制可能会挂起。
- 检查它是否包含状态设置为的条目
ErrorAcquiringLivelocs
。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。 - 如果最后一个日志条目是数据库操作,例如INSERT或ALTER INDEX,请检查以前的日志以查看该操作花费了多长时间以及下一个条目是什么。
- 如果最后一个日志条目以Rsync开头,则延迟可能是由于大量更改的静态内容文件引起的。即使文件的内容相同,也将包含已移动到其他文件夹的文件。如果Rsync卡住,请联系客户支持以检查其状态。
- 如果日志显示状态ErrorLiveStagingProcessKilled,则说明复制可能由于并发部署或实例重新启动而挂起。
同时检查
有时,她同时处理两个实例。
- 如果任一日志包含类似于资源繁忙的行,并且指定了NOWAIT进行获取,请与客户支持一起打开故障单并提供您尝试的故障排除步骤。
- 如果复制过程在目标实例上显示“已完成”,但在暂存实例上其状态仍在等待或进行中,则复制完成后暂存实例可能已关闭。重新启动登台实例,然后再次检查状态。
- 如果确定复制已挂起,请使用控制中心重新启动登台实例。通过验证暂挂实例上的状态为“失败”,确保挂起的复制已停止。停止后,重新运行复制。
- 如果复制再次挂起,请尝试重新启动目标实例和源实例,然后重新运行复制。重新启动目标实例将中断所有正在运行的作业,为所有店面请求返回错误,并清除所有缓存。仅在不得已时才重新启动生产实例。
- 如果复制仍然挂起,请打开客户支持票证并提供您尝试的故障排除步骤。
对缓存清除进行故障排除
当Linda在页面缓存方面遇到问题时,她会考虑这些技巧。
- 关闭浏览器并清除本地缓存,以确保问题不是系统本地的,然后再在Business Manager中手动清除缓存。
- 若要手动清除嵌入式CDN(生产和开发实例)上的缓存,请对“站点的整个页面缓存”单击“无效”。您无需清除静态缓存。
- 如果看不到预期的变化,请寻找可能指示更具体问题的模式。例如,图像不刷新吗?如果是这样,则图像提供程序可能会出现问题。如果内容资产引起问题,请确保已部署它。