oracle 10g 數據庫與客戶端衝突致使實例建立無監聽問題

同事在oracle 10g上建立一個實例,快結束時彈出一個錯誤,提示監聽失敗之類。查看服務,並沒有生成監聽服務。因而刪除重來,一連試了好幾回,都是如此。數據庫

這真是使人心煩意亂。提示裏面有說到端口1521,難道此端口被佔用了?用netstat -aon命令看了下,並無。並且建立實例過程當中,並無什麼地方能夠設置端口的。windows

後來試了下Net manager,手動建立了一個監聽。看系統服務,發現已有listener;而後修改 tnsnames.ora 文件,建立一個鏈接串,鏈接,成功。bash

其實呢,我修改的那個tnsnames.ora 文件,是oracle 10g client下面的。同事先裝了客戶端,後來才裝數據庫。估計是兩者有點衝突。那應對辦法就是markdown

一、建立實例
二、手動建立監聽
三、修改客戶端處的 tnsnames.ora oracle

那是否必定要修改客戶端的 tnsnames.ora 呢?是否客戶端的優先級比數據庫要高?估計不是,這個能夠在操做系統的環境變量裏設置的:spa

設置PATH。操作系統

PATH=C:\instantclient-basic-windows.x64-12.1.0.2.0\instantclient_12_1;E:\oracle\product\10.2.0\db_1\bin;
1

排在前面的應該優先級高。code

至於什麼oracle_home之類,好像沒啥卵用。也不清楚它們究竟有啥卵用。在網上抄了些,先記下來:產品

ORACLE_BASE、ORACLE_HOME有什麼區別

ORACLE_BASE下是admin和product
ORACLE_HOME下則是ORACLE的命令、鏈接庫、安裝助手、listener等等一系列的東東。
這只是ORACLE本身的定義習慣。ORACLE_HOME比ORACLE_BASE目錄要更深一些。也就是說:ORACLE_HOME=$ORACLE_BASE/product/version

ORACLE_BASE是oracle的根目錄,ORACLE_HOME是oracle產品的目錄。
簡單說,你若是裝了2個版本的oracle,那麼ORACLE_BASE能夠是一個,但ORACLE_HOME是2
相關文章
相關標籤/搜索