2010-04-14 71 views
11

有沒有非管理員用戶檢查Oracle實例的正常運行時間的方法?即我沒有sysdba權限。Oracle正常運行時間查詢

+0

通常是Oracle 10g。操作系統各不相同... – 2010-04-14 14:24:30

回答

4

您的問題指定「非管理員用戶」,所以恐怕答案可能不是。通常的機制需要從V $視圖中選擇 - V $ INSTANCE或V $ SESSION。默認情況下,這些都不會授予PUBLIC。

如果你很好地問你的DBA,他們可能準備授予你訪問這些視圖的權限,或者至少編寫一個包裝函數(或函數)來公開這些值。

+0

謝謝你 - 這就是我的想法。 – 2010-04-14 14:39:51

15

試試這個。它不需要管理員用戶,但SELECT表訪問v_$instance表。

SELECT to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') "DB Startup Time" 
FROM sys.v_$instance; 

或者,如果你認爲PMON啓動時間是一樣的數據庫的啓動時間,可以得到這樣的正常運行時間:

SELECT to_char(logon_time,'DD/MM/YYYY HH24:MI:SS') 
FROM v$session 
WHERE sid=1; 
+0

不幸的是,這些需要以db管理員身份運行。 – 2010-04-14 14:24:56

+0

@Greg:不,我不是我們數據庫的管理員,但我可以查詢sys.v_ $實例。你只需要是一個數據庫管理員來授予* v $表的特權。 – 2010-04-15 05:45:59

+0

謝謝 - 儘管如此,仍然需要一些干預。在這種情況下,這並不重要,所以我們最終放棄了。 – 2010-04-15 09:40:46

-2

我建議像this - 但你應該提供更多的細節,例如你在哪個操作系統上,以及哪個版本的Oracle。