Чтобы получить недействительные объекты, используйте
SELECT *
FROM dba_objects
WHERE object_type IN ('PACKAGE'
, 'PACKAGE BODY'
, 'PROCEDURE'
, 'FUNCTION')
AND status <> 'VALID';
ИЛИ
SELECT STATUS, COUNT(*)
FROM dba_objects
WHERE object_type IN ('PACKAGE'
, 'PACKAGE BODY'
, 'PROCEDURE'
, 'FUNCTION')
GROUP BY status
только для подсчета статусов.
Возможно, вам придется настроить списоктипы объектов в зависимости от того, что вы хотите, и вы можете захотеть ограничить его также OWNER.
Ниже показано текущее время и несколько способов получения пользователя (схема, ОС и пользователь из идентификатора клиента).«).Я предлагаю вам попробовать и посмотреть, какой из них вы на самом деле хотите и / или заселили.
SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS') AS current_NLS
, TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP),'HH24:MI:SS') AS UTC_TIME
, USER
, SYS_CONTEXT('USERENV', 'OS_USER')
, REGEXP_SUBSTR(SYS_CONTEXT('userenv', 'client_identifier'), '^[^:]*')
FROM DUAL;