1. 程式人生 > >泛微e-cology和Oracle相關問題的解決方案

泛微e-cology和Oracle相關問題的解決方案

gen down 服務器 服務 帶來 輸入 朋友 開啟 開始

最近公司的泛微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相關問題的解決方案