oracle 的exp/imp命令用于实现对数据库的导出/导入操作;
exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;
imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。
数据导出:
通过输入 EXP 命令和用户名/口令,您可以 后接用户名/口令的命令:
例程: EXP SCOTT/TIGER 或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”
按照不同参数。要指定参数,您可以使用关键字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,…,valueN)
例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
例子
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 将数据库中的表table1 、table2导出
代码如下 | 复制代码 |
exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2) |
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
代码如下 | 复制代码 |
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'" |
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩, 不过在上面命令后面 加上 compress=y 就可以了
数据的导入
例程: IMP SCOTT/TIGER 或者, 可以通过输入 IMP 命令和各种参数来控制“导入”
按照不同参数。要指定参数,您可以使用关键字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,…,vlaueN)
例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
代码如下 | 复制代码 |
imp system/manager@TEST file=d:daochu.dmp |
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
代码如下 | 复制代码 |
imp system/manager@TEST file=d:daochu.dmp tables=(table1) |
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入