问题描述
嗨,
我确实有2个表来交换分区。
1) temp_tbl: 临时表,用于保存使用插入追加更新的数据。
2) final_tbl: 带有一个分区 “abc”
但是,当我运行该命令时,它第一次起作用,但是我再次运行,来自temp_tbl的数据不会交换到final_tbl。我试图在运行exchange分区命令之前截断表final_tbl,它仍然不会从temp_tbl交换到final_tbl的内容。经过多次运行,我意识到源表temp_tbl的数据消失了!
更改表final_tbl
交换分区abc
使用表temp_tbl
未经验证;
对此有什么想法吗?
感谢您的建议。
谢谢。
我确实有2个表来交换分区。
1) temp_tbl: 临时表,用于保存使用插入追加更新的数据。
2) final_tbl: 带有一个分区 “abc”
但是,当我运行该命令时,它第一次起作用,但是我再次运行,来自temp_tbl的数据不会交换到final_tbl。我试图在运行exchange分区命令之前截断表final_tbl,它仍然不会从temp_tbl交换到final_tbl的内容。经过多次运行,我意识到源表temp_tbl的数据消失了!
更改表final_tbl
交换分区abc
使用表temp_tbl
未经验证;
对此有什么想法吗?
感谢您的建议。
谢谢。
专家解答
你需要给我们一个可复制的测试用例,因为我从未见过。
SQL> create table final_table
2 ( x int, y int )
3 partition by list (x)
4 (
5 partition p1 values (0),
6 partition p2 values (1)
7 );
Table created.
SQL>
SQL> insert into final_table select 0,rownum from dual connect by level <= 10;
10 rows created.
SQL> insert into final_table select 1,rownum from dual connect by level <= 20;
20 rows created.
SQL>
SQL> create table temp_tbl ( x int, y int) ;
Table created.
SQL> insert into temp_tbl select 0 x, rownum y from dual connect by level <= 5;
5 rows created.
SQL>
SQL> select * from final_table partition ( p1 );
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
10 rows selected.
SQL> select * from temp_tbl;
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
5 rows selected.
SQL>
SQL> alter table final_table
2 exchange partition p1 with table temp_tbl;
Table altered.
SQL>
SQL> select * from final_table partition ( p1 );
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
5 rows selected.
SQL> select * from temp_tbl;
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
10 rows selected.
SQL>
SQL> alter table final_table
2 exchange partition p1 with table temp_tbl;
Table altered.
SQL>
SQL> select * from final_table partition ( p1 );
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
10 rows selected.
SQL> select * from temp_tbl;
X Y
---------- ----------
0 1
0 2
0 3
0 4
0 5
5 rows selected.
SQL>
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




