Известно, что операции удаления и слияния партиций в партиционированной таблице переводят зависимые объекты в инвалидное состояние. Однако случайно наткнулся вот на
эту тему, где автор утверждает, что
tolik1234 |
В 10.2 … package остался валидным.
|
Просьба к тем, у кого прямо сейчас под рукой имеется 10.2: выполнить нижеследующий тест и выложить результаты.
SQL> select * from v$version where rownum = 1;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 – Production
SQL> create table part_test
2 (
3 part_col varchar2(10),
4 some_other_col varchar2(10)
5 )
6 partition by list (part_col)
7 (
8 partition P_1 values ('1'),
9 partition P_2 values ('2')
10 );
Таблица создана.
SQL> create or replace view v_part_test as
2 select * from part_test;
Представление создано.
SQL> create or replace package pkg_test as
2 g_SomeVar part_test%rowtype;
3 procedure SomeProc;
4 end;
5 /
Пакет создан.
SQL> create or replace package body pkg_test as
2
3 procedure SomeProc is
4 l_SomeVar part_test%rowtype;
5 begin
6 null;
7 end;
8
9 end;
10 /
Тело пакета создано.
SQL> column object_name format a40
SQL>
SQL> select o.object_name,
2 o.object_type,
3 o.status
4 from user_objects o
5 where o.object_name in ('V_PART_TEST', 'PKG_TEST');
OBJECT_NAME OBJECT_TYPE STATUS
---------------------------------------- ------------------ -------
PKG_TEST PACKAGE VALID
PKG_TEST PACKAGE BODY VALID
V_PART_TEST VIEW VALID
SQL> alter table part_test drop partition p_1;
Таблица изменена.
SQL> select o.object_name,
2 o.object_type,
3 o.status
4 from user_objects o
5 where o.object_name in ('V_PART_TEST', 'PKG_TEST');
OBJECT_NAME OBJECT_TYPE STATUS
---------------------------------------- ------------------ -------
PKG_TEST PACKAGE INVALID
PKG_TEST PACKAGE BODY INVALID
V_PART_TEST VIEW INVALID
SQL>
Спасибо заранее.