始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Oracle 冷备份

发布时间:  2012/9/16 15:30:50

-- Oracle 冷备份

--======================

 

一、冷备份

    数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份

    适合于非归档模式下,数据库处于一致性状态

   

二、步骤   

    首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)

    再执行拷贝物理文家到备份路径或备份设备

    备份完成后立即启动数据库让其提供正常的服务

 

 

三、冷备脚本的写法

    首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置

    注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径 

 

    --查看实例和数据库的相关信息

    SQL> select instance_name,version,status,archiver,database_status from v$instance;

 

    INSTANCE_NAME    VERSION           STATUS       ARCHIVE DATABASE_STATUS

    ---------------- ----------------- ------------ ------- -----------------

    orcl             10.2.0.1.0        OPEN         STOPPED ACTIVE

 

    SQL> select dbid,name,log_mode from v$database;

 

          DBID NAME      LOG_MODE

    ---------- --------- ------------

    1242732291 ORCL      NOARCHIVELOG

 

    --查看数据文件及状态信息

    SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

 

    FILE_NAME                                               TABLESPACE STATUS    ONLINE_

    ------------------------------------------------------- ---------- --------- -------

    /u01/app/Oracle/oradata/orcl/undotbs01.dbf              UNDOTBS1   AVAILABLE ONLINE

    /u01/app/Oracle/oradata/orcl/system01.dbf               SYSTEM     AVAILABLE SYSTEM

    /u01/app/Oracle/oradata/orcl/sysaux01.dbf               SYSAUX     AVAILABLE ONLINE

    /u01/app/Oracle/oradata/orcl/users01.dbf                USERS      AVAILABLE ONLINE

    /u01/app/Oracle/oradata/orcl/example01.dbf              EXAMPLE    AVAILABLE ONLINE

    /u01/app/Oracle/oradata/orcl/tbs1_1.dbf                 TBS1       AVAILABLE ONLINE

    /u01/app/Oracle/oradata/orcl/tbs1_2.dbf                 TBS1       AVAILABLE ONLINE

 

    --查看数据文件

    SQL> select name from v$datafile;

 

    NAME

    --------------------------------------------------------------------------------

    /u01/app/Oracle/oradata/orcl/system01.dbf

    /u01/app/Oracle/oradata/orcl/undotbs01.dbf

    /u01/app/Oracle/oradata/orcl/sysaux01.dbf

    /u01/app/Oracle/oradata/orcl/users01.dbf

    /u01/app/Oracle/oradata/orcl/example01.dbf

    /u01/app/Oracle/oradata/orcl/tbs1_1.dbf

    /u01/app/Oracle/oradata/orcl/tbs1_2.dbf

 

    --查看临时文件

    SQL> select name from v$tempfile;

 

    NAME

    --------------------------------------------------------------------------------

    /u01/app/Oracle/oradata/orcl/temp01.dbf

 

    --查看日志文件

    SQL> select member from v$logfile;

 

    MEMBER

    ------------------------------------------------------------

    /u01/app/Oracle/oradata/orcl/redo2a.rdo

    /u01/app/Oracle/oradata/orcl/redo2b.rdo

    /u01/app/Oracle/oradata/orcl/redo1a.rdo

    /u01/app/Oracle/oradata/orcl/redo3a.rdo

    /u01/app/Oracle/oradata/orcl/redo3b.rdo

    /u01/app/Oracle/oradata/orcl/redo1b.rdo

 

    --查看控制文件

    SQL> select name from v$controlfile;

 

    NAME

    ------------------------------------------------------------

    /u01/app/Oracle/oradata/orcl/control01.ctl

    /u01/app/Oracle/oradata/orcl/control02.ctl

 

    --创建备份目录

    SQL> ho mkdir /u01/app/Oracle/coolbak

   

    --使用连接符生成复制文件命令

    SQL> select 'ho cp ' || name || ' /u01/app/Oracle/coolbak' from v$controlfile;

 

    'HOCP'||NAME||'/U01/APP/Oracle/COOLBAK'

    ----------------------------------------------------------------------------------

    ho cp /u01/app/Oracle/oradata/orcl/control01.ctl /u01/app/oracle/coolbak

    ho cp /u01/app/Oracle/oradata/orcl/control02.ctl /u01/app/oracle/coolbak

 

    SQL> save /tmp/tmpbak.sql;   --将上面的输入保存为tmpbak.sql

    Created file /tmp/tmpbak.sql

 

    SQL> ho vim /tmp/tmpbak.sql   --编辑tmpbak.sql,将下面的内容输入到tmpbak.sql

 

    set feedback off

    set heading off

    set verify off

    set trimspool off

    set pagesize 0

    set linesize 200

    define dir = '/u01/app/Oracle/coolbak'

    define script = '/tmp/coolbak.sql'

    spool &script

    select 'ho cp ' || name || ' &dir' from v$controlfile

    union all

    select 'ho cp ' || name || ' &dir' from v$datafile

    union all

    select 'ho cp ' || member || ' &dir'  from v$logfile

    union all

    select 'ho cp ' || name || ' &dir' from v$tempfile

    /

    create pfile = '&dir/initorcl.ora' from spfile;

    ho cp /u01/app/Oracle/10g/dbs/orapworcl &dir

    spool off

    shutdown immediate

    start &script

    ho rm &script

    startup

 

    --执行tmpbak.sql

    SQL> @/tmp/tmpbak.sql;

 

    --执行过程及数据库启动略

       

    --启动后查看备份的文件

    SQL> ho ls /u01/app/Oracle/coolbak

    control01.ctl  orapworcl   redo2b.rdo    system01.dbf   users01.dbf

    control02.ctl  redo1a.rdo  redo3a.rdo    tbs1_1.dbf

    example01.dbf  redo1b.rdo  redo3b.rdo    tbs1_2.dbf

    initorcl.ora   redo2a.rdo  sysaux01.dbf  undotbs01.dbf

 

四、总结

    优点

        冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置

        操作比较简单,不需要太多的干预

        容易恢复到某个时间点上(只需将文件再拷贝回去)

        能与归档方法相结合,作数据库“最新状态”的恢复。

    缺点

        备份时,数据库必须处于一致性关闭状态

        只能提供到某一时间点的恢复

        备份时速度比较慢,尤其是数据量大性能影响比较大

        不能实现基于表和用户级别的数据恢复

 

Oracle教程 更多参考

有关闪回特性请参考

Oracle 闪回特性(FLASHBACK DATABASE)

Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)

Oracle 闪回特性(Flashback Query、Flashback Table)

Oracle 闪回特性(Flashback Version、Flashback Transaction)

有关基于用户管理的备份和备份恢复的概念请参考:

Oracle 冷备份

Oracle 热备份

Oracle 备份恢复概念

Oracle 实例恢复

Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)

有关RMAN的恢复与管理请参考:

RMAN 概述及其体系结构

RMAN 配置、监控与管理

RMAN 备份详解

RMAN 还原与恢复

有关Oracle体系结构请参考:

Oracle 实例和Oracle数据库(Oracle体系结构)

Oracle 表空间与数据文件

Oracle 密码文件

Oracle 参数文件

Oracle 数据库实例启动关闭过程

Oracle 联机重做日志文件(ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 归档日志


 


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线