2013-05-09 75 views
1

我们试图通过使用物化视图将数据从一个模式迁移到另一个模式。我设置的过程中目前的工作方式如下:具有独立表空间索引的物化视图

  • 创建快照/物化视图日志:

    创建OLDSCHEMA.table快照日志;

  • 创建物化视图的新模式:

    创建快照表的SELECT * FROM [email protected]

  • 刷新物化视图

  • 断开链接,保存表

由于历史原因,索引保存在单独的表空间中,我们希望在新的模式上保持相同的结构(我意识到这没有性能优势,我们这样做是为了保持一致)。我明白,我可以在事后改变主键实现这一点:

alter index PK_IDX rebuild online tablespace IDX_TABLESPACE 

但有可能在创建快照的时间内完成这可避免移动呢?我希望create snapshot命令的一些附加子句影响主键的生成位置。

感谢

+0

如果你打破了链接并保存表格为什么你首先使用MV? (使用create as select .... no?!?) – haki 2013-05-10 07:03:09

+0

由于原始表在复制后仍会更新为/,因此我们希望依靠快速刷新轻松引入这些更改。一旦我们确认所有数据在那里,链接就会被破坏,原始模式在最后被设置为只读,这将最大限度地减少停机时间。 – 2013-05-10 12:59:36

+0

您是否尝试过使用['using index tablespace x' clause](http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm#i2116399)?尽管我认为它只适用于内部索引。 – haki 2013-05-10 14:09:18

回答