我有一个大型(多GB)的数据文件,是从Oracle表中导出的。我想将这些数据导入到另一个Oracle实例中,但我希望表名与原来的表名不同。这可行吗?怎么做?
导入和导出系统都是Oracle 11g。表中包含一个BLOB列,如果这有任何区别。
谢谢!
更新:
这里的想法是在尽可能减少使用它的系统的停机时间的同时更新表。解决方案(基于Vincent Malgrat的答案和APC的更新)是:
导入和导出系统都是Oracle 11g。表中包含一个BLOB列,如果这有任何区别。
谢谢!
更新:
这里的想法是在尽可能减少使用它的系统的停机时间的同时更新表。解决方案(基于Vincent Malgrat的答案和APC的更新)是:
- 假设我们的表名为
A
- 创建一个临时模式
TEMP_SCHEMA
- 将数据导入到
TEMP_SCHEMA.A
中 CREATE REAL_SCHEMA.B AS SELECT * FROM TEMP_SCHEMA.A
将DROP TABLE REAL_SCHEMA.A
REAL_SCHEMA.A
重命名为REAL_SCHEMA.A_OLD
- 将
REAL_SCHEMA.B
重命名为REAL_SCHEMA.A
DROP REAL_SCHEMA.A_OLD
这样,停机时间只会出现在步骤4和5中,两者都应该与数据大小无关。如果这种方法不起作用,我会在这里发布更新 :-)
REAL_SCHEMA.A
重命名为其他名称,然后在第7步慢慢删除它来最小化停机时间。 - APC