oracle备份 数据库 分为:全部备份,按表空间 备份, 按用户备份。
还原时 也同一行 有这三种方式。那么 怎么才能成功的还原数据看呢?
先说一下 备份命令:
expdp 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] 按表空间备份;-----不常用
1、三种模式用到的情况 和 优缺点对比:
全备份:
优点:当数据库 数据不多时,适合全部备份 。还原时 表空间 、用户也会自动创建。很方便还原。
缺点:数据多时很慢 容易卡死。
按用户备份:
有点:数据库数据很多,只按照当前用户备份,很快。
缺点:需要手动创建用到的 用户 、表空间。
按表空间备份:
优点:如果那个表空间 损坏,或者没还原成功,可以单独备份还原。
缺点:没针对用户,可能很多垃圾数据。
2、用户,表空间的关系:
用户 :用来区分 数据库域。 每个用户下的域,可以加你自己的表,表名可以重名。
表空间:存储数据的区域,不管是谁建的,都按字节存起来。
【们看得出来,用户就相当于 MSServer 和mysql中的实例。每个实例都可以建自己的表,互不影响,不会出现重名不能创建。 】
3、三种模式 的还原
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 路径就可以用了。