получение текущего зарегистрированного пользователя и количества допустимых хранимых процедур в sql - PullRequest
0 голосов
/ 19 марта 2019

Я хотел бы узнать, возможно ли получить количество действительных и недействительных хранимых процедур в SQL.Также текущий зарегистрированный пользователь и текущее время

1 Ответ

0 голосов
/ 19 марта 2019

Чтобы получить недействительные объекты, используйте

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;
...