Sql 在Oracle中,为什么删除表分区时公共同义词变得无效

Sql 在Oracle中,为什么删除表分区时公共同义词变得无效,sql,oracle,database-partitioning,synonym,Sql,Oracle,Database Partitioning,Synonym,有人能告诉我为什么会发生以下行为(Oracle 10.2): 删除分区后,同义词变得无效,我不知道为什么 谢谢你的建议。在11.1.0.6中没有 这可能是一个已经修复的bug。它可能是必需的(例如,基于同义词重新验证视图…),但使用了改进的技术。我已使用Oracle 10.2对其进行了测试,该同义词确实无效,但当其他用户通过 从零件测试中选择计数(*) Oracle会自动编译同义词,同义词将变为有效 包、过程和函数也是如此。当您执行它们并且它们无效时,Oracle将尝试自动编译它们 我本想接受这

有人能告诉我为什么会发生以下行为(Oracle 10.2):

删除分区后,同义词变得无效,我不知道为什么

谢谢你的建议。

在11.1.0.6中没有
这可能是一个已经修复的bug。它可能是必需的(例如,基于同义词重新验证视图…),但使用了改进的技术。

我已使用Oracle 10.2对其进行了测试,该同义词确实无效,但当其他用户通过

从零件测试中选择计数(*)

Oracle会自动编译同义词,同义词将变为有效


包、过程和函数也是如此。当您执行它们并且它们无效时,Oracle将尝试自动编译它们

我本想接受这个答案,但我只能接受一个,所以我会选择与我的Oracle版本相关的答案。塔加里。
SQL> create table part_test (
        i int primary key,
        d date
)
partition by range (d) (partition part_test_1 values less than (to_date('  2    3    4    5  1980-01-01', 'yyyy-mm-dd')));

create public synonym part_test for part_test;

select object_name, object_type, status from all_objects where object_name = 'PART_TEST';

alter table part_test add partition part_test_2 values less than (to_date('1981-01-01', 'yyyy-mm-dd'));

select object_name, object_type, status from all_objects where object_name = 'PART_TEST';

alter table part_test drop partition part_test_1;

select object_name, object_type, status from all_objects where object_name = 'PART_TEST';

drop public synonym part_test;
drop table part_test;

Table created.

SQL> SQL> 
Synonym created.

SQL> SQL> 
OBJECT_NAME                    OBJECT_TYPE         STATUS
------------------------------ ------------------- -------
PART_TEST                      TABLE               VALID
PART_TEST                      TABLE PARTITION     VALID
PART_TEST                      SYNONYM             VALID

SQL> SQL> 
Table altered.

SQL> SQL> 
OBJECT_NAME                    OBJECT_TYPE         STATUS
------------------------------ ------------------- -------
PART_TEST                      TABLE               VALID
PART_TEST                      TABLE PARTITION     VALID
PART_TEST                      TABLE PARTITION     VALID
PART_TEST                      SYNONYM             VALID

SQL> SQL> 
Table altered.

SQL> SQL> 
OBJECT_NAME                    OBJECT_TYPE         STATUS
------------------------------ ------------------- -------
PART_TEST                      TABLE               VALID
PART_TEST                      TABLE PARTITION     VALID
PART_TEST                      SYNONYM             INVALID

SQL> SQL> 
Synonym dropped.

SQL> 
Table dropped.

SQL>