导入和导出(exp/imp命令)

使用导出实用程序导出数据时,可以根据需要按4种方式导出,分别是表方式、用户方式,表空间方式和全部数据库方式。在表方式下还可以按表分区导出数据。
1、表方式导出:一个或多个指定的表,包括表的定义、表数据、表的所有者授权、表索引、表约束,以及创建在该表上的触发器。也可以选择只导出结构,不导出数据。表方式还可以导出用户所拥有的全部表,琮可以指定要导出的表的分区。
2、用户方式导出:属于一个用户模式的所有对象以及对象中的数据。由用户建立的该对象的权限和索引也被导出。
3、表空间方式导出:包含在指定表空间中的所有对象,以及对象上的索引定义。
4、全部数据库方式导出
--导出整个数据库
C:\>exp system/bdqn@smyorcl file=fulldb.dmp full=y buffer=32768
--导出用户
C:\>exp scott/bdqn@smyorcl file=scott_back.dmp owner=scott
--导出表
C:\>exp scott/bdqn@smyorcl tables=(emp,dept) file=scott_bak_tab.dmp
--导出tbs_user01表空间
C:\>exp system/bdqn@smyorcl tablespaces=(tbs_user01) file=tbs_users.dmp
--导入数据库
C:\>imp system/bdqn@smyorcl file=fulldb.dmp ignore=y full=y
--导入表
C:\>imp system/bdqn@smyorcl file=scott_back.dmp fromuser=scott touser=ES_ADMIN2 tables=(emp,dept)
exp/imp与expdp/impdp命令在功能上的区别:
(1)把用户usera的对象导到用户userb
exp/imp用法:
fromuser=usera touser=userb;
expdp/impdp用法:
remap_schema='usera':'userb'
(2)更换表空间,用exp/imp的时候,要想更改表所在的表空间,需要手工去处理一下,如alter table xxx move tablespae tablespace_new之类的操作。用impdp只要用:
remap_tablespace='tablespace_old':'tablespace_new';
(3)当指定一些表的时候,exp/imp用法是:
tables=('table1','table2','table3')
expdp/impdp用法是:
tables='table1','table2','table3'
(4)是否要导出数据行
exp ROWS=y,导出数据行;ROWS=N,不导出数据行;
expdp content(ALL:对象+导出数据行,DATA_ONLY:只导出对象,METADATA_ONLY:只导出数据的记录)。
Oracle 10g提出的数据泵技术,在以下几个方面优于exp/imp命令。
1、效率较exp/imp有了一个量级的提升
2、数据泵技术在服务端操作
3、支持并行、过滤、转换、压缩、加密、交互等,这些功能都是传统导入/导出工具所不具备或者欠缺的

如上总结:

要对数据进行逻辑备份和恢复,除了可以使用Oracle命令之外,还可以使用PL/SQL Developer等工具进行数据的导入和导出。
事实上,有时使用工具,会比我们使用Oracle命令更方便。那么既然可以使用工具进行导入/导出,我们为什么还要学Oracle命令呢?
PL/SQL Developer等工具只是对Oracle命令的补充,但不能完全代替Oracle命令,如我们要在纯字符界面的Linux环境下进行导入导出操作,或是生产系统里不允许安装其他工具软件,此时,我们就必要使用Oracle命令了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值