powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как вычистить NON-EXISTENT объекты?
11 сообщений из 11, страница 1 из 1
Как вычистить NON-EXISTENT объекты?
    #39430865
Andrew-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток, коллеги!

Возник такой вопрос:

Создал процедуру USER.PROC, создал ее копию с новым именем USER.JOB_PROC , дропнул исходную процедуру USER.PROC, пытаюсь создать шедулерный джоб с именем USER.PROC (имя исходной процедуры) вызывающий, новую процедуру USER.JOB_PROC и получаю:
ORA-27477: "USER.PROC" already exists

При попытке удалить джоб:
ORA-27475: unknown job "USER"."PROC"

При этом, погуглив, нашел такое представление:
dba_objects_ae (user_objects_ae)

В нем видны эти объекты с типом: "NON-EXISTENT"

Подскажите, пожалуйста, что это за магия и как вычистить недобитые объекты из словаря?
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431182
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew-yORA-27477: "USER.PROC" already exists
Job в EBR..? https://docs.oracle.com/html/E26088_02/statements_5009.htm The following object types are editionable:

Synonym

View

Function

Procedure

Package (specification and body)

Type (specification and body)

Library

Trigger


Note:
All database object types not listed above are not editionable. Changes to object types that are not editionable are immediately visible across all editions in the database.

...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431218
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew-y,

Какая версия СУБД?
Код: plsql
1.
SELECT banner FROM v$version;


Я столкнулся с подобным при работе с Edition-based Redefinition (EBR) в Oracle Database 12.1.0.2 EE.

Создаю процедуры в разных ревизиях, потом их DROPаю.
в USER_OBJECTS_AE вижу, что их тип объекта стал NON-EXISTENT.

В USER_OBJECTS их не видно.
Покопавшись на MOS нашел старый исправленный баг для Oracle 9-10
(SMON не слишком оперативно подчищал удаленное)

Проверю осталось ли это в 12.2.0.1 EE.
Если осталось, заведу в понедельник SR.
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431220
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew-yКак вычистить NON-EXISTENT объекты?
Да, забыл сказать:

NON-EXISTENT объекты отлично вычищались
"убиением" пользователя (схемы),
которому они принадлежали...
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431757
Andrew-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL*Plus, к сожалению, этот вариант мне не подходит.
Находил вариант с перезапуском базы, но, все-таки, хотелось бы найти более гуманные способы борьбы с подобным.
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431779
AlexVin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
12.1.0.2.170117 - non-multi и в pdb
12.2.0.1.0 - pdb
проявляется

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
create or replace procedure zz is begin null; end zz;
/
drop procedure zz;
col owner format a30
col object_name format a30
select o.OWNER,o.OBJECT_NAME from dba_objects_ae o
 where o.OBJECT_TYPE = 'NON-EXISTENT' and o.OWNER = user and o.OBJECT_NAME = 'ZZ';
exec dbms_scheduler.create_job(job_name =>'ZZ',job_type =>'PLSQL_BLOCK',job_action => 'begin null; end;');

Procedure created.

SQL>
Procedure dropped.

SQL> SQL> SQL>   2
OWNER                          OBJECT_NAME
------------------------------ ------------------------------
SYS                            ZZ

SQL> BEGIN dbms_scheduler.create_job(job_name =>'ZZ',job_type =>'PLSQL_BLOCK',job_action => 'begin null; end;'); END;

*
ERROR at line 1:
ORA-27477: "SYS"."ZZ" already exists
ORA-06512: at "SYS.DBMS_ISCHED", line 146
ORA-06512: at "SYS.DBMS_SCHEDULER", line 288
ORA-06512: at line 1
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39431838
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew-y,

http://itnewscast.com/database/non-existent-edition If you often create test procedures/fucntions (like me), you can find the _ae dictionary views quickly fill with these "NON-EXISTENT" objects. This can be confusing once you start working with editions. Hoepfully Oracle will introduce some form of purge option when dropping PL/SQL to provide a nicer way to get rid these
For a full script, use this . (NB – requires 11gR2 to see the effect)
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39434764
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusПроверю осталось ли это в 12.2.0.1 EE.
Если осталось, заведу в понедельник SR.
Проверил.
Это осталось в 12.2.0.1 EE.

Завел SR.
Проблему воспроизвели.
Работают.
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39456427
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusSQL*PlusПроверю осталось ли это в 12.2.0.1 EE.
Если осталось, заведу в понедельник SR.
Проверил.
Это осталось в 12.2.0.1 EE.

Завел SR.
Проблему воспроизвели.
Работают.
По моему SR создали Bug NNNNNNNN : SCHEDULER CANNOT CREATE AN OBJECT WITH THE SAME NAME AS A NON-EXISTENT OBJECT
Который уже Fixed in Product Version 12.2.0.2.0

Предложили сделать backport этого фикса.
Я отказался, поскольку нужды в этом особой нет.
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39456778
AlexVin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL*PlusProduct Version 12.2.0.2.0
а оно когда будет?)
...
Рейтинг: 0 / 0
Как вычистить NON-EXISTENT объекты?
    #39457191
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexVinSQL*PlusProduct Version 12.2.0.2.0
а оно когда будет?)Пока запланировано на 4-й квартал 2017 г. (см. 742060.1)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как вычистить NON-EXISTENT объекты?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]