我正在为客户数据库恢复设置 Oracle 实例。
我们的绝大多数客户对其数据库使用相同的表空间名称,这导致我们每次恢复都需要一个单独的数据库实例。
有没有办法可以重新映射表空间名称,或者在单个 Oracle 安装中拥有多个同名的表空间?
例如,我们可以从 DMP 文件中获取 10 个客户使用的表空间名称“serverfault”并将其恢复为 serverfault1、serverfault2 等吗?
为每个单独的数据库恢复一个完整的 Oracle 实例是非常浪费的。
我知道如果用户名冲突,您可以执行 FROMUSER TOUSER,但还没有找到解决表空间冲突问题的方法。
答案1
数据泵可以在导入期间重新映射表空间,如 REMAP_TABLESPACE 参数所指定:重新映射表空间
不幸的是,您似乎使用了旧的导出/导入方法,该方法不提供此功能。