2010-04-14 12 views
11

¿Hay alguna manera para que un usuario no administrador verifique el tiempo de actividad de una instancia de Oracle? Es decir. No tengo privilegios sysdba.Oracle Uptime Query

+0

Es Oracle 10g normalmente. El sistema operativo varía ... –

Respuesta

4

Su pregunta especifica "usuario no administrador", así que me temo que la respuesta es probablemente no. Los mecanismos habituales requieren la selección de V $ views - V $ INSTANCE o V $ SESSION. Ninguno de estos se otorga a PUBLIC por defecto.

Si le preguntas a tu DBA muy bien, es posible que estén preparados para otorgarle acceso a esas vistas, o al menos para escribir una función de envoltura (o funciones) para exponer esos valores.

+0

Gracias por eso, es lo que pensé. –

15

Pruebe esto. No requiere un usuario administrador, aunque SELECT tiene acceso a la tabla v_$instance.

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

O, si se asume que el tiempo de inicio PMON es el mismo que el tiempo de inicio de la base de datos, se puede obtener el tiempo de actividad de la siguiente manera:

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

Desafortunadamente, deben ejecutarse como administradores de db. –

+0

@Greg: No, no soy administrador de nuestra base de datos pero puedo consultar sys.v_ $ instance. Solo necesita ser un administrador de BD para * otorgar * privilegio de selección en las tablas v $. –

+0

Gracias - todavía necesita un poco de intervención. En este caso, no importó demasiado, así que nos dimos por vencidos al final. –

-2

me gustaría sugerir algo así como this - pero debería dar más detalles, por ejemplo, qué sistema operativo tiene, y qué versión de Oracle.