Есть ли способ, по которому пользователь, не являющийся администратором, проверяет работоспособность экземпляра Oracle? То есть У меня нет привилегий sysdba.
Oracle Uptime Query
Ответ 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.