Oracle10g 如何将表从一个模式备份到另一个模式
场景:我想将一个模式表备份到同一数据库中的另一个模式 现有设计:删除备份表上的索引并截断数据,最后将数据加载到备份表中(Usign insert query) 要求:现有设计需要更多的时间来处理。请告诉我有没有其他方法可以达到这个目的Oracle10g 如何将表从一个模式备份到另一个模式,oracle10g,Oracle10g,场景:我想将一个模式表备份到同一数据库中的另一个模式 现有设计:删除备份表上的索引并截断数据,最后将数据加载到备份表中(Usign insert query) 要求:现有设计需要更多的时间来处理。请告诉我有没有其他方法可以达到这个目的 谢谢。如果你有大量的数据,并且你已经在做一些“显而易见的”事情来让它快速运行(直接路径插入,主要是并行,nologging,如果你能负担得起的话),那么坚持使用SQL可能就没什么可做的了 您可以尝试使用带有remap\u schema选项的数据泵模式导出/导入。这
谢谢。如果你有大量的数据,并且你已经在做一些“显而易见的”事情来让它快速运行(直接路径插入,主要是并行,
nologging
,如果你能负担得起的话),那么坚持使用SQL可能就没什么可做的了
您可以尝试使用带有remap\u schema
选项的数据泵模式导出/导入。这一进程将是:
- 使用
(在模式下)导出源架构expdp
- 删除目标架构并重新创建它(空)
- 使用
和impdp
选项导入转储(请参阅)remap_schema=source:target
table\u exists\u action=replace
——可能会更快,如果目标架构有其他对象,肯定会更好(请参阅)
如果您想留在“数据库”中实现自动化,那么数据泵有一个API:。您必须使用SQL代码来实现这一点吗?你们能把备份和还原表放到另一个模式中吗?是的,我想用PLSQL代码来实现这个。你们可以通过前面提到的方法使用表分区,你们在新模式中使用现有表创建分区,表结构,然后交换分区。我忘了在我现有的设计中添加这一点。表分区就在那个里。因此,请建议如何提高性能