在Oracle 11g中以事务方式交换两个表

时间:2013-12-11 01:15:00

标签: oracle oracle11g

我想在我的架构中以事务方式交换两个表。

我的想法是我有两个表具有相同的定义和不同的名称。一个表目前正在“使用中”,而另一个表是“暂存”。

每隔30分钟,临时表将被截断并加载一组新数据。此时,我想在事务上将“使用中”表与“临时”表交换,以便对“正在使用”表中的任何查询都没有停机时间。

Example:
myTable
myTable_staging

--truncate staging table
truncate myTable_staging;
--bulk load into staging table
insert into myTable_staging select bunch, of, data from someTable;

--transactionally swap the two tables
rename myTable to myTable_old, myTable_staging to myTable, myTable_old to myTable_staging;

任何人都可以在Oracle 11g中提出解决方案吗?

0 个答案:

没有答案