关于dblink访问分区表测试的问题?
oracle dblink 不能用分区查询参考:http://blog.sina.com.cn/s/blog_90474a920100zuyp.html
测试一步骤如下:
--数据库版本10.2.0.1
--把A库分区表 ic_jsdb 的P2013_1分区导入导入B库的分区ic_jsdb2013的分区表的P2013_1分区下
--A库下查询
select count(*) from ic_jsdb;
14829368
--A库查询P2013_1分区
select count(*) from ic_jsdb partition (P2013_1);
787283
--B库创建了同义词
create synonym sy_ic_jsdb for ic_jsdb@A_to_B;
select count(*) from sy_ic_jsdb partition (P2013_1);
14829368
######
测试二步骤如下:
SQL> select version from v$instance;
VERSION
-----------------
11.2.0.1.0
SQL> select db_link from user_db_links;
DB_LINK
--------------------------------------------------------------------------------
BUSINESS_TO_CNPCFETCH
SQL> create synonym c_ic_jsdb for ic_jsdb@business_to_cnpcfetch;
Synonym created.
SQL> select count(*) from c_ic_jsdb partition;
COUNT(*)
----------
14832032
SQL> select count(*) from c_ic_jsdb partition(P2013_1);
select count(*) from c_ic_jsdb partition(P2013_1)
*
ERROR at line 1:
ORA-14100: partition extended table name cannot refer to a remote object
什么两个版本的结果不一样,而且都不能成功呢?
我的步骤哪里有问题呢,请高人指点迷津!
这种操作oracle是不支持的。
通过在 远端 为 分区表一个视图 可以解决。
例:在远端
create view v_t_part_p2 as select count(*) a from t_part partition (p2);
然后在本地可以通过
SQL> select * from v_t_part_p2@link_2;
A
----------
99
实现
页:
[1]