oracle备份 数据库 分为:所有备份,按表空间 备份, 按用户备份。mysql
还原时 也同一行 有这三种方式。那么 怎么才能成功的还原数据看呢? sql
先说一下 备份命令:数据库
expdp sys/password@ORCL DIRECTORY=dmpdir DUMPFILE=20170731.dmp [SCHEMAS=xxx_username][full=y] [tablespace = XXX_TABLE_SPACE]
[SCHEMAS=xxx_username] 按照用户 备份; ----经常使用oracle
[full=y] 全备份;----经常使用spa
[tablespace = XXX_TABLE_SPACE] 按表空间备份;-----不经常使用code
一、三种模式用到的状况 和 优缺点对比:字符串
全备份:table
优势:当数据库 数据很少时,适合所有备份 。还原时 表空间 、用户也会自动建立。很方便还原。im
缺点:数据多时很慢 容易卡死。数据
按用户备份:
有点:数据库数据不少,只按照当前用户备份,很快。
缺点:须要手动建立用到的 用户 、表空间。
按表空间备份:
优势:若是那个表空间 损坏,或者没还原成功,能够单独备份还原。
缺点:没针对用户,可能不少垃圾数据。
二、用户,表空间的关系:
用户 :用来区分 数据库域。 每一个用户下的域,能够加你本身的表,表名能够重名。
表空间:存储数据的区域,无论是谁建的,都按字节存起来。
【们看得出来,用户就至关于 MSServer 和mysql中的实例。每一个实例均可以建本身的表,互不影响,不会出现重名不能建立。 】
三、三种模式 的还原
impdp sys/password@ORCL DIRECTORY=dmpdir DUMPFILE=20170731.dmp [SCHEMAS=xxx_username][full=y] [tablespace = XXX_TABLE_SPACE]
[SCHEMAS=xxx_username] 按照用户 备份; ----经常使用
[full=y] 全备份;----经常使用
[tablespace = XXX_TABLE_SPACE] 按表空间备份;-----不经常使用
全备份: 必须建立 备份数据库的 表空间文件 路径, 空间才能自动 建立 还原。
按用户备份: 必须把用户、表空间 所有建好。
按表空间备份: 创建 表空间便可。
若是还原报错,请分析错误,而后具体来解决。。。。祝你成功!~~~~~*\ ^_^ /*~~~
======================
顺便说说 DIRECTORY:
DIRECTORY 为oracle声明的路径,它不会帮你建立这个路径,只是存了一个字符串, 若是你建立这个DIRECTORY,请把 这个路径的 每一级文件夹都建好,DIRECTORY 路径就能够用了。