`
gaoyuntao2005
  • 浏览: 311078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RMAN备份与恢复资料

 
阅读更多

sqlplus /nolog
   conn /as sysdba
   archive log list (查看数据库是否处于归档模式中)

   若为非归档,则修改数据库归档模式。
   startup mount
   alter database archivelog
   alter database open

2.连接到target数据库

命令: connect target  / (connect target system/oracle@ora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库)
可以连接到target database.(rman 一边连接到target数据库,另外一边连接到control file(nocatalog mode),control file 中存储rman 的备份信息)

3.用list backupset 命令查看有没有备份的东西

4. 常用备份命令:
 备份全库:
RMAN> backup database plus archivelog delete input;     (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)
备份表空间:
RMAN> backup tablespace system plus archivelog delete input;     (备份指定表空间及归档的重做日志,并删除旧的归档日志)_
备份归档日志:
RMAN> backup archivelog all delete input;


======================对整个数据库进行备份==================

1.对整个数据库进行全备份(full backup)。

    只要输入命令: backup database;

2.list backupset 查看备份的具体信息

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

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1       Full    6.80M      DISK        00:00:02     06-DEC-08     
        BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20081206T201041
        Piece Name: /home/oracle/flash_recovery_area/ORA10G/backupset/2008_12_06/o1_mf_ncsnf_TAG20081206T201041_4mntz78s_.bkp
  Control File Included: Ckp SCN: 782019       Ckp time: 06-DEC-08
  SPFILE Included: Modification time: 06-DEC-08

BS(backupset), piece是一个文件,一个BS包含多个piece.

3.rman中缺省的参数,可以通过 show all ;
来进行查看(RMAN configuration parameters),我们在使用backup database命令中,可以把这些default value 用固定的值来进行替代.

4.我们可以把备份的文件才备份的目录中拷贝到磁带上,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了
5.查看control file 文件中的备份信息(因为我们做的备份是在nocatalog模式下),control file 在/u01/oracle/oradata/ora10g目录下,由于control file 是个二进制文件,要查看control file 文件中的内容,用strings control03.ctl,发现control03.ctl中有rman备份的信息了

 
====================0级增量备份===============

概念:全备份和0级增量备份。全备份和0级增量备份几乎是一样的。唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础。其它方面完全一致

1.backup incremental level=0(leve 0) database;(增量为0的备份)
2.backup incremental level 1(level=1) database;(增量为1的备份)
 
在上面的备份中,我们备份了datafile,controlfile和parameter file.没有备份的文件有归档日志,重做日志和口令文件没有备份.口令文件不需要备份,我们用orapw来创建一个

新的口令文件.rman 在nocatalog模式下,不能够对redo log file 进行备份


===================备份archivelog 在nocatalog模式下=================

命令:backup database plus archivelog delete input(delete input的意思在备份完成后,删除 archivelog文件,这个选项可要可不要,这个命令也可以用 backup incremental level=0(1,2...)来进行备份)


=======================备份表空间====================

backup tablespace tablespacename

如果我们不知道tablespace的名字,在rman中,可要通过report schema命令,来查看表空间的名字

MAN> report schema;
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    480      SYSTEM               ***     /home/oracle/oradata/ora10g/system01.dbf
2    25       UNDOTBS1             ***     /home/oracle/oradata/ora10g/undotbs01.dbf
3    250      SYSAUX               ***     /home/oracle/oradata/ora10g/sysaux01.dbf
4    5        USERS                ***     /home/oracle/oradata/ora10g/users01.dbf
5    200      PERFSTAT             ***     /home/oracle/oradata/ora10g/perfstat.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /home/oracle/oradata/ora10g/temp01.dbf

========================备份控制文件====================

backup current controlfile

backup database include current controlfile

========================备份镜像========================

在rman的备份中有两种方式:备份集(backupset)和备份镜像(image copies).镜像备份主要是文件的拷贝:copy datafile ... to ...

我们在rman>report schema;

Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    480      SYSTEM               ***     /home/oracle/oradata/ora10g/system01.dbf
2    25       UNDOTBS1             ***     /home/oracle/oradata/ora10g/undotbs01.dbf
3    250      SYSAUX               ***     /home/oracle/oradata/ora10g/sysaux01.dbf
4    5        USERS                ***     /home/oracle/oradata/ora10g/users01.dbf
5    200      PERFSTAT             ***     /home/oracle/oradata/ora10g/perfstat.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /home/oracle/oradata/ora10g/temp01.dbf

rman>copy datafile 5 to '/u01/rmanbak/tbso1bak.dbf';(copy 5 对应的schme:perfstat.dbf)

它会把tbs作为一个拷贝。我们用list backupset来看,不能够查看我们刚备份的 tbs01bak.dbf',因为它不是backupset. 我们用list copy 就能够查看我们刚才刚刚备份的文件

 
=======================单命令与批命令=================

单命令: backup database;

批命令:

rman> run{
 2> allocate channel cha1 type disk;
 3> backup
 4> format '/u01/rmanbak/full_%t'
 5> tag full-backup //标签可以顺便起,没关系
 6> database;
 7> release channel cha1;
 8>}

这个run中有3条命令,分别用分号来进行分割.

format:
%c:备份片的拷贝数(从1开始编号);
%d:数据库名称;
%D:位于该月中的天数(DD);
%M:位于该年中的月份(MM);
%F:一个基于DBID唯一的名称,这个格式的形式为c-xxx-YYYYMMDD-QQ,其中xxx位该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列;
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集产生一个唯一的名称;
%p:表示备份集中的备份片的编号,从1开始编号;
%U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(既磁盘文件)生成一个唯一的名称,这是最常用的命名方式;
%t:备份集时间戳;
%T:年月日格式(YYYYMMDD);

channel的概念:一个channel是rman于目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份和恢复操作使

用的I/O类型

通道控制命令可以用来:
      控制rman使用的OS资源
      影响并行度
      指定I/O带宽的限制值(设置 limit read rate 参数)
      指定备份片大小的限制(设置 limit kbytes)
      指定当前打开文件的限制值(设置 limit maxopenfiles)

 
=================================RMAN一周典型备份方案============================

1.星期天晚上      -level 0 backup performed(全备份)
2.星期一晚上      -level 2 backup performed
3.星期二晚上      -level 2 backup performed
4.星期三晚上      -level 1 backup performed
5.星期四晚上      -level 2 backup performed
6.星期五晚上      -level 2 backup performed
7.星期六晚上      -level 2 backup performed

 
如果星期二需要恢复的话,只需要1+2,
如果星期四需要恢复的话,只需要1+4,
如果星期五需要恢复的话,只需要1+4+5,
如果星期六需要恢复的话,只需要1+4+5+6.

自动备份:备份脚本+crontab
 bakl0
 bakl1
 bakl2

执行脚本:
rman target / msglog=bakl0.log cmdfile=bakl0 (/表示需要连接的目标数据库,msglog表示日志文件,cmdfile表示的是脚本文件)
rman target / msglog=bakl1.log cmdfile=bakl1
rman target / msglog=bakl2.log cmdfile=bakl2

实例:rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0


完整的命令:/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

 
把备份脚本放到/u01/rmanbak/script目录下面,vi bakl0,bakl0的内容为:

run{
    allocate channel cha1 type disk;
    backup
    incremental level  0
    format '/u01/rmanbak/inc0_%u_%T'(u表示唯一的ID,大T是日期,小t是时间)
    tag monday_inc0 //标签可以顺便起,没关系
    database;
    release channel cha1;
    }
,类似就可以写出bakl1,bakl2相应的脚本.

 
自动备份
crontab
crontab -e -u oracle(改命令的意思是编辑oracle用户的定时执行(-e,edit -u oracle,oracle用户))

分  时  日 月 星期(0代表星期天)
45 23  *  *    0    rman target / msglog=bakl0.log cmdfile=bakl0(星期天的23:45会以oracle用户的身份来执行命令)
45 23  *  *    1    rman target / msglog=bakl2.log cmdfile=bakl2
45 23  *  *    2    rman target / msglog=bakl2.log cmdfile=bakl2
45 23  *  *    3    rman target / msglog=bakl1.log cmdfile=bakl1
45 23  *  *    4    rman target / msglog=bakl2.log cmdfile=bakl2
45 23  *  *    5    rman target / msglog=bakl2.log cmdfile=bakl2
45 23  *  *    6    rman target / msglog=bakl2.log cmdfile=bakl2

然后启动crontab ,启动crontab的命令:
root> service crond restart
 
=======================RMAN恢复================

在非catalog模式下,备份的信息存储在controlfile文件中,如果controlfile文件发生毁坏,那么就不能能够进行恢复,
使用在备份的时候需要把controlfile也进行自动备份
 
RMAN>show all;
using target database control file instead of recovery catalog
RMAN configuration parameters 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 MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/product/10.20/dbs/snapcf_ora10g.f'; # default

其中CONFIGURE CONTROLFILE AUTOBACKUP OFF; 没有对controlfile进行 autobackup,使用我们需要运行下面命令来对controlfile进行自动备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> show all;

手动备份控制文件:
backup current controlfile


Dbid表示database的一个ID,将来用于恢复spfile和controlfile时候要用到.
RMAN> connect target /
connected to target database: ORA10G (DBID=3988862108)
这个Dbid=3988862108
 

RMAN> list backup;查看以前备份的信息
RMAN>delete backupset 24;//24代表backupset 的编号
RMAN>backup format '/u01/rmanbak/full_%T_%U.bak' database plus archivelog;(进行一次全备份)

验证备份:
RMAN> validate backupset 3;  //3代表backupset的编号

口令文件丢失(不属于rman备份的范畴),我们只需要用一个命令来重建这个文件就可以了:
orapw file=orapwsid password=pass entries=5;  //口令文件的路径:/u01/oracle/product/10.20/db_1/dbs目录下
oracle> cd /u01/oracle/product/10.20/db_1/dbs
oracle> rm orapwora10g;(文件删除,模拟丢失)
oracle> orapwd file=orapwora10g password=oracle entries=5;(重新建立一个文件),entries的意思(DBA的用户最多有5个)

SPFILE丢失:
startup nomount;
set dbid 3988862108;
restore spfile from

 

分享到:
评论

相关推荐

    Oracle 11g R2 Rman备份与恢复_刘耀龙的博客-CSDN博客_rman备份.pdf

    Oracle 11g R2 的 RMAN (Recovery Manager) 是 Oracle 数据库管理系统中的一个关键工具,主要用于数据库的备份和恢复。RMAN 提供了一种高效且灵活的方式来管理和保护数据库,确保在数据丢失或系统故障时能够快速恢复...

    《Oracle Database 11g RMAN备份与恢复》PDF版本下载.txt

    《Oracle Database 11g RMAN备份与恢复》PDF版本下载

    rman备份与恢复(教程与案例)

    本文将深入探讨RMAN备份与恢复的基本概念、操作步骤以及实用案例。 一、RMAN备份基础 RMAN是Oracle数据库自带的一个命令行工具,它可以执行多种类型的备份,包括完整数据库备份、增量备份、表空间备份、数据文件...

    RMAN备份与恢复

    RMAN 备份与恢复 RMAN(Recovery Manager)是 Oracle 官方提供的一种备份和恢复工具,旨在帮助数据库管理员快速、可靠地备份和恢复数据库。下面将详细介绍 RMAN 备份与恢复的相关知识点。 一、RMAN 连接 RMAN ...

    顶级DBA漫谈Oracle Rman备份与恢复

    以下是Oracle RMAN备份与恢复的相关知识点: 备份恢复概述 备份恢复是DBA管理员的基本技能之一,旨在保护数据库中的数据免受意外损坏或丢失。 Oracle RMAN提供了强大的备份和恢复功能,帮助DBA管理员快速恢复...

    Oracle数据库RMAN备份与恢复.pdf

    Oracle数据库RMAN备份与恢复 Oracle数据库提供了物理备份和逻辑备份两种方式,RMAN(Recovery Manager)技术是DBA常用的备份技术。RMAN备份特点是跳过未使用的数据块,使用Oracle特有的二进制压缩模式,能够最大...

    Oracle Database 11g RMAN备份与恢复 中文版

    《Oracle Database 11g RMAN备份与恢复》主要内容简介:《Oracle Database 11g RMAN...作为权威的资源,《Oracle Database 11g RMAN备份与恢复》也提供有关创建报告、优化性能以及执行第三方管理实用程序的相关资料。

    Oracle Database 11g RMAN备份与恢复

    本书《Oracle Database 11g RMAN备份与恢复》不仅对前一版本的内容进行了修订,也增加了许多新内容,以帮助读者掌握最新的RMAN使用方法。 在学习RMAN之前,需要对Oracle数据库的基础备份与恢复有所了解。Oracle...

    Rman备份与恢复

    ### RMAN备份与恢复知识点详解 #### 一、概述 RMAN(Recovery Manager)是Oracle数据库提供的一个强大且功能全面的数据备份与恢复工具。它主要用于实现对Oracle数据库的完整或部分备份,以及在出现故障时进行恢复。...

    Oracle_Rac环境Rman备份与恢复

    Oracle RAC 环境 RMAN 备份与恢复 Oracle RAC 环境中的备份和恢复是非常重要的,特别是在生产环境中。在 RAC 环境中,备份和恢复的操作与普通数据库环境有所不同。本文将详细介绍 RAC 环境中的 RMAN 备份与恢复,...

    RMAN备份与恢复步骤

    RMAN备份与恢复步骤 RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它提供了强大的备份和恢复功能。在本文中,我们将详细介绍RMAN的备份和恢复步骤。 切换服务器归档模式 在开始备份之前,我们需要将...

    rman备份与恢复

    ### RMAN备份与恢复知识点详解 #### 一、RMAN简介 RMAN(Recovery Manager)是Oracle数据库中用于执行备份、恢复以及灾难恢复的重要工具。它提供了强大的自动化功能,可以进行在线或离线的数据备份,并支持增量备份...

    Oracle+Database+11g+RMAN备份与恢复.pdf

    Oracle 数据库物理体系结构 Oracle 操作内核 ARCHIVELOG模式操作与 NOARCHIVELOG 模式操作 Oracle 恢复模式 Oracle 中的手动备份操作 Oracle 中的手动恢复操作

    oracle 11g rman 备份与恢复

    本书《Oracle Database 11g RMAN备份与恢复》由Robert G. Freeman和Matthew Hart撰写,由王念滨和陈子阳翻译,由清华大学出版社出版,全中文书签扫描版,为中文读者提供了深入理解和应用RMAN的强大资源。 RMAN作为...

    Oracle数据库RMAN备份与恢复技术

    ### Oracle数据库RMAN备份与恢复技术详解 #### 引言 在信息技术领域,数据安全与完整性至关重要。Oracle数据库,作为全球领先的数据库管理系统之一,提供了多种数据保护机制,其中RMAN(Recovery Manager,恢复...

    Oracle+9i+RMAN备份与恢复技术

    Oracle+9i+RMAN备份与恢复技术

    ORACLE数据库RMAN备份恢复[参照].pdf

    ORACLE 数据库 RMAN 备份恢复 ORACLE 数据库 RMAN 备份恢复是指使用 ORACLE 的 Recovery Manager(RMAN)工具对数据库进行备份和恢复的过程。RMAN 是 ORACLE 数据库管理系统中的一种备份和恢复工具,能够对数据库...

    Oracle 12c备份恢复-RMAN工具技术手册

    Oracle 12c 备份恢复-RMAN 工具技术手册 本文档旨在提供 Oracle 12c 备份恢复的技术手册,主要介绍 RMAN 工具的概念、架构、备份类型和使用方法。 一、RMAN 概念 RMAN(Recovery Manager)是 Oracle 推荐的备份和...

Global site tag (gtag.js) - Google Analytics