• 博客访问: 2859442
  • 博文数量: 335
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-30 13:07
个人简介

暂无介绍

文章分类

全部博文(335)

文章存档

2016年(1)

2012年(5)

2011年(38)

2010年(48)

2009年(70)

2008年(173)

分类: Linux操作系统

2008-05-07 18:00:38

备份&恢复系列之三:在linux中对oracle用rman脚本备份!



测试环境:
1      操作系统:Redhat Linux 5
[oracle@mzl proc]$ cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007

2     数据库版本:Oracle10g
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

3     数据库的名字:orcl
SQL> show parameter db_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      orcl

4    数据库的所有数据文件所在位置
SQL> select file#,status,enabled,name from v$datafile;

     FILE# STATUS  ENABLED    NAME
---------- ------- ---------- ------------------------------------------
         1 SYSTEM  READ WRITE /u01/app/oracle/oradata/orcl/system01.dbf
         2 ONLINE  READ WRITE /u01/app/oracle/oradata/orcl/undotbs01.dbf
         3 ONLINE  READ WRITE /u01/app/oracle/oradata/orcl/sysaux01.dbf
         4 ONLINE  READ WRITE /u01/app/oracle/oradata/orcl/users01.dbf
         5 ONLINE  READ WRITE /u01/app/oracle/oradata/orcl/example01.dbf

5   控制文件的所在位置
SQL> select * from v$controlfile;

STATUS  NAME                                       IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- ------------------------------------------ --- ---------- --------------
        /u01/app/oracle/oradata/orcl/control01.ctl NO       16384            430
        /u01/app/oracle/oradata/orcl/control02.ctl NO       16384            430
        /u01/app/oracle/oradata/orcl/control03.ctl NO       16384            430

6    重做日志文件位置
SQL> col member format a45
SQL> l
  1* select * from v$logfile
SQL> /

    GROUP# STATUS  TYPE    MEMBER                                        IS_
---------- ------- ------- --------------------------------------------- ---
         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log       NO
         2 STALE   ONLINE  /u01/app/oracle/oradata/orcl/redo02.log       NO
         1 STALE   ONLINE  /u01/app/oracle/oradata/orcl/redo01.log       NO

7      我在/home/mzl/BackupDatabase/目录下写个backup.rcv脚本
 [oracle@mzl proc]$ vi /home/mzl/BackupDatabase/backup.rcv
脚本内容如下:
#   script.:bakup.rcv
#   creater:mengzhaoliang
#   date:7.5.2008
#   desc:backup all database datafile in archive with rman

# connect database
export ORACLE_SID=ORCL
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup full tag 'dbfull' format '/home/mzl/BackupDatabase/full_%u_%s_%p' database
include current controlfile;
sql 'alter system archive log current';
release channel c1;
}
# end


8  给脚本赋予执行的权限
[oracle@mzl BackupDatabase]$ chmod +x backup.rcv




9      在linux启动一个终端执行该hotbak.sql脚本
[oracle@mzl BackupDatabase]$ ./backup.rcv

        热备份完毕!








说明:
1      RMAN>list backup;
2       RMAN>delete backup;

piter:
1、        数据库必须运行在归档模式下
2、        RMAN将自动备份数据文件,运行可靠
3、        归档日志另外备份处理,但至少需要保存一次备份来的日志
4、        没有必要用RMAN做冷备份,效果不好

阅读(3516) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册