2008-11-20 47 views
8

我想知道是否有辦法確定系統上的Oracle實例是否安裝了數據庫?檢測是否安裝了Oracle數據庫

這是一個安裝腳本,我需要在繼續將我自己的表空間加載到該數據庫之前驗證是否存在實際的數據庫。有沒有人解決過這個問題?

乾杯

回答

5

檢查是否存在ORACLE_HOME。預計這個環境應該配置爲安裝也是合理的,因此測試環境變量並用一個明智的診斷(可能表明他們運行oraenv)退出是一個好的開始。如果您設置了ORACLE_HOME,ORACLE_SID或其他適當的環境變量,則可以檢查是否存在oracle主目錄並測試數據庫連接和權限。

+0

我剛剛檢查過,沒有ORACLE_HOME或ORACLE_SID,我可以連接到Oracle數據庫,沒有任何問題。 – ninesided 2008-12-02 23:59:01

+0

如果你有即時客戶端,那麼你不需要一個oracle家...連接字符串可以內置到應用程序,並不需要oracle主頁或tsnames.ora – jle 2009-06-19 02:35:00

4

你可以使用tnsping檢查數據庫監聽器是否處於活動狀態,這將是一個很好的跡象。除此之外,爲什麼不簡單地做一個測試連接呢?如果它是安裝程序過程的一部分,如果您不知道它們會提前做什麼,則可以提示用戶輸入適當的連接憑證。

5

對於Oracle 10g,在Windows上:

  • 檢查註冊表:
    • 關鍵HKLM\SOFTWARE\ORACLE必須存在。
    • 一個子項必須存在:
      • 有開始KEY_一個名稱(如KEY_OraDb10g_home1,結束串是Oracle主目錄名)。
      • 有一個值的名字以ORA_開頭,結尾爲_AUTOSTART。 (如ORA_XE_AUTOSTART,中間字符串是實例名稱)。

小心,安裝的Oracle客戶端(不使用數據庫實例的話),在註冊表中創建條目,並可以設置環境變量(如ORACLE_HOME)。這就是爲什麼上述模式有點複雜。

此模式很可能適用於Oracle 9i,也可能適用於Oracle 8i。

0

查找oracle home/etc/oratab文件。這些家庭安裝了數據庫軟件以及該家庭的數據庫名稱。然後通過啓動它可以檢查數據庫是否正常。

0

我不知道有關甲骨文公司的,但對於MySQL和PostgreSQL我做到以下幾點:

$yum grouplist | grep SQL 

這將返回:

MySQL Database client 
MySQL Database server 
PostgreSQL Database client 
PostgreSQL Database server 

所以,我認爲你應該嘗試:

$yum grouplist | grep Orac