1、将dmp文件导入数据库。
2、检查impdat.log,把所有含createtype的sql找出来并整理脚本,将含OID=‘XXXXXXXXXXXXX’删除,再用test登录数据库,将这些type手工建一遍。
3、再用imp工具生成indexfile,此时不会再导入数据,但会生成一test.sql脚本。
4、整理test.sql,去掉REM注释及OID等,用test登录数据库,执行该脚本。
5、用imp工具将未导入的表重新导入一次。
最好用数据泵(impdp/expdp)吧,效率高点。如果你非要用这个,命令如下:
imp system/manager@TEST file=d:daochu.dmp
其中还有很多参数,如:
full,ignore,touser等。
如果你只需要导入数据的话上边的命令就够了。
在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: expdat.dmp >m.dmp 生成导出的文件名
(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:/daochu.dmp中
exp system/manager@TEST file=d:/daochu.dmp full=y
2)、 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:/daochu.dmp owner=(system,sys)
3) 、将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:/data/newsmgnt.dmp 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 8.1.6.0.0 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用户名: test
口令:****
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
导入文件: expdat.dmp>/tmp/m.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 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行被导入
成功终止导入 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)