Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 8i中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
导出工具 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 > 回车 & nbsp; 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 wner=(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"打头的数据导出
expsystem/manager@TEST
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。file=d:\daochu.dmp tables=(table1) query=\" where filed1 like ''00%''\"
导入工具 imp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中。
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。