备份时间很长、文件过大且执行清理计划报错

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

备份时间很长、文件过大且执行清理计划报错

客户环境为:ORACAL 11g\CLOUD6.0,打了4月21日补丁及TempPatch.6.2.703.1.kdpkg、TempPatch.6.2.705.2.kdpkg临时补丁,已上传附件给总部

1)备份一次要14个小时,备份文件大小为39G,如何优化下系统使备份快而且文件没这么大

2)执行计划列表中的临时表定时清理服务状态有问题,设置如下:


数据中心运行执行计划如下:


而应用程序服务日志那报错如下:

日志名称: K3Cloud
来源: BackJob
日期: 2017-06-26 17:27:26
事件 ID: 0
任务类别: 无
级别: 错误
关键字: 经典
用户: 暂缺
计算机: spyy-oracle-bak
描述:
执行计划执行出错, 帐套Id:570b2a145ca59e 帐套名称: 弘徳控股, 执行计划Id:BOS_AsyncMessageProcessing, 执行时间:2017-06-26 17:27:26,
System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:80
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at Kingdee.BOS.ServiceFacade.KDServiceClient.KDServiceClient.DoPost(KDBaseRequest kdrequest)
at Kingdee.BOS.ServiceFacade.KDServiceClient.KDServiceClient.Execute[T](KDBaseRequest request)
at Kingdee.BOS.Schedule.Core.BackgroundJob.DoTask(Schedule scheduleObj)
事件 Xml:



0
2
0
0x80000000000000

79405347
K3Cloud
spyy-oracle-bak



执行计划执行出错, 帐套Id:570b2a145ca59e 帐套名称: 弘徳控股, 执行计划Id:BOS_AsyncMessageProcessing, 执行时间:2017-06-26 17:27:26,
System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:80
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at Kingdee.BOS.ServiceFacade.KDServiceClient.KDServiceClient.DoPost(KDBaseRequest kdrequest)
at Kingdee.BOS.ServiceFacade.KDServiceClient.KDServiceClient.Execute[T](KDBaseRequest request)
at Kingdee.BOS.Schedule.Core.BackgroundJob.DoTask(Schedule scheduleObj)



1 、楼主没说明是如何作的备份,我估计是用EXPDP。备份1次花14小时,这明显不合常规,至于为何耗时这么久, 没现场查看,无法下结论。但有几点建议:1 )备份操作,放在系统空闲时段执行(如半夜),这样可以避免IO争用;
2) 可以考虑用并行来提高效率(增加参数:PARALLEL=N, N=2,4,6,,,,),但不一定有效;
3) 可以对数据库进行压缩,增加参数 compression=all,这样,39G大概可以压缩到6G左右;
4) 建议使用RMAN备份,这样的备份更高效,也更可靠,更简单,还可以把数据库往回恢复到任意的时间点。

2 、可以在数据库里创建定时作业,定时删除业务账户中,24小时前创建的,以 TMP 开头的表。用数据库的定时
作业,稳定可靠。若有需要,请来信联系。


临时表任务执行成功的,应该是手工执行成功的吧。

可以查一下现场临时表的数量,如果这个数量大于1w,应该就是有历史未删除的临时表,可以考虑手工删除这部分临时表。而后把Cloud定期删除临时表的后台任务重置为准备状态;检查K3CloudJobProcess服务是否正常启动;

参考下列语句:

--Oracle查看临时表数量:
select count(*) from user_segments
where segment_type='TABLE' and tablespace_name='KDCLOUD' and segment_name like 'TMP%'

--Oracle手工清理临时表语句:
--v.name='KDSA918'这里要改为需要删除的用户名,手工清理方式,每次清理1W行,--如果超过1W需要执行多次
spool droptb.sql
select 'drop table '||u.name||' purge;' from sys.obj$ u join sys.user$ v on u.owner#=v.user# and v.name='KDSA918' where u.name like 'TMP%' and u.ctime<=sysdate-1 and rownum<=10000
spool off
@droptb.sql

备份时间很长、文件过大且执行清理计划报错

客户环境为:ORACAL 11g\CLOUD6.0,打了4月21日补丁及TempPatch.6.2.703.1.kdpkg、TempPatch.6.2.705.2.kdpkg临时补丁,已上传附件给总部1...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息