Oracle备份的几种方式

Oracle备份的几种方式

这里使用Oracle 12C来大概演示说明一下rman的基本用法,这里不会深入讨论,因为本人也只是刚刚才接触,只是结合了网上的一些文章以及自己的实践来总结并拿出来大家学习,谢谢
目录

一、关于备份与恢复
二、逻辑备份(expdp和impdp)
三、物理备份
四、数据库日常备份计划及脚本参考

一、关于备份与恢复

1、备份定义

备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本

2、备份分类

从物理与逻辑的角度来分类:

从物理与逻辑的,备份可以分为物理备份和逻辑备份。
物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。

逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库的逻辑备份。

从数据库的备份角度分类: 从数据库的备份角度,备份可以分为完全备份和增量备份和差异备份
完全备份:每次对数据库进行完整备份,当发生数据丢失的灾难时,完全备份无需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最方便。
增量备份:只有那些在上次完全备份或增量备份后被修改的文件才会被备份。优点是备份数据量小,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较大。
差异备份:备份那些自从上次完全备份之后被修改过的文件。从差异备份中恢复数据的时间较短,因此只需要两份数据—最后一次完整备份和最后一次差异备份,缺点是每次备份需要的时间较长。

3、恢复定义

恢复就是发生故障后,利用已备份的数据文件或控制文件,重新建立一个完整的数据库

4、恢复分类

实例恢复:当oracle实例出现失败后,oracle自动进行的恢复
介质恢复:当存放数据库的介质出现故障时所作的恢复。介质恢复又分为完全恢复和不完全恢复
完全恢复:将数据库恢复到数据库失败时的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。
不完全恢复:将数据库恢复到数据库失败前的某一时刻的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。进行不完全恢复后,必须在启动数据库时用resetlogs选项重设联机重做日志。

二、逻辑备份(expdp和impdp)

1、expdp/impdp和exp/imp的区别

exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。
imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

主要讲解的是expdp/impdp的用法,不涉及到exp和imp

2、导出数据

在准备要备份的数据库服务器上创建备份目录(在后面使用sql命令创建的逻辑目录并不是在OS上创建目录,所以我们先要在服务器上创建一个目录)

su oracle
$ mkdir /home/oracle/oracle_bak

用管理员身份登录到sqlplus

$ sqlplys /nolog
SQL> conn sys/oracle as sysdba

创建逻辑目录

SQL> create directory data_dir as/home/oracle/oracle_bak’;

查看管理员目录是否存在

SQL> select * from dba_direcories;

使用管理员用户给指定的用户赋予在该目录的操作权限(比如该用户需要备份自己的数据)

SQL> grant read,write on directory data_dir to C##BAK_TEST_USER;

导出可有五种方式
1、“full=y”,全量导出数据库

$ expdp sys/oracle@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log

2、schemas按用户导出

$ expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

3、按表空间导出

$ expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

4、导出表

$ expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

5、按查询条件导出

$ expdp user/passwd@orcl tables=table1=where number=1234dumpfile=expdp
  • 17
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
当我们需要对Oracle数据库进行备份时,可以选择以下几种方式: 1. 数据库在线备份 Oracle数据库提供了在线备份的功能,可以在数据库运行时进行备份。在线备份有以下几种方式: - 数据库控制文件自动备份 - 数据库快照备份 - 数据库增量备份 - 数据库全量备份 2. 数据库离线备份 如果数据库无法在线备份,可以选择离线备份。离线备份需要关闭数据库,然后将数据库备份到磁盘或磁带。离线备份有以下几种方式: - 数据库全量备份 - 数据库增量备份 - 数据库归档日志备份 下面对这些备份方式进行详细说明: 1. 数据库在线备份 - 数据库控制文件自动备份 Oracle数据库会自动备份控制文件,以便在恢复数据库时使用。控制文件是Oracle数据库的元数据文件,其中包含了数据库的结构信息和数据字典等。控制文件自动备份的时间间隔可以通过修改数据库参数进行设置。 - 数据库快照备份 数据库快照备份Oracle数据库在线备份的一种方式,可以在数据库运行时进行备份,而不需要关闭数据库。使用RMAN工具可以创建快照备份。 - 数据库增量备份 数据库增量备份备份数据库发生变化的数据块,可以节约备份时间和存储空间。增量备份需要先进行一次全量备份,然后再进行增量备份。使用RMAN工具可以进行增量备份。 - 数据库全量备份 数据库全量备份备份整个数据库,可以恢复数据库备份时的状态。全量备份需要花费较长的时间和大量的存储空间。使用RMAN工具可以进行全量备份。 2. 数据库离线备份 - 数据库全量备份 数据库全量备份备份整个数据库,可以恢复数据库备份时的状态。全量备份需要关闭数据库,并将数据库备份到磁盘或磁带。全量备份需要花费较长的时间和大量的存储空间。 - 数据库增量备份 数据库增量备份备份数据库发生变化的数据块,可以节约备份时间和存储空间。增量备份需要先进行一次全量备份,然后再进行增量备份。使用RMAN工具可以进行增量备份。 - 数据库归档日志备份 数据库归档日志备份备份数据库中的归档日志,可以用于恢复数据库备份时的状态之后的数据。归档日志备份需要关闭数据库,并将归档日志备份到磁盘或磁带。 以上是Oracle数据库备份几种方式。需要根据实际情况选择适合的备份方式进行备份

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值