我对oracle datapump有一个简单的问题。我有一个小的oracle数据库11gR2,它包含不同的模式(超过8个)。我想将此数据库移动到新服务器,我正在尝试使用impdp / expdp方法。我在系统用户下完成了数据库的完全导出。新服务器也运行11gR2。 现在,如果在新服务器上创建具有相同表空间的新数据库,我可以使用完全导入。这是推荐的方法吗? 我知道我可以在模式方面做到这一点,但是它要求我先创建角色和其他支持对象,并确定哪些模式实际上有对象。
答案 0 :(得分:0)
我认为没有“推荐”这样的方法。您也可以问一下将“推荐”数据放入Oracle数据库中的含义。这取决于你的需求。
我过去使用“完整”导入/导出的唯一问题是,导出还包括SYSTEM(和其他默认的Oracle模式),您真的不想覆盖新数据库。 (实际上,这曾经导致我使用旧的imp / exp命令出现一些问题 - 但理论上它与Data Pump的问题相同)。
幸运的是,Data Pump允许您从导出中排除某些对象。当我进行完全导出时,我倾向于在db-creation时排除已在新数据库中创建的所有模式。在参数文件中包含以下内容:
EXCLUDE=SCHEMA:" IN ('SYS','SYSTEM','WMSYS','OUTLN','MGMT_VIEW','XDB','ANONYMOUS','SYSMAN','ORDSYS','ORDSYS','ORDPLUGINS','SI_INFORMTN_SCHEMA','MDSYS','EXFSYS','DBSNMP','DMSYS','CTXSYS','DIP','TSMSYS','ORACLE_OCM')"