把dmp文件导入oracle中

本文介绍如何通过创建表空间并使用imp命令来实现Oracle数据库的数据迁移。包括新建数据库、配置表空间及导入特定用户数据的方法。

 首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用imp命令导入数据:
imp username/password@SID file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX)
其中,fromuser若为多个表空间的话,使用()将其括起来:fromuser=(a,b);
touser参数仿fromuser参数;
若只导入一部分表,使用tables参数,用()括起要导入的表;如果想全部导入,不需要指定tables参数

补充:
1.要新建一个数据库;
2.若你的oracle安装在Unix/Linux上,直接在shell中使用imp;如果你的oracle安装在Windows上,随便在哪里开启一个CMD窗口就可以执行imp;
3.username/password指的是你的数据库的登录用户名和密码;
4.fromuser指对方数据库用户名,touser指你的数据库的用户名;
5.使用oracle的管理端在“表空间”中即可创建;
6.要导入所有的表最方便,不用写tables参数就成,不需要知道对方的表名。 

 

转:http://blog.youkuaiyun.com/dddggg/archive/2007/01/25/1493577.aspx

### Oracle导入.dmp文件的方法或指南 在Oracle数据库中,导入 `.dmp` 文件可以通过两种主要工具完成:传统工具 `imp` 和数据泵工具 `impdp`。以下是详细的说明和操作指南: #### 1. 使用传统工具 `imp` 导入 `.dmp` 文件 `imp` 是较旧的工具,适用于 Oracle 10g 及以下版本。它支持基本的导入功能,但不具备并行处理、压缩等高级特性。 - **语法**: ```bash imp 用户名/密码@数据库连接字符串 file=文件路径 tables=(表名1,表名2,...) ignore=y log=日志文件路径 ``` - **示例**: ```bash imp bto_c2_nm/oss@orcl file=bto_c2_0903_tmp.dmp tables=categorydtl,seriesdtl ignore=y log=bto_c2_0903_tmp.log ``` 上述命令将 `.dmp` 文件中的指定表导入到目标数据库中,并忽略导入过程中可能存在的错误[^3]。 #### 2. 使用数据泵工具 `impdp` 导入 `.dmp` 文件 `impdp` 是 Oracle 数据泵的一部分,推荐用于 Oracle 10g 及以上版本。它提供了更强大的功能,例如并行处理、压缩和加密。 - **语法**: ```bash impdp 用户名/密码@数据库连接字符串 directory=目录对象 dumpfile=文件名.dmp logfile=日志文件名.log [其他参数] ``` - **示例**: ```bash impdp dbuser/123456@orcl directory=data_dir dumpfile=expdp.dmp logfile=import.log schemas=dbuser parallel=4 ``` 上述命令通过数据泵工具将 `.dmp` 文件中的数据导入到目标数据库中,同时利用并行处理以提高效率[^2]。 #### 3. 注意事项 - **目录对象**:在使用 `impdp` 时,必须先在数据库中创建一个目录对象,指向 `.dmp` 文件所在的物理路径。例如: ```sql CREATE OR REPLACE DIRECTORY data_dir AS '/path/to/dmp/files'; ``` - **用户权限**:确保执行导入操作的用户具有足够的权限,例如 `DATAPUMP_IMP_FULL_DATABASE` 或 `DATAPUMP_EXP_FULL_DATABASE`。 - **冲突处理**:如果目标数据库中已存在相同名称的对象,可以使用参数 `table_exists_action` 来定义行为(如 `replace` 或 `append`)[^4]。 - **性能优化**:对于大规模数据导入,建议启用并行处理(`parallel=n`)和压缩功能(`compression=all`)以提高效率。 #### 4. 常见问题及解决方法 - **索引卡住**:在导入过程中,如果遇到索引创建阶段停滞的问题,应检查日志文件是否有报错信息。如果没有报错,通常需要耐心等待。若问题持续,可以尝试分步导入(如先导入表数据,再单独导入索引)[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值