1、导出(exp)和导入(imp)实用程序:Oracle 数据库之间传送数据对象,即使这些数据库位于具有不同硬件和软件 配置的平台上。
对Oracle 数据库运行导出实用程序时,该实用程序可导出整个数据库(不包括SYS用户数据)、用户、表、表空间。
提取出的数据写入一个导出文件中,该文件是一个Oracle 二进制格式的转储文件,且通常位于磁盘或磁带上。
导入实用程序从导出转储文件中读取对象定义和表数据。它用于将数据对象插入Oracle数据库。
EXP作用:
1):备份-保存历史数据
2):在计算机和数据库之间,或在不同版本的Oracle服务器之间移动数据-迁移数据库
二、导出模式
2.1)表模式
表模式可以导出用户方案中的指定的表,而不是导出所有表。已授权的用户可以导出其他用户所拥有的指定的表。
2.2)用户模式
用户模式可以导出某个用户方案的所有对象。已授权的用户可以导出一组指定用户的方案中的所有对象。此模式可用于执行完全数据库导出。
2.3)表空间模式
表空间模式可用于导出指定表空间中的所有表。
2.4)完全数据库模式
完全数据库模式可以导出所有数据库对象,SYS 方案中的对象除外。
查看exp的参数:exp help=y
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
三、exp的用法:
3.1导出工具exp交互式命令方式
3.1.1 导出数据库
3.1.2 导出用户
3.1.3 导出表
交互式导出weisi用户的数据库表
3.2导出工具exp非交互式命令行方式
3.2.1 全库导出
exp \"/ as sysdba\" full=y file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_exp_20160331.log
3.2.2 用户导出
exp \"sys/oracle as sysdba\" owner=weisi file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_exp_20160331.log
3.2.3 表导出
exp \"sys/oracle as sysdba\" tables=weisi.BIG_RMAN_T file=/opt/soft/weisi_exp__t20160331.dump log=/opt/soft/weisi_exp_t20160331.log
3.2.4 表空间导出
exp \"sys/oracle as sysdba\" tablespaces=RMAN_TABLESPACE_TEST file=/opt/soft/weisi_exp_tbs_t20160331.dump log=/opt/soft/weisi_exp_tbs_20160331.log
3.2.5 QUERY参数
QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和SELECT中相同.
exp \"sys/oracle as sysdba\" tables=weisi.BIG_RMAN_T query="'where object_id < 3000'"file=/opt/soft/weisi_exp__t20160331.dump log=/opt/soft/weisi_exp_t20160331.log
3.2.6 FILESIZE设置导出的数据文件的大小
exp \"sys/oracle as sysdba\" full=y file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_exp_20160331.log filesize=50M
4、imp用法
具有三种模式(完全、用户、表)
1、完全:
2、用户模式:
3、表模式:
4.1 导入用户
imp \"/ as sysdba\" fromuser=weisi touser=weisi file=/opt/soft/u_weisi_exp_20160331.dmp log=/opt/soft/u_weisi_imp_20160331.log
FROMUSER和TOUSER使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。
SQL> create user imp_test identified by imp_test;
grant connect ,resource to imp_test;
exp \"sys/oracle as sysdba\" owner=weisi file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_exp_20160331.log
imp \"sys/oracle as sysdba\" fromuser=weisi touser=weisi file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_imp_20160331.log
imp \"sys/oracle as sysdba\" fromuser=weisi touser=imp_test file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_imp_20160331.log
4.2 导入一个完整数据库
exp \"sys/oracle as sysdba\" full=y file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_exp_20160331.log
imp \"sys/oracle as sysdba\" file=/opt/soft/weisi_exp_20160331.dump log=/opt/soft/weisi_imp_20160331.log
4.3 导入一个表
exp \"sys/oracle as sysdba\" tables=weisi.BIG_RMAN_T file=/opt/soft/weisi_exp__t20160331.dump log=/opt/soft/weisi_exp_t20160331.log