随笔 - 237  文章 - 0  评论 - 7  阅读 - 21万

Oracle的EXP、IMP命令导入导出数据

EXP:
①全库备份
exp system/123456@prod full=y file=~/backup/database.dmp log=~/backup/database.log buffer=80960000 —不包括sys用户 即数据字典没有导出
如想导出sys和system用户对象和数据字典,则:
exp \’/ as sysdba\’ owner=sys file=sys.dmp buffer=80960000 —在服务器本地导出sys

②用户备份
exp system/123456@prod owner=tom file=tom.dmp buffer=80960000
exp \’/ as sysdba\’ owner=tom file=tom.dmp buffer=80960000

③表备份
exp tom/tom@prod tables=mail,class file=mc.dmp buffer=80960000

④表级别带where条件的数据导出
exp tom/tom@prod tables=mail query=\”where id>\500\” file=mail500.dmp buffer=80960000 ——linux平台
exp tom/tom@prod tables=mail query=’where id”>”500’ file=mail500.dmp buffer=80960000 —–windows平台

IMP:
向下兼容—–全库数据>用户>表>where条件的表 > 大于号 映射含义:包含的意思

①全库导入
imp system/123456@prod full=y file=database.bmp log=data.log buffer=80960000 ignore=y 注意不要造成数据重复 system用户下的表不会被数据重复,只需注意手动建成的用户的数据

②利用全库备份导入一个用户
imp system/123456@prod fromuser=tom touser=tom file=database.dmp log=data.log buffer=80960000 ignore=y
提前建好tom用户和分配权限
imp system/123456@prod fromuser=tom touser=jerry file=database.dmp log=data.log buffer=80960000 ignore=y
利用全库备份导入某一个表
imp system/123456@prod fromuser=tom touser=jerry tables=mail file=database.dmp log=database.log buffer=80960000 ignore=y
— 全备导入tom用户下的mail表到jerry用户下

③利用用户备份—-导入用户数据
imp jerry/jerry@prod file=jerry.dmp buffer=80960000 ignore=y;
前提用户存在,权限够—导入整个用户

imp jerry/jerry@prod tables=mail,c file=jerry.dmp buffer=80960000 ignore=y;
—导入特定的表

④利用where条件导出的数据导入
imp jerry/jerry@prod tables=mail file=m500.dmp buffer=80960000 ignore=y;
—-直接导入where筛选出来的行数

补充:
1.提高导入导出速度
exp/imp导入导出加速—可加选项 direct=y (直接路径导出) 或者设置buffer size的大小 buffer=2000000 (数据缓冲)

2.数据库对象有主外键约束
这发生在将几个包含表的DMP文件分别导入数据库时,不符合主外键约束, 数据便会导入失败;解决办法: 先导入主表, 再导入依存表;disable目标导入对象的主外键约束, 导入数据后, 再enable它们
————————————————
版权声明:本文为CSDN博主「Breath_wang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014257861/article/details/80227606

posted on   洞幺人生  阅读(1096)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示