本文介绍了在部署金蝶K3 Cloud系统时,所需的环境配置、安装部署步骤、数据库服务要求以及常见错误及解决方案。包括网络通信确保应用服务器与数据库服务器能正常通信;安装部署建议Sql Server和K3/Cloud可在同一台服务器,但Oracle和K3/Cloud需分开部署;数据库版本要求Oracle为11g或12c,Sql Server为2008 R2及以上版本;详细列出了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也是不行)
具体部署需要,参考: 金蝶K3 Cloud 产品安装指南.docx
文档章节: 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:
表现3:
表现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:
直接查看cloud安装目录下[[安装目录]\K3Cloud\ManageSite\App_Data\Packages]的kdpkg文件存在异常
原因分析:
cloud安装过程,安装包的文件未正常解压。通常有两个原因:
1、安装包本身存在问题,直接检查安装包里的kdpkg后缀文件大小是否正常。
(cloud安装包\KDSetup\KDPackages\K3Cloud)各个子目录下的kdpkg后缀文件如果出现大小都为4KB时,则是不正常。
2、安装过程中,有360等杀毒软件,导致安装解压文件失败。
五、操作系统配置问题
现象,提示"该字符串未被标识为有效的DateTime。有个未知单词(从索引 10处开始)"
分析解决: 此问题是应用服务器为英文版时会出现,请重新设置应用服务器的区域语言,设置为中文版本。
Oracle数据中心创建失败错误解决方案,参考:Oracle创建管理中心和数据中心失败解决方案
推荐阅读