泛微e-cology和Oracle相关问题的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛微e-cology和Oracle相关问题的解决方案相关的知识,希望对你有一定的参考价值。

 

最近公司的泛微OA无法访问,Oracle数据库也无法正常启动,尝试了好多方法,终于解决了,先说说基本情况,希望能给碰到同样问题的朋友带来一点帮助。

 

服务器操作系统:Window s Server 2016 Datacenter

泛微OA版本: e-cology V8.0,安装目录为D:\\WEAVER……

Oracle版本:Oracle 11g,安装目录为D:\\app\\adminitartor\\……

 

泛微OA无法启动,我们首先会想到查看启动日志,D:\\WEAVER\\ecology\\log报错如下,

2017-12-13  07:38:44,217 ERROR weaver.conn.DBConnectionPool-weaver.conn.DBConnectionPool

java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection

         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)

         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)

         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)

 

发现是Oracle数据库问题,接着打开Oracle的EM管理界面,https://服务器ip地址:1158/em

技术分享图片

 

 技术分享图片

 

 

发现是Oracle数据库监听程序不能启动的原因,但是监听启动后,还是不断报错

监听启动命令如下:cmd窗口输入lsnrctl start

 

查看Oracle安装目录下Administrator\\diag\\tnslsnr\\计算机名\\listener\\alert下的log文件

技术分享图片

 

我们项目组成员一起研究了好多天,具体过程就不说了,解决方案如下:

       D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN

       这个目录下有3个文件

       listener.ora

       sqlnet.ora

       tnsnames.ora

 

1. listener.ora

在listener文件开头添加一行:DIAG_ADR_ENABLED_LISTENER = OFF

还要注意这里的HOST = 计算机名称

 

# listener.ora Network Configuration File: D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\network\\admin\\listener.ora

# Generated by Oracle configuration tools.

 

DIAG_ADR_ENABLED_LISTENER = OFF

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\\app\\Administrator\\product\\11.2.0\\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\bin\\oraclr11.dll")

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 计算机名)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

ADR_BASE_LISTENER = D:\\app\\Administrator

 

2. sqlnet.ora

在sqlnet文件开头添加一行: DIAG_ADR_ENABLED = OFF

 

3. tnsnames.ora

这里的HOST = localhost

    # tnsnames.ora Network Configuration File: D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\network\\admin\\tnsnames.ora

    # Generated by Oracle configuration tools.

    ORACLR_CONNECTION_DATA =

        (DESCRIPTION =

            (ADDRESS_LIST =

                (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

            )

           (CONNECT_DATA =

               (SID = CLRExtProc)

               (PRESENTATION = RO)

            )

       )

ORCL_LOCALHOST =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    (CONNECT_DATA =

      (SID = orcl)

      (SERVER = DEDICATED)

    )

  )

 

重启监听程序,表面看起来正常了,但是数据库速度还是很慢,这是Oracle11g的一个bug,但alarm下的log文件超过4G的时候,数据库运行就会变得缓慢,这时候我们删除许久以前的日志文件,然后重启下面两个服务

       监听服务       OracleOraDb11g_home1TNSListener

      Oracle主服务 OracleServiceORCL

      如果要用网页打开EM的话,还需要开启OracleDBConsoleorcl服务

 一般来说,新手只要打开这三个服务即可

 

最后正常重启Oracle实例即可,在开始菜单,Oracle安装目录home1下面可以找到SQL Plus

 技术分享图片

 

输入系统管理员账号密码即可进入SQLPlus命令模式

技术分享图片

 

Oracle常用启动命令如下

关闭数据库
      正常关闭 shutdown
      立即关闭 shutdown immediate

 

打开数据库

    Startup该命令完成创建实例、安装实例和打开数据库的任何三个步骤。



以上是关于泛微e-cology和Oracle相关问题的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

集成系列:低代码对接泛微e-cology

集成系列:低代码对接泛微e-cology

泛微E-cology OA /weaver/ 代码执行漏洞

Python 接口开发-泛微OA的SOAP接口

e-cology与e-office的区别

泛微E-cology OA 远程代码执行漏洞