备份脚本

#############################

[oracle@rac02 backup_scripts]$ cat rman_bus_level_0_bk.sh
###########################
##  rman_bus_level_0_bk.sh      ##
##        2014-04-02              ##
###########################

#!/bin/sh

# ---------------------------------------------------------------------------
# Oracle home path.
# ---------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_HOME
# ---------------------------------------------------------------------------
# the Oracle SID of the target database.
# ---------------------------------------------------------------------------
ORACLE_SID=bus
export ORACLE_SID
# ---------------------------------------------------------------------------
# the RMAN_LOG_FILE.
# ---------------------------------------------------------------------------
dt=`date +%Y%m%d`;
backDest=/mnt/bak
RMAN_LOG_FILE=$backDest/rman_bus_dest/bus_level_0_bk_$dt.log
# ---------------------------------------------------------------------------
# Set the Oracle Recovery Manager name.
# ---------------------------------------------------------------------------
RMAN=$ORACLE_HOME/bin/rman

$RMAN nocatalog target /  log $RMAN_LOG_FILE append <<-EOF
RUN {
allocate channel c1 type disk;
allocate channel c2 type disk;

backup incremental level 0 DATABASE FORMAT '$backDest/rman_bus_dest/db_level_0_%U_%T' skip inaccessible    TAG='inc_level_0';

sql 'alter system archive log current';

backup FORMAT '$backDest/rman_bus_dest/arch_%U_%T' skip inaccessible  ARCHIVELOG ALL tag='bus_arch' DELETE ALL INPUT;
backup current controlfile tag='bus_ctl' format='$backDest/rman_bus_dest/ctl_%U_%T';
#backup spfile tag='bus_spfile' format='$backDest/rman_bus_dest/spfile_%U_%T';

release channel c2;
release channel c1;
}
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
list backup summary;
EOF
#
# Let's delete the redundancy backup logs
#

find $backDest/rman_bus_dest  -type f -mtime +0  -name "*.log"  -exec rm {} \;

#############################

# ---------------------------------------------------------------------------
# Oracle home path.
# ---------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_HOME
# ---------------------------------------------------------------------------
# the Oracle SID of the target database.
# ---------------------------------------------------------------------------
export ORACLE_SID=bus
# ---------------------------------------------------------------------------
# the RMAN_LOG_FILE.
# ---------------------------------------------------------------------------
date=`date +%Y%m%d`
backDest=/mnt/bak
RMAN_LOG_FILE=$backDest/rman_bus_dest/bus_level_2_bk_$date.log
# ---------------------------------------------------------------------------
# Set the Oracle Recovery Manager name.
# ---------------------------------------------------------------------------
RMAN=$ORACLE_HOME/bin/rman

$RMAN nocatalog target /  log $RMAN_LOG_FILE append <<-EOF
RUN {
allocate channel c1 type disk;
allocate channel c2 type disk;

backup incremental level 2 DATABASE FORMAT '$backDest/rman_bus_dest/db_level_2_%U_%T' skip inaccessible    TAG='inc_level_2';

sql 'alter system archive log current';

backup FORMAT '$backDest/rman_bus_dest/arch_%U_%T' skip inaccessible  ARCHIVELOG ALL tag='bus_arch' DELETE ALL INPUT;
backup current controlfile tag='bus_ctl' format='$backDest/rman_bus_dest/ctl_%U_%T';
#backup spfile tag='bus_spfile' format='$backDest/rman_bus_dest/spfile_%U_%T';
release channel c2;
release channel c1;
}
#report obsolete;
#delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
list backup summary;
EOF

#############################

Rman的format格式中的%
%c 备份片的拷贝数
%d 数据库名称
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F 一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为
日期,QQ是一个1-256的序列
%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p 该备份集中的备份片号,从1开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)

#############################

下面是两种连接方式
[oracle@oracle3A ~]$ rman target/ Recovery Manager: Release 11.2.0.1.0 - Production on Mon Feb 22 16:59:59 2016 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: FLT (DBID=4164685130) RMAN> [oracle@oracle3A ~]$ rman Recovery Manager: Release 11.2.0.1.0 - Production on Mon Feb 22 17:00:57 2016 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved. RMAN> connect target connected to target database: FLT (DBID=4164685130) SQL> select dbid from v$database;       DBID
----------
4158553139
RMAN> show all;

RMAN configuration parameters for database with db_unique_name FLT are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
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 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 TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle3A/product/11.2.0/dbhome_1/dbs/snapcf_flt.f'; # default

http://blog.chinaunix.net/uid-17240229-id-306718.html

把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。
我们利用RMAN进行删除操作,

两种方式:

1、先查看使用率,再删除物理文件,再用rman删除。
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
[oracle@stdg archivelog]$ pwd
/u01/app/oracle/fast_recovery_area/STDGGT/archivelog
[oracle@stdg archivelog]$ rm -rf 2016_11_22
[oracle@stdg archivelog]$ rman target /
RMAN> list archivelog all;
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-6';
上面直接不能删除,需要先用下面的命令,然后才能删除。
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
用上面的sql查看文件数量与容量大小相应的减少了。

2、先查看使用率,直接用rman删除。
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
[oracle@stdg archivelog]$ pwd
/u01/app/oracle/fast_recovery_area/STDGGT/archivelog
[oracle@stdg archivelog]$ rman target /
RMAN> list archivelog all;
RMAN> delete archivelog until time 'sysdate-5';
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-6';
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

SYSDATE-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能

RMAN> shutdown immediate;

using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down RMAN> startup mount connected to target database (not started)
Oracle instance started
database mounted Total System Global Area 3106619392 bytes Fixed Size 2257272 bytes
Variable Size 2768244360 bytes
Database Buffers 318767104 bytes
Redo Buffers 17350656 bytes RMAN> backup database format '/u01/app/oracle/full%U.bak'; Starting backup at 12-JAN-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1885 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/DFLCP
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 12-JAN-17
RMAN> backup as copy database;

Starting backup at 01-FEB-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA1/orcl/datafile/system.256.934287737
output file name=+FRA/orcl/datafile/system.261.934824851 tag=TAG20170201T173411 RECID=2 STAMP=934824856
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=+DATA1/orcl/datafile/sysaux.257.934287737
output file name=+FRA/orcl/datafile/sysaux.262.934824859 tag=TAG20170201T173411 RECID=3 STAMP=934824862
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATA1/orcl/datafile/example.269.934287837
output file name=+FRA/orcl/datafile/example.263.934824865 tag=TAG20170201T173411 RECID=4 STAMP=934824866
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA1/orcl/datafile/undotbs1.258.934287737
output file name=+FRA/orcl/datafile/undotbs1.256.934824867 tag=TAG20170201T173411 RECID=5 STAMP=934824868
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=+FRA/orcl/controlfile/backup.257.934824871 tag=TAG20170201T173411 RECID=6 STAMP=934824870
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA1/orcl/datafile/users.259.934287737
output file name=+FRA/orcl/datafile/users.258.934824871 tag=TAG20170201T173411 RECID=7 STAMP=934824871
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 01-FEB-17
channel ORA_DISK_1: finished piece 1 at 01-FEB-17
piece handle=+FRA/orcl/backupset/2017_02_01/nnsnf0_tag20170201t173411_0.264.934824873 tag=TAG20170201T173411 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 01-FEB-17 RMAN> delete obsolete;
using target database control file instead of recovery catalog
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=26 device type=DISK
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 2 01-FEB-17
Backup Piece 2 01-FEB-17 +FRA/orcl/backupset/2017_02_01/ncsnf0_tag20170201t122244_0.260.934806193 Do you really want to delete the above objects (enter YES or NO)? y
deleted backup piece
backup piece handle=+FRA/orcl/backupset/2017_02_01/ncsnf0_tag20170201t122244_0.260.934806193 RECID=2 STAMP=934806192
Deleted 1 objects ############
report命令
RMAN> report schema; Report of database schema for database with db_unique_name ORCL List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 750 SYSTEM *** +DATA1/orcl/datafile/system.256.934287737
2 550 SYSAUX *** +DATA1/orcl/datafile/sysaux.257.934287737
3 100 UNDOTBS1 *** +DATA1/orcl/datafile/undotbs1.258.934287737
4 5 USERS *** +DATA1/orcl/datafile/users.259.934287737
5 313 EXAMPLE *** +DATA1/orcl/datafile/example.269.934287837 List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 29 TEMP 32767 +DATA1/orcl/tempfile/temp.268.934287837

RMAN> report need backup database;

using target database control file instead of recovery catalog
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
1    0     /u01/app/oracle/oradata/testdb/system01.dbf
2    0     /u01/app/oracle/oradata/testdb/sysaux01.dbf
3    0     /u01/app/oracle/oradata/testdb/undotbs01.dbf
4    0     /u01/app/oracle/oradata/testdb/users01.dbf
5    0     /u01/app/oracle/oradata/testdb/lcpsys.dbf
6    0     /u01/app/oracle/oradata/testdb/monitor.dbf

RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
no obsolete backups found

RMAN> report need backup database;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------

RMAN> report unrecoverable;

Report of files that need backup due to unrecoverable operations
File Type of Backup Required Name
---- ----------------------- -----------------------------------

############

list命令

RMAN> list copy;

List of Datafile Copies
=======================

Key     File S Completion Time Ckp SCN    Ckp Time
------- ---- - --------------- ---------- ---------------
2       1    A 01-FEB-17       1084830    01-FEB-17
        Name: +FRA/orcl/datafile/system.261.934824851
        Tag: TAG20170201T173411

3       2    A 01-FEB-17       1084836    01-FEB-17
        Name: +FRA/orcl/datafile/sysaux.262.934824859
        Tag: TAG20170201T173411

5       3    A 01-FEB-17       1084840    01-FEB-17
        Name: +FRA/orcl/datafile/undotbs1.256.934824867
        Tag: TAG20170201T173411

7       4    A 01-FEB-17       1084843    01-FEB-17
        Name: +FRA/orcl/datafile/users.258.934824871
        Tag: TAG20170201T173411

4       5    A 01-FEB-17       1084839    01-FEB-17
        Name: +FRA/orcl/datafile/example.263.934824865
        Tag: TAG20170201T173411

List of Control File Copies
===========================

Key     S Completion Time Ckp SCN    Ckp Time
------- - --------------- ---------- ---------------
6       A 01-FEB-17       1084841    01-FEB-17
        Name: +FRA/orcl/controlfile/backup.257.934824871
        Tag: TAG20170201T173411

List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
4       1    11      A 01-FEB-17
        Name: +FRA/orcl/archivelog/2017_02_01/thread_1_seq_11.259.934826715

RMAN> list backup;

List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3       Full    80.00K     DISK        00:00:00     01-FEB-17
        BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20170201T173411
        Piece Name: +FRA/orcl/backupset/2017_02_01/nnsnf0_tag20170201t173411_0.264.934824873
  SPFILE Included: Modification time: 01-FEB-17
  SPFILE db_unique_name: ORCL

rman的使用的更多相关文章

  1. RMAN异机恢复快速参考

    应用场景:服务器A为正常运行的生产环境,需要在服务器B上部署一套相同环境做测试. 数据库环境:RHEL6.4 + Oracle 11.2.0.4.7 一. 服务器A备份数据库 1.1 在线备份(数据库 ...

  2. 用RMAN备份EBS数据库的脚本

    rman_bak.sh rman target / nocatalog log=/d01/rmanbak/bak_`date +%m%d%H%M`.log<< EOF  run  {  c ...

  3. RAC+asm通过rman恢复到单实例+asm

    1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指 ...

  4. RMAN Catalog创建、配置和管理

    环境:RHEL6.4 + Oracle 11.2.0.4 一.创建数据库catdb 1.1 官档的建库脚本示例 1.2 根据我实际环境修改如下项 1.3 创建必要目录并赋予权限 1.4 执行脚本建库 ...

  5. 使用RMAN创建复制数据库

    我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...

  6. DG环境数据库RMAN备份策略制定

    DG环境数据库RMAN备份策略制定: 主库(Primary) 全库备份 归档备份 删除历史文件夹 备库(Standby) 删除归档 引用说明 主库(Primary) $ crontab -l 0 1 ...

  7. 记录一则RMAN备份策略修正案例

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

  8. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例

    测试环境:     操作系统  :  Red Hat Enterprise Linux ES release 4 (Nahant Update 4)   VMWARE     数据库     :  O ...

  9. RMAN异机还原遭遇ORA-19698错误案例

    实验环境:               操作系统    :Oracle Linux Server release 5.7 64 bit               数据库版本:Oracle Datab ...

  10. RMAN备份脚本一列分享

    在ORACLE数据库中,RMAN备份的脚本非常多,下面介绍一例shell脚本如何通过RMAN备份,以及FTP上传RMAN备份文件以及归档日志文件的脚本. fullback.sh 里面调用RMAN命令做 ...

随机推荐

  1. Java异常机制

    Java异常分类 异常表明程序运行发生了意外,导致正常流程发生错误,例如数学上的除0,打开一个文件但此文件实际不存在,用户输入非法的参数等.在C语言中我们处理这类事件一般是将其与代码正常的流程放在一起 ...

  2. postfix之dovecot

    dovecot-1.0.rc14安装 注:我的系统是RHEL4一.RPM格式1.安装RPM包:2.编辑/etc/dovecot.conf其中,修改protocols = imap pop3 passd ...

  3. Java 集合深入理解(13):Stack 栈

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 今天心情不错,再来一篇 Stack ! 数据结构中的 栈 数据结构中,栈是一种线性数据结构,遵从 LIFO(后进先出)的操 ...

  4. 15、SQL基础整理(视图)

    视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select stude ...

  5. centOS5下安装redis make报错

    1:/tmp/redis-2.6.14/src/zmalloc.c:223:undefined reference to '__sync_add_and_fetch' make时加参数: make C ...

  6. excel表里的数据导入到数据库里

    采用的是jxl,所以需要导jxl-2.4.2.jar的jar包.(前提知道excel表的目录): //用log记录异常信息 private static final Logger log = Logg ...

  7. JDBC接口规范

    前言 JDBC(JavaDatabase Connectivity)表示Java查询引擎连接,由一组用Java编程语言编写的类和接口组成.JDBC为Java程序访问关系型查询引擎提供了编程接口,为查询 ...

  8. JAVA学习之Ecplise IDE 使用技巧(1)第一章:我的地盘我做主,工作空间

    麦子学院/Andriod应用开发/第一阶段 Android 学前准备 第三课:Eclipse IDE 使用技巧 由马一鸣老师讲解.感谢麦子学院免费开放这部分视频资源. Eclipse由IBM开发的,2 ...

  9. (基础篇)PHP与Web页面交互

    PHP与Web页面交互是实现PHP网站与用户交互的重要手段.在PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 这里我们将详细讲解表单的相关知识,为 ...

  10. 使用labview对kinect进行开发

    一.必要工具: LabVIEW 2011 或更高版本 用于Microsoft Kinect的Kinesthesia工具包 - 利兹大学(University of Leeds) 详情参见(先注册ni) ...