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

创建前需要确保环境需求
一、网络通信 应用服务器和数据库服务器之间能相互通信,需要达到以下几点:
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创建管理中心和数据中心失败解决方案