精华内容
下载资源
问答
  • rman备份策略

    2013-01-06 20:25:41
    前几天刚给别人做了一个简单的rman备份策略 不知道如果不太了解oracle的人只看操作步骤用该文档能完成么 操作示例: 1、两个数据库,生产库tsid,catalog数据库cata数据库 2、查看生产库tsid...
    前几天刚给别人做了一个简单的rman备份策略
    不知道如果不太了解oracle的人只看操作步骤用该文档能完成么

    操作示例:

    1、两个数据库,生产库tsid,catalog数据库cata数据库

    2、查看生产库tsid是否是归档状态

    C:\>sqlplus sys/password@tsid as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Jan 5 17:27:24 2013

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

    With the Partitioning, OLAP and Data Mining options

    SQL> archive log list

    Database log mode              Archive Mode

    Automatic archival             Enabled

    Archive destination            USE_DB_RECOVERY_FILE_DEST

    Oldest online log sequence     96

    Next log sequence to archive   98

    Current log sequence           98

    如果如上是enabled就是归档模式不用修改,如果上面列出的是disabled,修改为归档状态,需要先将数据库关闭,命令如下

    SQL> shutdown immediate

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> startup mount

    ORACLE instance started.

    Total System Global Area  281018368 bytes

    Fixed Size                  1248528 bytes

    Variable Size              83886832 bytes

    Database Buffers          188743680 bytes

    Redo Buffers                7139328 bytes

    Database mounted.

    SQL> alter database archivelog;

    3、建立两个库的关系

    --连接cata

    C:\Users\Administrator>sqlplus sys/password@cata as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Jan 5 13:32:50 2

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Produ

    With the Partitioning, OLAP and Data Mining options

    --创建用户rman用户

    SQL> create user rman identified by rman default tablespace users

    User created.

    --赋予rman用户catalog权限

    SQL> grant connect,resource,recovery_catalog_owner to rman;

    Grant succeeded.

    SQL>exit

    --开启另外一个cmd窗口

    --rman中连接两个数据库

    C:\Users\Administrator>rman target sys/password@tsid catalog rman/rman@cata

    Recovery Manager: Release 10.2.0.1.0 - Production on Sat Jan 5 13:37:46 2013

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    connected to target database: TEST (DBID=2066156567)

    connected to recovery catalog database

    --创建关联关系对象

    RMAN> create catalog;

    recovery catalog created

    --注册到catalog

    RMAN> register database;

    database registered in recovery catalog

    starting full resync of recovery catalog

    full resync complete

    --31天前的备份视为过期

    RMAN> configure RETENTION POLICY TO recovery window of 31 days;

    --保留最近的两份备份

    RMAN> configure RETENTION POLICY TO redundancy 2;

    以上是在cmd内执行的命令

    以下是要运行的批处理,有两个文件,一个是包含sql语句的dbback.sql文件,一个是要运行的批处理rmanbackup.bat文件

    Dbback.sql中的内容是

    蓝色的文字是指备份文件存放的路径,可以修改为自己需要的路径

    run{

    allocate channel c1 type disk;

    backup as compressed backupset full database format'G:/BACKUP/%U';

    delete noprompt obsolete;

    backup archivelog all;

    release channel c1;

    }

    Rmanbackup.bat中的内容是

    Password修改为数据库用户sys的密码,cmdfile后面的内容是死dbback.sql所在的路径名

    Log是备份执行日志,路径是日志存放位置

    rman target sys/password@tsid catalog rman/rman@cata cmdfile='K:\six\dbback.sql'

    log='K:\dbbak.log' append 

    windows执行计划或者oracle 定时任务让批处理在指定时间运行

    以上备份策略完成

    这种方法有两个缺陷,一是数据库密码曝露,可以通过操作系统登录解决,二是备份策略易被修改,可以创在数据库的脚本里。

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25843472/viewspace-752213/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/25843472/viewspace-752213/

    展开全文
  • 背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略。 环境:SunOS 5.10 + Oracle 11.2.0.3 1.分析当前RMAN备份策略的...

    背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略。

    环境:SunOS 5.10 + Oracle 11.2.0.3

    1.分析当前RMAN备份策略的问题

    1.1 查看系统任务调度

    -bash-3.2$ crontab -l
    0 0 * * 0  /oradata03/backup/rman/db_full.sh > /dev/null 2&>1#
    0 0 * * 1-6  /oradata03/backup/rman/db_level1.sh > /dev/null 2&>1# 

    可以看到,第一条是每周日凌晨0点执行/oradata03/backup/rman/db_full.sh脚本;
    第二条是每周一~周六凌晨0点执行/oradata03/backup/rman/db_level1.sh脚本。
    这部分中,调度本身是没有问题的。

    1.2 查看任务调度脚本内容

    查看/oradata03/backup/rman/db_full.sh脚本内容:

    -bash-3.2$ more /oradata03/backup/rman/db_full.sh
    #/usr/bin/ksh
    #rman incremental backup level=0
    ORACLE_BASE=/opt/app/oracle/
    ORACLE_HOME=/opt/app/oracle/product/11.2.3
    ORACLE_SID=xxoradb
    PATH=$ORACLE_HOME/bin:$PATH:.
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
    (rman target / @/oradata03/backup/rman/db_full.rcv
    df -g
    )>/oradata03/backup/full_`date +%m%d%y`.log

    查看/oradata03/backup/rman/db_level1.sh脚本内容:

    -bash-3.2$ more /oradata03/backup/rman/db_level1.sh
    #/usr/bin/ksh
    #RMAN incremental backup level=1
     
    ORACLE_BASE=/opt/app/oracle/
    ORACLE_HOME=/opt/app/oracle/product/11.2.3
    ORACLE_SID=xxoradb
    PATH=$ORACLE_HOME/bin:$PATH:.
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
    (rman target / @/oradata03/backup/rman/db_level1.rcv
    df -g
    )>/oradata03/backup/weekly_level1_`date +%m%d%y`.log

    这部分中,脚本本身是没有问题的。

    1.3 查看上面2个脚本中的嵌套内容

    查看/oradata03/backup/rman/db_full.sh脚本内容中嵌套的/oradata03/backup/rman/db_full.rcv内容:

    -bash-3.2$ more /oradata03/backup/rman/db_full.rcv
    run{
    backup format '/oradata03/backup/full_%s_%p_%t.bak' database plus archivelog delete input;
    crosscheck backup;
    delete noprompt expired backup;
    delete noprompt obsolete;
    }

    查看/oradata03/backup/rman/db_level1.sh脚本内容中嵌套的/oradata03/backup/rman/db_level1.rcv内容:

    -bash-3.2$ more /oradata03/backup/rman/db_level1.rcv
    run{
    backup incremental level=1 format '/oradata03/backup/level1_%s_%p_%t.bak' database plus archivelog delete input;
    }

    这部分产生第1个疑问:db_full.rcv里面的内容是普通的数据库全备+归档,而db_level1.rcv里面内容是1级增量+归档。
    我们知道,1级增量备份依据的是0级增量备份,而这里的普通数据库全备是不能作为1级增量备份的基础的,
    所以,第一想法是这里面的1级增量备份是没有必要的,白白浪费了系统资源和备份的磁盘空间。
    而有意思的是,我实际在测试环境测试发现:如果只做1级增量备份,没有做0级增量的话,那么Oracle会默认第一次先做0级增量。以保证备份的有效性。
    不过还是建议能够显性的指定到底是0级增量还是1级增量,不然会给管理维护带来不必要的困扰。具体参照本文第二部分。

    1.4 查看RMAN保留策略相关

    查看RETENTION POLICY:

    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 15 DAYS;

    查看control_file_record_keep_time参数:

    SQL> show parameter control_file_record_keep_time
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    control_file_record_keep_time        integer     7

    这部分产生第2个疑问:control_file_record_keep_time参数是默认值7天,而RECOVERY WINDOW是15天,这样有可能导致备份信息条目丢失,建议设置control_file_record_keep_time值=RECOVERY WINDOW + 1. 这里就是16.
    有关这个control_file_record_keep_time参数设置什么值最合适,网上说法不一,我专门咨询了maclean大神,回复是

    一般设置为 CONTROL_FILE_RECORD_KEEP_TIME = recovery window+1 即可
    实际 控制文件记录的覆盖 和 recovery window没有直接的关系,所以不用过度担忧。

    control_file_record_keep_time是动态参数,可以直接修改:

    alter system set control_file_record_keep_time = 16;

    2.拟出解决方案供客户选择

    发现问题就要解决问题,针对1.3中的问题,我想出2个解决方案供用户选择。当然,不改造也是可以的。

    2.1 解决方案一

    将1级增量备份内容修改为只备份归档
    即将/oradata03/backup/rman/db_level1.rcv文件中的内容修改为:

    -bash-3.2$ more /oradata03/backup/rman/db_level1.rcv
    run{
    backup archivelog all delete input format '/oradata03/backup/arch_%s_%p_%t.bak';
    }

    当然只改动这个就已经实现了功能,但为了易于后期维护,建议将脚本文件的名称及关联内容也修改一下:

    文件名称修改: /oradata03/backup/rman/db_level1.rcv -> /oradata03/backup/rman/db_arch.rcv
    文件内容修改: /oradata03/backup/rman/db_level1.sh 文件内容中的 db_level1.rcv -> db_arch.rcv
    文件名称修改: /oradata03/backup/rman/db_level1.sh -> /oradata03/backup/rman/db_arch.sh
    调度内容修改: crontab -e 修改内容 db_level1.sh -> db_arch.sh

    2.2 解决方案二

    将普通全备内容修改为0级增量备份
    即将/oradata03/backup/rman/db_full.rcv文件中的内容修改为:

    -bash-3.2$ more /oradata03/backup/rman/db_full.rcv
    run{
    backup incremental level=0 format '/oradata03/backup/level0_%s_%p_%t.bak' database plus archivelog delete input;
    crosscheck backup;
    delete noprompt expired backup;
    delete noprompt obsolete;
    }

    在不考虑只读表空间的情况下,0级增量就相当于数据库的全备,不同的是0级增量可以作为1级增量的基础。
    然后同样为了易于后期维护,建议将脚本文件的名称及关联内容也修改一下:

    文件名称修改: /oradata03/backup/rman/db_full.rcv -> /oradata03/backup/rman/db_level0.rcv
    文件内容修改: /oradata03/backup/rman/db_full.sh 文件内容中的 db_full.rcv -> db_level0.rcv
    文件名称修改: /oradata03/backup/rman/db_full.sh -> /oradata03/backup/rman/db_level0.sh
    调度内容修改: crontab -e 修改内容 db_full.sh -> db_level0.sh

    2.3 两个方案对比

    方案一:简单好管理。但恢复时有可能不如第二种快。
    方案二:复杂一些。相对第一种多一个增量备份,恢复时一般会比第一种快。
    目前两种方案都可以满足客户需求,由客户决定选择哪一种方案。

    3.根据实际情况决定删除无用历史备份

    由于control_file_record_keep_time参数设置有误,RMAN没有成功删除所有保留窗口之外的备份信息。
    需要DBA手工确认删除无用历史备份。

    RMAN> list backup of database summary;
    
    
    List of Backups
    ===============
    Key     TY LV S Device Type Completion Time     #Pieces #Copies Compressed Tag
    ------- -- -- - ----------- ------------------- ------- ------- ---------- ---
    3625    B  F  A DISK        2015-09-13 00:02:05 1       1       NO         TAG20150913T000035
    3626    B  F  A DISK        2015-09-13 00:02:30 1       1       NO         TAG20150913T000035
    3627    B  F  A DISK        2015-09-13 00:02:55 1       1       NO         TAG20150913T000035
    3628    B  F  A DISK        2015-09-13 00:03:18 1       1       NO         TAG20150913T000035
    3629    B  F  A DISK        2015-09-13 00:03:28 1       1       NO         TAG20150913T000035
    3634    B  1  A DISK        2015-09-14 00:02:42 1       1       NO         TAG20150914T000034
    3635    B  1  A DISK        2015-09-14 00:03:08 1       1       NO         TAG20150914T000034
    3636    B  1  A DISK        2015-09-14 00:03:33 1       1       NO         TAG20150914T000034
    3637    B  1  A DISK        2015-09-14 00:03:58 1       1       NO         TAG20150914T000034
    3638    B  1  A DISK        2015-09-14 00:04:07 1       1       NO         TAG20150914T000034
    3642    B  1  A DISK        2015-09-15 00:01:16 1       1       NO         TAG20150915T000028
    3643    B  1  A DISK        2015-09-15 00:01:45 1       1       NO         TAG20150915T000028
    3644    B  1  A DISK        2015-09-15 00:02:10 1       1       NO         TAG20150915T000028
    3645    B  1  A DISK        2015-09-15 00:02:35 1       1       NO         TAG20150915T000028
    3646    B  1  A DISK        2015-09-15 00:02:42 1       1       NO         TAG20150915T000028
    3651    B  1  A DISK        2015-09-16 00:02:19 1       1       NO         TAG20150916T000105
    3740    B  1  A DISK        2016-02-16 01:24:59 1       1       NO         TAG20160216T011603
    3741    B  1  A DISK        2016-02-16 01:28:50 1       1       NO         TAG20160216T011603
    3742    B  0  A DISK        2016-02-16 01:29:24 1       1       NO         TAG20160216T011603
    3743    B  1  A DISK        2016-02-16 01:29:43 1       1       NO         TAG20160216T011603
    3747    B  1  A DISK        2016-02-17 00:04:46 1       1       NO         TAG20160217T000029
    3748    B  1  A DISK        2016-02-17 00:06:46 1       1       NO         TAG20160217T000029
    3749    B  1  A DISK        2016-02-17 00:07:29 1       1       NO         TAG20160217T000029
    3750    B  1  A DISK        2016-02-17 00:08:03 1       1       NO         TAG20160217T000029
    3751    B  1  A DISK        2016-02-17 00:08:13 1       1       NO         TAG20160217T000029

    可以看到最早可读的全备份是在2015-09-13 00:02:05这个时间点,那么这个时间点之前的备份文件实际是可以清理掉的。
    根据前面备份脚本,可以确定目录下后缀为.log.bak可以清除掉,如何获取到这个时间点之前呢?

    SQL>   select sysdate-158 from dual;
     
    SYSDATE-158
    -----------
    2015/9/12 1

    find查找158天前创建的后缀为.log.bak的文件数量:

    -bash-3.2$ find *.log -mtime +158|wc -l
         254
    -bash-3.2$ find *.bak -mtime +158|wc -l
        1021

    确定都是要删除的无用文件后,可以删除掉:

    find *.log -mtime +158|xargs rm -rf
    find *.bak -mtime +158|xargs rm -rf

    最后验证下RMAN备份是否受到影响(当然不会受到影响了,我前面删除的都是无用的历史文件),

    --交叉验证备份文件有效性
    RMAN> crosscheck backup;
    输出略..(实际都是available状态的备份文件,说明我之前删除的文件确实是没用的)
    
    --删除保留策略之外的文件
    RMAN> delete obsolete;
    
    RMAN retention policy will be applied to the command
    RMAN retention policy is set to recovery window of 15 days
    using channel ORA_DISK_1
    no obsolete backups found
    
    --删除过期的备份文件(这里没有,再次说明了我之前删除的文件确实是没用的)
    RMAN> delete expired backup;
    
    using channel ORA_DISK_1
    specification does not match any backup in the repository
    
    --看当前数据库有哪些文件需要备份(没有结果)。
    RMAN> report need backup;
    
    RMAN retention policy will be applied to the command
    RMAN retention policy is set to recovery window of 15 days
    Report of files that must be backed up to satisfy 15 days recovery window
    File Days  Name
    ---- ----- -----------------------------------------------------
    
    RMAN> 

    此时再看,备份目录的空间终于大幅得到了释放。解决了问题。

    4.总结

    这个案例,导致备份目录满的根本原因是control_file_record_keep_time参数设置有误,导致控制文件中的条目信息不完整,进而导致历史无用的备份文件没有被RMAN自动删除。
    而对于表面看来像是普通全备+1级增量的概念性问题,实际上却是有隐性执行0级增量的过程,让人有点乌龙的感觉。甚至这样写还能起到简化脚本的作用,就是容易给人造成困扰吧。
    虽然最终看来,只是一个动态参数的设置问题导致的故障。但解决的过程真的是很丰富,也用到了很多理论和实践验证,值得记录下来和以后回味。
    展开全文
  • 【Oracle】Rman备份策略

    2017-03-05 20:11:43
    1、 查看可设置参数 RMAN> show all;   RMAN configuration parameters for database with db_unique_name DRZ are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF;...

    1、 查看可设置参数

    RMAN> show all;

     

    RMAN configuration parameters for database with db_unique_name DRZ are:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

    CONFIGURE BACKUP OPTIMIZATION OFF; # default

    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u01/app/backup/db_%U.rmn';

    CONFIGURE MAXSETSIZE TO UNLIMITED; # default

    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

    CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

    CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRU

    E ; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapc

    f_drz.f'; # default

     

    2、 RETENTION POLICY(保存策略)

    1) 保存最近30天的备份

    RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;

    2) 保存2份冗余

    RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

    3) 设置备份策略失效

    RMAN> CONFIGURE RETENTION POLICY TO NONE;

    4) 备份策略恢复默认设置

    RMAN> CONFIGURE RETENTION POLICY CLEAR;


    3、 备份优化

    backup optimization:默认值为 off,启用优化后,会按照优化算法进行备份,比如只读表空间不备
    份等。

    RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
    RMAN> CONFIGURE BACKUP OPTIMIZATION OFF;
    RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;


    4、 默认备份设备

    default device type:默认值为 disk,指定备份到磁盘或者是磁带

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO STB;

    RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;


    5、 控制文件

    1)  开启自动备份及指定路径及名称,当控制文件变化时,控制文件自动备份

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/backup/control/cf_%F';

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

    2)  是配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的

    RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/backup/contolfile/CF_%F';

    RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME CLEAR;

    6、 排除选项

    1)  Exclude:排除'EXAMPLE'表空间

    RMAN> CONFIGURE EXCLUDE FOR TABLESPACE 'EXAMPLE';

    2)  重置 排除选项

    RMAN> CONFIGURE EXCLUDE FOR TABLESPACE 'EXAMPLE' CLEAR;


    7、 备份集大小

    1)  设置备份集大小

    RMAN> CONFIGURE MAXSETSIZE TO nG|nM|nK|UNLIMITED;

    2)  重置备份集大小为默认值

    RMAN> CONFIGURE MAXSETSIZE CLEAR;


    8、 压缩备份

    1) 默认压缩比

    RMAN> show compression algorithm;

    RMAN configuration parameters for database with db_unique_name DRZ are:
    CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRU
    E ; # default

    2) 设置高压缩比

    RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH';

    3) 其他几种压缩比

    RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';

    RMAN> CONFIGURE COMPRESSION ALGORITHM 'LOW';

    RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC';

    4) RUN 块中使用会话级压缩

    run {
    SET COMPRESSION ALGORITHM 'HIGH/MEDIUM/LOW/BASIC';
    ...
    }


    展开全文
  • 公司一台内部oracle 服务器磁盘空间告警, 查看了一下情况如下: [oracle@pro101 rmanback]$ df -h Filesystem Size Used Avail U...

     公司一台内部oracle 服务器磁盘空间告警, 查看了一下情况如下:

     [oracle@pro101 rmanback]$ df  -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/sdb1             284G   91G  180G  34% /

    /dev/sda3             1.7T  1.5T  122G  93% /data

    /dev/sda1              99M   12M   83M  12% /boot

    tmpfs                 7.9G     0  7.9G   0% /dev/shm

    192.168.18.117:/data1/pro101bak/oracledb

                          1.8T  591G  1.1T  35% /data/app/oracle/backup/rmanback

     

    [oracle@pro101 rmanback]$ cd  /data/app/oracle/backup/archivelog/

    [oracle@pro101 archivelog]$ du -sh

    735G

    为何归档日志会这么大呢, 此数据库相当于一个类似的OLAP的系统,其主要功能:日常就是一些jobs负责数据的批量录入,以及运营的提取数据,开发人员对一些数据在后台进行update,  查看了一下归档日志的情况, 发现归档一个月左右的归档都没有删除,于是查看了一下备份策略:

    [oracle@pro101 ~]$ crontab -l

    30 18 * * 0 /home/oracle/script/rmanback.sh >/dev/null

    30 18 * * 6 /home/oracle/script/expback.sh >/dev/null

    通过详细的脚本,可知此数据库的进行了两次有效备份,

    (1)                  每个星期天的1830 对数据库进行一次rman的全备, 并删除归档, 备份冗余策略为默认的1

    (2)                  每个星期六的1830 对数据进行一次数据泵 的逻辑导入导出

     如果备份能正常进行,没理由归档日志不会删除啊? 仔细看了一下rman  以及 expdp产生的日志,发现expdp正常, rman log只到6月份的,初步确认是由于nfs 挂载后,rman就没有正常工作了。

     

    因此需要对归档日志进行处理, 要彻底的解决 此问题, 还需要对备份策略作出脚本变更,在做策略改动前, 先对数据库做一个完整的全备,利用rman删除一些没有必要的归档, 备份后:

    [oracle@pro101 rmanback]$ ll

    total 79477760

    -rw-r----- 1 oracle oinstall    45515264 Jul 12 05:20 arch_MOSTDT4_20110712_503

    -rw-r----- 1 oracle oinstall 25244606464 Jul 12 04:44 fullback_MOSTDT4_20110712_498

    -rw-r----- 1 oracle oinstall 27282857984 Jul 12 05:07 fullback_MOSTDT4_20110712_499

    -rw-r----- 1 oracle oinstall 28730761216 Jul 12 05:19 fullback_MOSTDT4_20110712_500

    -rw-r----- 1 oracle oinstall     1851392 Jul 12 04:44 fullback_MOSTDT4_20110712_501

    -rw-r----- 1 oracle oinstall       98304 Jul 12 04:44 fullback_MOSTDT4_20110712_502

    [oracle@pro101 rmanback]$ df  -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/sdb1             284G   91G  180G  34% /

    /dev/sda3             1.7T  856G  783G  53% /data

    /dev/sda1              99M   12M   83M  12% /boot

    tmpfs                 7.9G     0  7.9G   0% /dev/shm

    由于前期专门做过一次 rman增量备份的部署,于是整个过程就比较简单了,修改了一下incremental backup 脚本, 将以前的备份策略变更为:

    [oracle@pro101 logs]$ crontab -e

    30 0 * * * /home/oracle/script/incremental_backup.sh >/dev/null 2>&1 &

    #30 18 * * 6 /home/oracle/script/expback.sh >/dev/null   //取消数据泵的导入导出

     

    经过测试  脚本运行通过, 后续还得观察一下备份空间情况。 在此对脚本中的备份策略作一个详细的说明:

    ***************************************************************

    1 . Sun          incremental level =0

    2.Mon          incremental level=2

    3.Tue           incremental level=2

    4.Wed          incremental level=2

    5.Thu           incremental level=1

    6.Fri            incremental level=2

    7.Sat            incremental level=2

    ****************************************************************

    由于每天的备份发生与凌晨,故障后需要恢复的备份:

    星期天故障:  1

    星期一故障:  1+2

    星期二故障:  1+2+3

    星期三故障:  1+2+3+4

    星期四故障:  1+5

    星期五故障:  1+5+6

    星期六故障:  1+5+6+7

    故为了确保数据恢复能顺利完成,备份保存策略需要至少设置 7天以上, 当然可以手工对备份进行调整

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8117479/viewspace-702005/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/8117479/viewspace-702005/

    展开全文
  • 公司一台内部oracle 服务器磁盘空间告警, 查看了一下情况如下: [oracle@pro101 rmanback]$ df -hFilesystem Size Used Avail Use% Mo...
  • 备份管理器RMAN提供了CONFIGURE RETENTION POLICY命令设置备份保存策略,即设置备份文件保留多长时间。RMAN会将超出时间的备份文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的...
  • RMAN备份与恢复

    2014-05-22 10:42:08
    4.4 设置RMAN备份的保存策略 18 4.5 备份优化 19 第五篇 RMAN备份实例 19 5.1 编写rman批处理文件 20 5.2 编写dos批处理 20 5.3 设定执行计划 24 第六篇 RMAN恢复实例 24 6.1 对数据库进行完全介质恢复 24 6.2 恢复...
  • 之前以为备份保留策略恢复窗口指定为多少天,则指定多少天后备份则obsolete。所以,造成自己用reportobsolete命令查看,觉得应该obsolete的备份,却没有出现。于是有下文。 一什么是恢复窗口 先看看官方文档上的一段...
  • title: Oracle开启归档模式并设置RMAN自动备份策略 categories: 数据库 tags: - Oracle - RMAN timezone: Asia/Shanghai date: 2019-01-06 软件版本 Oracle 11g 11.2.0.4 1.开启和关闭归档模式 1.管理员登录 ...
  • 配置RMAN备份环境

    2017-04-29 22:24:00
    关于配置RMAN备份环境你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为。例如,你可配置备份的保存策略、默认的备份目录、默认的备份设备类型等。你可以用show命令来查看配置及用...
  • 登录主机后确认为备份目录使用率过高,此目录只做rman备份,且rman保留策略为1份,正常不可能磁盘空间告警,查看rman备份脚本,备份存储在本地磁盘,其中脚本中删除过期备份策略没有问题,如下:report obsolete;...
  • RMAN备份 备份策略 每周日2点数据库全备 每天4点备份归档 以下仅为备份脚本, 没有定时任务脚本 准备工作 查看数据库是否处于归档模式: archive log list; 1 进入sqlpuls: sqlplus / as sysdba 如果...
  • Oracle RMAN 备份常用命令1、SHOW ALL;查看所有设置项 CONFIGURE RETENTION POLICY TO REDUNDANCY 1; #default备份保留策略为1份冗余,#default表示缺省值CONFIGURE DEFAULT DEVICE TYPE TO DISK;备份介质是DISK...
  • Oracle RMAN备份和异机恢复

    万次阅读 2019-01-09 14:27:56
    RMAN备份 备份策略 每周日2点数据库全备 每天4点备份归档 以下仅为备份脚本, 没有定时任务脚本 准备工作 查看数据库是否处于归档模式: archive log list; 如果不是处于归档模式, 开启归档模式: &...
  • RMAN备份命令

    2015-01-21 19:54:18
    查看 show all; list backup; report absolete; #基于现有保留策略,不再需要的备份 report need backup; ...
  • Oracle Database 11g RMAN备份与恢复 基本信息 原书名: Oracle RMAN 11g Backup and Recovery 原出版社: McGraw-Hill Osborne Media 作者: (美)Robert G. Freeman Matthew Hart 译者: 王念滨 陈子阳 出版社:...
  • 查看备份策略和日志

    千次阅读 2012-01-16 09:10:17
    1.查看备份策略 show retention policy 2.查看过期备份文件 report obsolete 3.查看检查和维护备份记录 list backup 查看copy方式备份 list copy 查看备份任务的日志 select output from v$rman_output ...
  • 基本原因是因为数据库处于非归档模式,需要重启到mount模式下切换成归档模式 命令如下   1。关闭数据库SQL> shutdown immediate;...查看修改后的数据库备份和恢复策略及归档文件的位置SQL&gt...
  • CONFIGURE RETENTION POLICY TO REDUNDANCY 1;#default 备份保留份数CONFIGURE BACKUP ...#default 备份优化策略CONFIGURE DEFAULT DEVICE TYPE TO DISK;#default 保存类型CONFIGURE CONTROLFILE AUTOBACKUP OFF;#de...
  • oracle备份策略

    2015-07-28 16:57:41
    RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;RMAN> CONFIGURE RETENTION POLICY TO RECOVERY ...启用控制文件自动备份备份存放位置配置RMAN> configure controlfile autobackup on;查看配置信...
  • RMAN备份有关的优化 备份操作主要是完成以下三个步骤备份脚本应该对Log重定向并保存.以便在出错的查找有用信息.与RMAN备份有关的优化备份操作主要是完成以下三个步骤1、从磁盘上读取数据2、在内存中处理数据块3、...
  • Oracle 12c的备份和恢复策略(RMAN备份[开启归档/控制文件/数据文件/归档日志]): 备份策略: * 每半年做一个数据库的全备份(包括所有的数据和只读表空间) * 每周做一次零级备份 * 每天做一次一级备份 *...
  • ORACLE备份保留策略(RETENTION POLICY)

    千次阅读 2016-04-11 13:54:02
    备份管理器RMAN提供了CONFIGURE RETENTION POLICY命令设置备份保存策略,即设置备份文件保留多长时间。RMAN会将超出时间的备份文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的...
  • 配置RMAN备份环境 对于大多数备份操作而言...但是如果你了解更多的配置,你可以更有效的使用RMAN实现基于RMAN的备份策略。使用SHOW ALL命令查看RMAN的配置RMAN>showall; RMANconfigurationparametersfordatabase...
  • RMAN的维护

    2011-07-07 14:56:34
    配置retention(保留)策略不符合策略备份集被标记为过期,可查看可删除。3种配置rman>configure retention policy to后面可以加如下的3种方式:1.recovery window of 7 days;时间窗口保留恢复从今天开始往前7天的...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

查看rman备份策略