代码之家  ›  专栏  ›  技术社区  ›  Greg Reynolds

Oracle正常运行时间查询

  •  12
  • Greg Reynolds  · 技术社区  · 15 年前

    4 回复  |  直到 15 年前
        1
  •  6
  •   APC    15 年前

    您的问题指定了“非管理员用户”,因此我恐怕答案可能是否定的。通常的机制需要从V$views-V$INSTANCE或V$SESSION中进行选择。默认情况下,这两项都不会授予公众。

    如果您友好地询问DBA,他们可能会准备授予您访问这些视图的权限,或者至少编写一个包装函数(或多个函数)来公开这些值。

        2
  •  18
  •   Simeon    9 年前

    试试这个。不过,它不需要管理员用户 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;
    
        3
  •  0
  •   Dmitry.M    7 年前

    PMON的sid并不总是等于1。因此最好使用以下查询:

    SELECT t.LOGON_TIME FROM v$session t where upper(t.PROGRAM) like ('%PMON%')
    

    它适用于solaris和linux redhat上的11.2.0.4和12.1.0.2。

        4
  •  0
  •   santosh tiwary    4 年前

    下面的查询将显示您 Oracle database uptime

    SELECT host_name, instance_name,TO_CHAR(startup_time, 'DD-MM-YYYY HH24:MI:SS') startup_time, FLOOR(sysdate-startup_time) days FROM sys.v_$instance;
    
    
    select * from ( select STARTUP_TIME FROM dba_hist_database_instance ORDER BY startup_time DESC) WHERE rownum <10;
    
        5
  •  -3
  •   p.marino    15 年前

    我建议你这样做 this -但是你应该给出更多的细节,比如你使用的是什么操作系统,什么版本的Oracle。