Ниже запрос я использовал для анализа недействительных объектов DBA из DBA_OBJECTS в базе данных и его возвращение с недопустимыми объектами:разница между Синонимами в оракуле
select do.STATUS as CODE_STATUS, do.OBJECT_TYPE, do.OWNER, do.OBJECT_NAME from dba_objects do
WHERE UPPER(do.OBJECT_TYPE) IN ('TABLE', 'VIEW', 'FUNCTION', 'PROCEDURE', 'PACKAGE', 'PACKAGE BODY') AND UPPER(do.STATUS) <> 'VALID'
AND do.owner in ('AD','BD','DR','CD')
Ниже Опросить я использовал для анализа недопустимого дБ объекты sys.dba_objects и его возвращение нуль:
select do.STATUS as CODE_STATUS, do.OBJECT_TYPE, do.OWNER, do.OBJECT_NAME from sys.dba_objects do
WHERE UPPER(do.OBJECT_TYPE) IN ('TABLE', 'VIEW', 'FUNCTION', 'PROCEDURE', 'PACKAGE', 'PACKAGE BODY') AND UPPER(do.STATUS) <> 'VALID'
AND do.owner in ('AD','BD','DR','CD')
почему первый запрос возвращает результаты с недопустимым телом пакета и почему второй запрос не возвращает никакого результата
Является ли результат постоянным? Я имею в виду, что вы выполняете этот запрос один за другим, и результат такой же? Вы выполняете этот запрос под тем же пользователем? – JSapkota
Можете ли вы рассказать, что дает этот запрос: выберите * from all_synonyms, где синоним_имя = 'DBA_OBJECTS' – Mottor
@JSapkota результат такой же, почему я не понимаю разницу между этими походами. – Andrew