在Oracle中使用exp和imp导出,导入dmp数据库文件:
一,oracle数据库导出工具 exp:
1 它是一个可执行的文件 存放目录/ORACLE_HOME/bin
exp导出工具将数据库中数据备份压缩成一个二进制系统文件 它有三种模式:
a 用户模式:导出用户所有对象以及对象中的数据;
b 表模式: 导出用户所有表或者指定的表;
c 整个数据库: 导出数据库中所有对象。
2 导出工具exp交互式命令行方式的使用的例子
$exp test/test123@appd
Enter array fetch buffer size: 4096 > 回车
Export file: expdatdmp > mdmp 生成导出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回车wQeLin
Compress extents (yes/no): yes > 回车
Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specified tables via Conventional Path wQeLinux联盟
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要导出的表名
exporting table CMAMENU 4336 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名n
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车
Export terminated successfully without warnings
3 导出工具exp非交互式命令行方式的例子
1)、 将数据库TEST完全导出,用户名system 密码manager 导出到D:/daochudmp中
exp system/manager@TEST file=d:/daochudmp full=y
2)、 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:/daochudmp owner=(system,sys)
3) 、将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:/data/newsmgntdmp tables=(inner_notify,notify_staff_relat)
4)、 将数据库中的表table1中的字段filed1以"00"打头的数据导出
二,oracle数据库导入工具 imp:
1 它是 *** 作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中
它有三种模式:
a 用户模式: 导出用户所有对象以及对象中的数据;
b 表模式: 导出用户所有表或者指定的表;
c 整个数据库: 导出数据库中所有对象。
2导入工具imp交互式命令行方式的例子
$ imp
Import: Release 81600 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation All rights reserved
用户名: test
口令:
连接到: Oracle8i Enterprise Edition Release 81600 - 64bit Production
With the Partitioning option
JServer Release 81600 - Production
导入文件: expdatdmp> /tmp/mdmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V080106创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入文件的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
正在将TEST的对象导入到 SCOTT
正在导入表 "CMAMENU" 4336行被导入
成功终止导入,但出现警告。
Oracle数据库导入时遭遇IMP-00085,原来是FULL/Y对决
Oracle数据库导入时遭遇IMP-00085,原来是FULL/Y与 FROMUSER/TOUSER对决
问题:帮忙数据库从一个环境迁移到另一个环境
导出:exp username/password@OracleID File=Oracledmp,正确导出,拿到别的地方去导入
导入:imp username/password@OracleID File=Oracledmp FULL/Y 时报
IMP-00085:指定的多个输入文件为无界导出文件 IMP-00000:为成功终止导入
*** 作步骤及问题有
1、imp username/password@OracleID File=Oracledmp
数据库的用户username居然设置为了DBA权限,晕倒。因此在导入到对应的数据库时也需要授予DBA权限,如果没有授予DBA权限则会报错
IMP-00013: 只有 DBA 才能导入由其它 DBA 导出的文件
IMP-00000: 未成功终止导入
2、imp username/password@OracleID File=Oracledmp
在目标数据库将要导入的用户也授予DBA权限后,则报告错误
IMP-00031: 必须指定 FULL=Y 或提供 FROMUSER/TOUSER 或 TABLES 参数IMP-00000: 未成功终止导入
3、imp username/password@OracleID File=Oracledmp FULL/Y
导入时加上FULL/Y参数
IMP-00085: 指定的多个输入文件为无界导出文件IMP-00000: 未成功终止导入
4、imp username/password@OracleID File=Oracledmp FromUser=username ToUser=username
根据2的提示,将 ULL/Y参数 换成 FROMUSER/TOUSER 的方式后,可以正确导入
总结:
1、如果没有其它需要,普通用户没有必要授予为DBA权限
2、导入导出时还真的得注意提示信息,呵呵:)
要导入到数据库,肯定前提条件是你有登录这个数据库的权限啊。
非要在命令里写上ip么?
在oracle路径下的tnsnamesora文件里配置的不就是数据库的连接串么,上边不就有ip地址。
在使用imp时,直接使用数据库的连接串就是了。
以上就是关于如何在Oracle中使用exp和imp导出,导入dmp数据库文件全部的内容,包括:如何在Oracle中使用exp和imp导出,导入dmp数据库文件、oracle数据库imp导入失败,错误imp-00085、oracle数据库用imp命令导入数据库时报1659的错误,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)