【分享】Cloud创建管理中心/数据中心失败解决方案
金蝶云社区-Lee_Pitt
Lee_Pitt
6人赞赏了该文章 1万次浏览 未经作者许可,禁止转载编辑于2017年03月16日 15:00:54
summary-icon摘要由AI智能服务提供

文本主要概述了创建和部署Cloud系统时的环境需求、安装部署规范、数据库服务要求及常见错误与解决方案。包括确保应用服务器与数据库服务器之间的网络通信畅通,Oracle和K3/Cloud的安装部署规则,数据库版本要求,以及常见如Oracle数据库驱动加载失败、管理中心或数据中心账套模板还原失败等问题的具体表现和解决方法。同时指出了操作系统配置问题和安装包解压异常等可能导致部署失败的原因及相应解决措施。

创建前需要确保环境需求
一、网络通信 应用服务器和数据库服务器之间能相互通信,需要达到以下几点:
1、应用服务器能正常通过域名或机器名访问数据库服务器,使用ping指令检验(不能访问时,请增加hosts设置)
2、数据库服务器能正常通过域名或机器名访问应用服务器,使用ping指令检验(不能访问时,请增加hosts设置)
3、数据库服务器能正常访问应用服务器的管理中心站点(8000端口),数据库服务器检验浏览器下[http://机器名:8000/]地址能正常浏览访问
不能访问原因,通常是应用服务器的防火墙阻止了管理中心站点8000对外访问。此问题可以通过防火墙设置(添加允许访问端口规则)或是关闭防火墙可以解决。
Oracle服务器linux服务器下不能通过直接浏览器访问时,可以通过用第三台应用服务器能正常访问8000端口的站点即可。就是确保应用服务器的管理中心站点在除当前应用服务器外,在其他应用服务器也能正常访问。

注:关于hosts设置参考: hosts百度百科说明
防火墙设置参考:如何设置Windows 7 防火墙端口规则

二、Cloud安装部署
1、 Sql Server 和K3/Cloud 安装允许在同一台服务器
2、 Oracle 和K3/Cloud安装必须分开两台服务器部署
建议:生产环境数据库服务和应用服务器需要分开部署

三、数据库服务要求
Oracle服务要求参考帖子: K3Cloud集成Oracle数据库注意事项

四、数据库版本要求
1、Oracle版本要求: 11g或12c
2、Sql Server版本要求: Sql Server 2008 R2及以上版本。(注:Sql Server 2008也是不行)

具体部署需要,参考:
文档章节: 4 系统部署环境=>4.4支持运行的环境

常见错误
一、Oracle数据库驱动无法加载
表现情况
a:无法启用数据库引擎的FTP服务:The type initializer for 'Oracle.DataAccess.Client.OracleClientFactory' threw an exception.
英文错误:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.

b :Oracle.DataAccess,Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342或它的某一个依赖项。系统找不到指定的文件 (如下图:)。




解决方案:
参考:创建管理中心,"无法启用数据库引擎的FTP服务..。."解决办法

其他:有人会问,为什么创建Sql Server数据库也会报Oracle数据库驱动的错误,
原因是Cloud系统默认同时支持两种数据库类型(Sql Server 和Oracle),默认会同时加载两种数据库的驱动。

二、创建管理中心或数据中心账套模板还原失败
现象1:

创建失败: ORA-39001: 参数值无效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 4087
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 4338
ORA-06512: 在 line 9|declare
h1 NUMBER;
如下图


表现2:
[table]
[tr][td]异步任务执行失败
One or more errors occurred.
Exception has been thrown by the target of an invocation.
SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x978b7393,但实际为: 0xf35d7393)。在文件 'E:\data\AIS20160509155341_Data.mdf' 中、偏移量为 0x00000008dd4000 的位置对数据库 ID 10 中的页 (1:18154) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
数据库 'AIS20160509155341' 已还原,但在还原/删除复制时出错。该数据库保留为离线状态。请参阅 SQL Server 联机丛书中的主题 MSSQL_ENG003165。
RESTORE 无法启动数据库 'AIS20160509155341'。
RESTORE DATABASE 正在异常终止。
已为数据库 'AIS20160509155341',文件 'SqlServer_BC_20120727194252_Data' (位于文件 1 上)处理了 40616 页。
已为数据库 'AIS20160509155341',文件 'SqlServer_BC_20120727194252_Log' (位于文件 1 上)处理了 3 页。|RESTORE DATABASE @DATABASE_NAME FROM DISK = 'D:\K3Cloud\ManageSite\CommonFileServer\K3CloudPattrenDbFile\SqlServerBCPatternDB.bak' with recovery, move 'SqlServer_BC_20120727194252_Data' to 'E:\data\AIS20160509155341_Data.mdf',move 'SqlServer_BC_20120727194252_Log' to 'E:\data\AIS20160509155341_log.ldf', replace

表现3:
[table]
[tr][td]

6.1 刚装的,WINdows 和SQL都是2008,数据库测试成功的,数据库和软件是两台服务器,点创建出现如下提示:

创建失败: 无法打开备份设备 'D:\Program Files (x86)\Kingdee\K3Cloud\ManageSite\App_Data\CommonFileServer\K3CloudPattrenDbFile\SqlServerMCPatternDB.bak'。出现操作系统错误 3(系统找不到指定的路径。)。
RESTORE FILELIST 正在异常终止。
Stack Trace: at Kingdee.BOS.ServiceHelper.DataCenterService.CreateDataCenter(ICreateDataCenter dc)
at Kingdee.BOS.Web.CMC_Ajax.CreateDBCenterInformation()


表现4:创建过程中提示:异步任务执行失败…… 找不到对象 "T_SEC_OBJECTTYPEPERMISSION"

表现5:创建过程结束,登陆提示: ORA-00942: table or view does not exist


表现6:创建提示无法打开设备,如下图





解决方案:
保证网络各个数据库服务器和应用服务器之间(特指管理中心服务器)的通信。
要求原则:
1、数据库服务器能正常访问ping通应用服务器,通过机器名ping(不能ping通,通过增加hosts配置解决)
2、数据库服务器能正常访问管理中心站点(http://管理中心机器名:8000/),最直接的方式就是在数据库服务器能用浏览器访问。
(不能访问原因:8000端口通常会被操作系统的防火墙对外阻止访问的,解决就是通过防火墙增加端口访问规则或是直接关闭防火墙解决 。
防火墙设置知识,请自行baidu)
特别注意:(Oracle数据库服务通常是Linux平台[cloud建议使用Linux平台],通信问题普遍存在。创建账套的Oracle 服务的服务器不能与应用服务器是同一台,Sql Server没有此限制。

三、数据库服务本身问题
现象:
a:账套创建完成了,登陆时提示:标识为“SEC_PasswordPolicy”的业务对象不存在,或者被删除。如下图


b:创建过程中提示:标识为“SEC_PasswordPolicy”的业务对象不存在,或者被删除。
请检查数据库服务的版本和配置信息,按cloud安装部署文档要求,部署数据库服务。 参考:K3Cloud集成Oracle数据库注意事项

四、安装cloud失败的

a: 创建过程中提示:“ Cabinet file does not have the correct format.”如下图


b:
[table]
[tr][td]win2008 r2 系统搭配sql 2008 r2,cloud 5.0
在创建管理中心时报错创建失败:Cabinet file does not have the correct format.Stack Trace: at Kingdee.BOS.ServiceHelper.DataCenterService.CreateDataCenter(ICreateDataCenter dc)
at Kingdee.BOS.Web.CMC_Ajax.CreateDBCenterInformation()

直接查看cloud安装目录下[[安装目录]\K3Cloud\ManageSite\App_Data\Packages]的kdpkg文件存在异常

原因分析:
cloud安装过程,安装包的文件未正常解压。通常有两个原因:
1、安装包本身存在问题,直接检查安装包里的kdpkg后缀文件大小是否正常。
(cloud安装包\KDSetup\KDPackages\K3Cloud)各个子目录下的kdpkg后缀文件如果出现大小都为4KB时,则是不正常。
2、安装过程中,有360等杀毒软件,导致安装解压文件失败。

五、操作系统配置问题
现象,提示"该字符串未被标识为有效的DateTime。有个未知单词(从索引 10处开始)"

分析解决: 此问题是应用服务器为英文版时会出现,请重新设置应用服务器的区域语言,设置为中文版本。

Oracle数据中心创建失败错误解决方案,参考:Oracle创建管理中心和数据中心失败解决方案