Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Какие объекты всегда имеют статус "valid"?  [new]
riverhead
Member

Откуда:
Сообщений: 13
По идее все независимые объекты (т.е. сюда не включаются функции, процедуры, триггеры, view) Вот у синонимов есть статусы valid/invalid, но он же всегда валидный (например создадим таблицу, создадим синоним на нее, дропнем таблицу - но все равно синоним же останется valid). Вот будут ли объекты словаря данных всегда валидными или таблицы своей схемы?
Короч выскажите мнения кто-че думает по поводу всегда валидных объектов.
8 мар 11, 13:35    [10338571]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10043
riverhead
Вот у синонимов есть статусы valid/invalid, но он же всегда валидный (например создадим таблицу, создадим синоним на нее, дропнем таблицу - но все равно синоним же останется valid).


Really? Then it is time to upgrade your prehistoric Oracle version:

SQL> create table tbl(x number);

Table created.

SQL> create synonym tbl_syn for tbl;

Synonym created.

SQL> select status from user_objects where object_name = 'TBL_SYN';

STATUS
-------
VALID

1 row selected.

SQL> drop table tbl;

Table dropped.

SQL> select status from user_objects where object_name = 'TBL_SYN';

STATUS
-------
INVALID

1 row selected.

SQL> create table tbl(x number);

Table created.

SQL> select status from user_objects where object_name = 'TBL_SYN';

STATUS
-------
INVALID

1 row selected.

SQL> alter synonym tbl_syn compile;

Synonym altered.

SQL> select status from user_objects where object_name = 'TBL_SYN';

STATUS
-------
VALID

1 row selected.

SQL>  

SY.

Сообщение было отредактировано: 9 мар 11, 01:20
9 мар 11, 01:14    [10340497]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
riverhead
Member

Откуда:
Сообщений: 13
SY, thanks for remark)
А будут ли объекты словаря данных (т.е. таблицы в которых хранится информация о пользовательских таблицах) всегда валидными?
Да и еще: вот в «DBA_OBJECTS» описываются все объекты, находящиеся в базе данных. В этой view есть поле «STATUS», которое может принимать следующие значения «valid», «invalid» или «n/a». Следовательно можно сделать вывод, что все эти объекты могут (по-крайней мере теоретически) принимать значения «invalid» или «n/a». Я прав или нет?
9 мар 11, 10:00    [10341046]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
riverhead,

все объекты, которые могут быть VALID могут быть и INVALID.
9 мар 11, 10:03    [10341070]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
проходил мимо...
riverhead,

все объекты, которые могут быть VALID могут быть и INVALID.

теоретически - наверное. однако, не факт что для всех объектов оно реализовано.
напр. сиквенс. чему там ломаться?
9 мар 11, 10:16    [10341162]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
-2-
Member

Откуда:
Сообщений: 15330
Вообще, зарекаться, что кто-то из таблица, сиквенс, ... всегда VALID не стоит. Может в следующих версиях придадут какой-нибудь смысл статусу...

orawish
напр. сиквенс. чему там ломаться?
maxvalue?
9 мар 11, 10:48    [10341387]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
Elic
Member

Откуда:
Сообщений: 29979
-2-
orawish
напр. сиквенс. чему там ломаться?
maxvalue?
Ну кончился. И что, теперь всему зависимому коду становиться инвалидным?
9 мар 11, 11:10    [10341614]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
riverhead
Member

Откуда:
Сообщений: 13
Короч, вот в книге вычитал:
Такие объекты как хранимые процедуры, представления, триггеры в своих определениях содержат ссылки на другие объекты (таблицы, последовательности, другие хранимые процедуры). При изменении базового объекта, изменяется статус зависимых объектов – они получают статус «недействительный» т.е. «invalid». Применительно к хранимой процедуре или триггеру это означает компиляцию, применительно к представлению – повторный разбор его записи в словаре данных.
Таблицы, последовательности и синонимы, действительны всегда [Введение в Oracle/В.И. Комаров].

Но, насчет синонимов они неправы как нам любезно продемонстрировал SY.
Так, что остаются таблицы и последовательности.
9 мар 11, 11:17    [10341685]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
Статус Инвалидович
Guest
riverhead
Короч, вот в книге вычитал:
Такие объекты как хранимые процедуры, представления, триггеры в своих определениях содержат ссылки на другие объекты (таблицы, последовательности, другие хранимые процедуры). При изменении базового объекта, изменяется статус зависимых объектов – они получают статус «недействительный» т.е. «invalid». Применительно к хранимой процедуре или триггеру это означает компиляцию, применительно к представлению – повторный разбор его записи в словаре данных.
Таблицы, последовательности и синонимы, действительны всегда [Введение в Oracle/В.И. Комаров].

Но, насчет синонимов они неправы как нам любезно продемонстрировал SY.
Так, что остаются таблицы и последовательности.
Выкинь нахрен эту книгу

SQL> conn hr/hr
Connected.
SQL> create or replace type mytype as object (n number)
  2  /

Type created.

SQL> create table mytab(n1 mytype);

Table created.

SQL> select object_name,object_type,status from user_objects where object_name='MYTAB';

OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
MYTAB
TABLE               VALID


SQL> drop type mytype force;

Type dropped.

SQL> select object_name,object_type,status from user_objects where object_name='MYTAB';

OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
MYTAB
TABLE               INVALID
9 мар 11, 12:02    [10342088]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
обж
Guest
Статус Инвалидович,

Вы всем советуете использовать объектные таблицы?
Мне кажется любой нормальный человек, уже давно понял, что в Oracle это лучше не делать.
9 мар 11, 12:11    [10342153]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
обж
Статус Инвалидович,

Вы всем советуете использовать объектные таблицы?
Мне кажется любой нормальный человек, уже давно понял, что в Oracle это лучше не делать.

Вы точно смотрите на пример Статус Инвалидович-а именно в рамках этого топика, а не в попытках потролить ?
9 мар 11, 12:24    [10342271]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
обж
Guest
pravednik
обж
Статус Инвалидович,

Вы всем советуете использовать объектные таблицы?
Мне кажется любой нормальный человек, уже давно понял, что в Oracle это лучше не делать.

Вы точно смотрите на пример Статус Инвалидович-а именно в рамках этого топика, а не в попытках потролить ?


Я на пример СИ смотрю как на попытку потролить, ибо понятно, что в книге речь идёт про обычные таблицы.
9 мар 11, 13:05    [10342606]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
брадобрей
Member

Откуда:
Сообщений: 4696
обж
Статус Инвалидович,

Вы всем советуете использовать объектные таблицы?
Мне кажется любой нормальный человек, уже давно понял, что в Oracle это лучше не делать.

прыщавый йунец лезет спорить не зная что такое объектные таблицы.

думаю пора ввести причину бана "профнепригодность". как раз для таких случаев.

п.с.
SQL> select count(distinct table_name)
  2    from dba_tab_columns
  3   where data_type_owner is not null;
 
COUNT(DISTINCTTABLE_NAME)
-------------------------
                      498
9 мар 11, 13:30    [10342886]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
Объект Дататайпович
Guest
обж
Вы всем советуете использовать объектные таблицы?
Где я это советовал?
обж
Я на пример СИ смотрю как на попытку потролить, ибо понятно, что в книге речь идёт про обычные таблицы.
Дай определение "обычной таблицы", плиз...
9 мар 11, 14:02    [10343201]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
обж
Guest
Основанная на не на объектных типах.
9 мар 11, 14:11    [10343299]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
Статус Инвалидович
Guest
обж
Основанная на не на объектных типах.
То есть, AQ-таблица, секционированная IOT, external table - обычные?

P.S. Ты влез, чтобы абы чего ляпнуть?
9 мар 11, 14:33    [10343501]     Ответить | Цитировать Сообщить модератору
 Re: Какие объекты всегда имеют статус "valid"?  [new]
обж
Guest
Статус Инвалидович
обж
Основанная на не на объектных типах.
То есть, AQ-таблица, секционированная IOT, external table - обычные?

P.S. Ты влез, чтобы абы чего ляпнуть?


Да, эти тоже не совсем обычные.
9 мар 11, 14:52    [10343651]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить