Paul Asked: 2009-06-20 10:53:10 +0800 CST2009-06-20 10:53:10 +0800 CST 2009-06-20 10:53:10 +0800 CST 如何从 dmp 文件恢复/导入 Oracle 数据库? 772 我最近收到了即将迁移的 Oracle 数据库的转储文件。我已经安装了Oracle 10g,现在我需要恢复原始数据库。 谁能给我一步一步的程序如何从*.dmp文件中恢复它? database oracle oracle10g oracle-11g 4 个回答 Voted Best Answer Ciaran De Buitlear 2009-06-20T11:06:59+08:002009-06-20T11:06:59+08:00 这取决于您要做什么,但一个简短的答案是: imp system/password@sid file=(filename) log=imp.log fromuser=(existing user) touser=(new user) 这里的最后 3 个:log, fromuser,touser是可选的。如果这没有帮助,您可能会提供有关您正在做什么的更多详细信息... Joe 2009-06-20T12:17:43+08:002009-06-20T12:17:43+08:00 这取决于从原始数据库完成的导出(转储)类型。Oracle 执行四种类型的导出(称为模式): 满的 用户 表 表空间 假设已完成完整导出,您将执行以下操作: SET ORACLE_SID=dbsid imp system/manager FULL=y FILE=database.dmp LOG=import.log STATISTICS=recalculate 话虽如此,您应该阅读有关 imp 的 Oracle 文档。 jswoods7 2009-08-07T19:53:42+08:002009-08-07T19:53:42+08:00 请记住,.dmp 文件可能意味着它是使用 exp 或 expdp 导出的。如果遇到任何问题,请运行 imp help=y 或 impdp help=y。 Alan Kendall 2014-11-12T17:38:41+08:002014-11-12T17:38:41+08:00 我通常只恢复我想要的模式: imp userid=SYSTEM/ART@cscdap1 fromuser=MDSBI touser=MDSBI grants=y indexes=y commit=y ignore=y buffer=10240000 file=MDSBI.dmp log=imp_MDSBI.log imp userid=SYSTEM/ART@cscdap1 fromuser=MDS_GRS touser=MDS_GRS grants=y indexes=y commit=y ignore=y buffer=10240000 file=MDS_GRS.dmp log=imp_MDS_GRS.log imp userid=SYSTEM/ART@cscdap1 fromuser=ODM touser=ODM grants=y indexes=y commit=y ignore=y buffer=10240000 file=ODM.dmp log=imp_ODM.log imp userid=SYSTEM/ART@cscdap1 fromuser=ODIWORK touser=ODIWORK grants=y indexes=y commit=y ignore=y buffer=10240000 file=ODIWORK.dmp log=imp_ODIWORK.log imp userid=SYSTEM/ART@cscdap1 fromuser=ODIMASTER touser=ODIMASTER grants=y indexes=y commit=y ignore=y buffer=10240000 file=ODIMASTER.dmp log=imp_ODIMASTER.log imp userid=SYSTEM/ART@cscdap1 fromuser=EPADMRT touser=EPADMRT grants=y indexes=y commit=y ignore=y buffer=10240000 file=EPADMRT.dmp log=imp_EPADMRT.log imp userid=SYSTEM/ART@cscdap1 fromuser=OEMUSER touser=OEMUSER grants=y indexes=y commit=y ignore=y buffer=10240000 file=OEMUSER.dmp log=imp_OEMUSER.log imp userid=SYSTEM/ART@cscdap1 fromuser=HERNA236 touser=HERNA236 grants=y indexes=y commit=y ignore=y buffer=10240000 file=HERNA236.dmp log=imp_HERNA236.log imp userid=SYSTEM/ART@cscdap1 fromuser=MAURYAKO touser=MAURYAKO grants=y indexes=y commit=y ignore=y buffer=10240000 file=MAURYAKO.dmp log=imp_MAURYAKO.log imp userid=SYSTEM/ART@cscdap1 fromuser=SAWANTRO touser=SAWANTRO grants=y indexes=y commit=y ignore=y buffer=10240000 file=SAWANTRO.dmp log=imp_SAWANTRO.log imp userid=SYSTEM/ART@cscdap1 fromuser=ABDERHOB touser=ABDERHOB grants=y indexes=y commit=y ignore=y buffer=10240000 file=ABDERHOB.dmp log=imp_ABDERHOB.log imp userid=SYSTEM/ART@cscdap1 fromuser=CHECK_DB touser=CHECK_DB grants=y indexes=y commit=y ignore=y buffer=10240000 file=CHECK_DB.dmp log=imp_CHECK_DB.log imp userid=SYSTEM/ART@cscdap1 fromuser=SABATAJA touser=SABATAJA grants=y indexes=y commit=y ignore=y buffer=10240000 file=SABATAJA.dmp log=imp_SABATAJA.log
这取决于您要做什么,但一个简短的答案是:
这里的最后 3 个:
log
,fromuser
,touser
是可选的。如果这没有帮助,您可能会提供有关您正在做什么的更多详细信息...这取决于从原始数据库完成的导出(转储)类型。Oracle 执行四种类型的导出(称为模式):
假设已完成完整导出,您将执行以下操作:
话虽如此,您应该阅读有关 imp 的 Oracle 文档。
请记住,.dmp 文件可能意味着它是使用 exp 或 expdp 导出的。如果遇到任何问题,请运行 imp help=y 或 impdp help=y。
我通常只恢复我想要的模式: