【分享】Cloud创建管理中心/数据中心失败解决方案
金蝶云社区-天冥异
天冥异
8人赞赏了该文章 3,974次浏览 未经作者许可,禁止转载编辑于2018年06月22日 19:32:08
summary-icon摘要由AI智能服务提供

本文介绍了在部署金蝶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 (3.52 MB, 下载次数: 99)   
             文档章节: 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:

异步任务执行失败
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:



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:

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创建管理中心和数据中心失败解决方案


图标赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!