我正在使用 Oracle 数据泵来执行模式“重命名”。所有 (2000) 表上都有一个主键列。例如,我需要在所有表上运行它:
更新 mytable set mykey='foo2' where mykey='foo';
我会使用 expdp 的 remap_data 选项来执行此操作。问题是我需要对 10+ 列进行重命名。有没有人遇到过这样的问题并找到了解决方法?
以前,我曾尝试使用“创建表为”。问题是必须为所有表(视图/触发器/授权/索引/约束)重新创建模式结构。我知道 DBMS_METADATA.GET_DDL 包。顺便说一下,在前后对数据库模式进行差异并重新创建差异似乎很难看。
我也尝试过在没有任何约束或索引的情况下对表进行插入,因此我只需要重新启用约束并重新创建索引,但我想尝试更快的方法。
我正在使用 Oracle 11.2.0.3.0。