Oracle Uptime Query

Есть ли способ, по которому пользователь, не являющийся администратором, проверяет работоспособность экземпляра Oracle? То есть У меня нет привилегий sysdba.

Ответ 1

В вашем вопросе указан "пользователь без администратора", поэтому я боюсь, что ответ, вероятно, нет. Обычные механизмы требуют выбора из V $views - V $INSTANCE или V $SESSION. По умолчанию ни одна из них не предоставляется PUBLIC.

Если вы спросите своего администратора базы данных хорошо, они могут быть готовы предоставить вам доступ к этим представлениям или, по крайней мере, написать функцию (или функции) для упаковки, чтобы выставить эти значения.

Ответ 2

Попробуйте это. Он не требует администратора, хотя 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

PMON sid не всегда равен 1. Так что лучше использовать запрос:

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

он работает для 11.2.0.4 и 12.1.0.2 на solaris и linux redhat.

Ответ 4

Я бы предложил что-то вроде this - но вы должны дать более подробную информацию, например, какую ОС вы включены и какая версия Oracle.