2025-01-07
Oracle11g 把SYSTEM 下的用户表导出用什么方法?

Oracle11g,用户把业务表都见到SYSTEM下了,数据库大小60G,怎么把SYSTEM下的用户表导入到其他schema下?尝试用expdp和impdp,但是导入时提示无法重新映射 system,各位大佬有其他好方法吗?
我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
回答交流
Markdown
请输入正文
提交
Oracle11g,用户把业务表都见到SYSTEM下了,数据库大小60G,怎么把SYSTEM下的用户表导入到其他schema下?尝试用expdp和impdp,但是导入时提示无法重新映射 system,各位大佬有其他好方法吗?
exclude=TABLE:" IN (select table_name from dba_tables where table_name in ('') and owner='')"
直接把这些表move到新的表空间,然后重建索引
三点疑问:如果这些表建在 system 表空间下,那他用的什么用户呢?难道不是业务用户吗?如果是业务用户那么为何还要换到其他 schema 下?
如果要换 schema,那么就是前面老兄说的导出你这些业务表,要停止业务的,或者直接 expdp … tables=你的业务表
然后新建用户和表空间 remap 导入是没有问题的。
如果还是原来的业务用户建错了默认表空间的话,那可以直接 move 表到新的表空间,重建索引,编译其他无效对象,对业务影响小一些,就是麻烦点。