设为首页 收藏本站
查看: 572|回复: 0

[经验分享] oracle热备份和冷备份

[复制链接]

尚未签到

发表于 2016-7-24 11:22:08 | 显示全部楼层 |阅读模式

  • 一、冷备份介绍:    
  •    冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。,冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份。它的优缺点如下所示:    
  • 1、优点:    
  •         <1>只需拷贝文件即可,是非常快速的备份方法。    
  •         <2>只需将文件再拷贝回去,就可以恢复到某一时间点上。    
  •         <3>与数据库归档的模式相结合可以使数据库很好地恢复。    
  •         <4>维护量较少,但安全性确相对较高。    
  • 2、缺点:    
  •         <1>在进行数据库冷备份的过程中数据库必须处于关闭状态。    
  •    <2>单独使用冷备份时,数据库只能完成基于某一时间点上的恢复。    
  •         <3>若磁盘空间有限,冷备份只能将备份数据拷贝到磁带等其他外部存储上,速度会更慢。    
  •         <4>冷备份不能按表或按用户恢复。    
  • 3、具体备份步骤如下:    
  •         <1>以DBA用户或特权用户登录,查询动态性能视图v$datafile、v$controlfile可以分别列出数据库的数据文件以及控制文件。    
  •   
  • SQL&gt; select name from v$datafile;    
  • NAME    
  • --------------------------------------------------------------------------------    
  • /u02/oradata/db01/system01.dbf    
  • /u02/oradata/db01/undotbs01.dbf    
  • /u02/oradata/db01/sysaux01.dbf    
  • /u02/oradata/db01/users01.dbf    
  • SQL&gt; select name from v$controlfile;    
  • NAME    
  • --------------------------------------------------------------------------------    
  • /u02/oradata/db01/control01.ctl    
  • /u02/oradata/db01/control02.ctl    
  • /u02/oradata/db01/control03.ctl    
  • /u01/app/oracle/bak/control04.ctl    
  • <2>以DBA用户或特权用户关闭数据库。    
  • SQL&gt; conn /  as sysdba;    
  • Connected.    
  • SQL&gt; shutdown normal    
  • Database closed.    
  • Database dismounted.    
  • ORACLE instance shut down.    
  • <3>复制数据文件,复制时应该将文件复制到单独的一个硬盘或者磁盘上。控制文件是相互镜像的,因此只需复制一个控制文件即可。    
  • cp /u02/oradata/db01/*.dbf  /u01/app/oracle/bak    
  • cp /u02/oradata/db01/*.ctl  /u01/app/oracle/bak    
  • <4>启动例程打开数据库。    
  • SQL&gt; conn / as sysdba;    
  • Connected to an idle instance.    
  • SQL&gt; startup    
  • ORACLE instance started.    
  • Total System Global Area  285212672 bytes    
  • Fixed Size                  1218992 bytes    
  • Variable Size              83887696 bytes    
  • Database Buffers          197132288 bytes    
  • Redo Buffers                2973696 bytes    
  • Database mounted.    
  • Database opened.    
  • SQL&gt;    
  •   
  • 二、热备份:    
  •    热备份是在数据库运行的情况下,采用archive log mode方式备份数据库的方法。热备份要求数据库处于archive log模式下操作,并需要大量的档案空间。一旦数据库处于archive loh    
  • 模式,就可以进行备份了,当执行备份时,只能在数据文件级或表空间进行。    
  • 1、优点:    
  •           <1>可在表空间或数据文件级备份,备份时间短。    
  • <2>可达到秒级恢复(恢复到某一时间点上)。    
  •           <3>可对几乎所有数据库实体作恢复。    
  •           <4>恢复是快速的,在大多数情况下在数据库仍工作时恢复。    
  • <5>备份时数据库仍可用。    
  • 2、缺点:    
  •          <1>因难以维护,所以要特别仔细小心,不允许“以失败而告终”。    
  •          <2>若热备份不成功,所得结果不可用于时间点的恢复。    
  •          <3>不能出错,否则后果严重。    
  • 3、设置初始归档模式:    
  • 设置归档模式数据库必须处在mount而非open状态下:    
  •          <1>首先查看数据库是否处在archive log模式下:    
  •          SQL&gt; archive log list;    
  •          Database log mode               No Archive Mode    
  •          Automatic archival                Disabled    
  •          Archive destination               USE_DB_RECOVERY_FILE_DEST    
  •          Oldest online log sequence    1    
  •          Current log sequence            2    
  •          <2>在mount状态下启动数据库:    
  •          SQL&gt; startup mount;    
  •          ORACLE instance started.    
  •          Total System Global Area  285212672 bytes    
  •          Fixed Size                  1218992 bytes    
  •          Variable Size              83887696 bytes    
  •          Database Buffers          197132288 bytes    
  •          Redo Buffers                2973696 bytes    
  •          Database mounted.    
  •          <3>设置数据库为归档模式:    
  •         SQL&gt; alter database archivelog;    
  •         Database altered.    
  •         <4>打开数据库:    
  •   
  • SQL&gt; alter database open;    
  • Database altered.    
  • <5>将数据库设置成自动归档,使用以下命令:    
  • SQL&gt; alter system set log_archive_start=true scope=spfile;    
  • System altered.    
  • <6>确定数据库处于归档模式下,并且设置自动存档:    
  • SQL&gt; archive log list;    
  • Database log mode              Archive Mode    
  • Automatic archival             Enabled    
  • Archive destination            USE_DB_RECOVERY_FILE_DEST    
  • Oldest online log sequence     1    
  • Next log sequence to archive   2    
  • Current log sequence           2    
  • 上面的Archive destination所定义的具体位置,可以查看$ORACLE_HOME/dbs/spfile<dbname>.ora文件中的db_recovery_file_dest参数的值。    
  •     
  •   
  • 4、联机备份:    
  •       联机备份是热备份的一种备份方法,是指当表空间处于ONLINE状态时,备份表空间的所有数据文件和单个数据文件的过程。使用联机备份的优点是不影响用户在表空间上的所有访问操作,但联机备份的缺点可能生产更多的重做日志文件和归档日志文件。以下是联机备份的具体步骤:    
  •        <1>以DBA用户或特权用户登录,确定表空间所包含的数据文件。通过查询数据字典DBA_DATA_FILES,可以得到数据文件和表空间的对应关系:    
  •   
  • SQL&gt; select file_name from dba_data_files where tablespace_name='USERS';    
  • FILE_NAME    
  • --------------------------------------------------------------------------------    
  • /u02/oradata/db01/users01.dbf    
  • <2>设置表空间为备份模式,在复制表空间的数据文件之前必须将表空间设置成为备份模式:    
  • SQL&gt; alter tablespace users begin backup;    
  • Tablespace altered.    
  • <3>复制users数据文件到备份目录:    
  • [oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak    
  • <4>复制后表空间就不需要设置成为备份模式了,因此可以将其返回正常模式:    
  • SQL&gt;  alter tablespace users end backup;    
  • Tablespace altered.   
  •   
  • 5、脱机备份:    
  •       脱机备份也是热备份的一种方法,是指当表空间处于offline时,备份表空间的所有数据文件以及单个数据文件的过程。它的优点是会生产较少的重做日志文件,缺点是当用户正在进行脱机备份时所备份的表空间将不能访问,由于SYSTEM系统表空间和正在使用的UNDO表空间不能被脱机,因此脱机备份不适用于SYSTEM表空间和正在使用的UNDO表空间。
  • 1>使用DBA用户或特权用户登录,确定表空间所包含的数据文件。这个和联机备份的第一步相同:
  • SQL&gt; select file_name from dba_data_files where tablespace_name='USERS';
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/oradata/db01/users01.dbf
    <2>设置表空间为脱机状态,将表空间设置为脱机状态后用户将不能访问该表空间上的任何对象,因此也可以确保OFFLINE的表空间的数据文件不会发生改变。
    SQL&gt; alter tablespace users offline;
    Tablespace altered.
    SQL&gt; select tablespace_name,online_status from dba_data_files;
    TABLESPACE_NAME                ONLINE_
    ------------------------------ -------
    USERS                          OFFLINE
    SYSAUX                         ONLINE
    UNDOTBS1                       ONLINE
    SYSTEM                         SYSTEM
    <3>复制users数据文件到备份目录:
    [oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak
    <4>复制完后将表空间置于online状态:
    SQL&gt; alter  tablespace users online;
    Tablespace altered.
    SQL&gt; select tablespace_name,online_status from dba_data_files;
    TABLESPACE_NAME                ONLINE_
    ------------------------------ -------
    USERS                          ONLINE
    SYSAUX                         ONLINE
    UNDOTBS1                       ONLINE
    SYSTEM                         SYSTEM
    详细出处参考:http://www.itqun.net/content-detail/107720_2.html
  • http://www.itqun.net/content-detail/107720.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248579-1-1.html 上篇帖子: 管理好Oracle数据表的建议 下篇帖子: oracle 10g支持正则表达式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表