【Oracle篇】rman工具实用指南:常用命令详解与实践(第二篇,总共八篇)

news2024/10/7 14:29:43

💫《博主介绍》:又是一天没白过,我是奈斯,DBA一名

💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️

💖💖💖大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注💖💖💖

    今天作为rman(Recovery Manager)相关内容第二篇——rman工具实用指南:常用命令详解与实践。那么从这篇开始就进入到了rman实践部分了,所以各位小伙伴们可以打起十二分的精神了。在系统层面输入 rman target / 就可以进入到rman工具内部了,进入到工具内部后的参数如同繁星点点,所以各种参数的使用真的需要大家好好研究一番,那么带着这个问题让我们进入今天的内容。

    然而,RMAN所涉及的内容之广、之深,使得难以在单篇文章中全面涵盖。所以我将理论、命令、备份策略、异机恢复、坏块处理等分成八篇文章去讲,即使分为八篇也有不少内容没有涵盖到,所以这八篇文章都是精华,看完这八篇就可以解决95%以上的RMAN相关工作内容了。八篇文章的内容分别如下:

  • 第一篇:rman物理备份工具的基础理论概述
  • 第二篇:rman工具实用指南:常用命令详解与实践(当前篇)
  • 第三篇:rman标准化全库备份策略:完整备份or增量备份
  • 第四篇:rman全库异机恢复:从RAC环境到单机测试环境的转移
  • 第五篇:rman全库异机恢复:从单机环境到RAC测试环境的转移
  • 第六篇:rman时间点异机恢复:从单机环境到单机测试环境的转移
  • 第七篇:Oracle数据库物理坏块处理:rman修复坏块实践与案例分析
  • 第八篇:逻辑备份工具expdp(exp)/impdp(imp)和物理备份工具rman的区别和各自的使用场景总汇

                          

目录

1.1 rman常用命令之backup(进行备份)

1.2 rman常用命令之list(查看实例备份的信息)

1.3 rman常用命令之restore(从RMAN备份中还原文件,为恢复做准备)

1.4 rman常用命令之recover(用于恢复数据库)

1.5 rman常用命令之delete(删除备份)

1.6 rman常用命令之report(用于判断实例当前可恢复状态、以及已有备份的信息)

1.7 rman常用命令之configure(设置和修改RMAN的配置参数)

1.8 rman常用命令之set(定义或更改当前RMAN会话的某些设置)

1.9 rman常用命令之crosscheck(交叉效验RMAN备份)

1.10 rman常用命令之validate(查看给定的备份集和进行验证以确保这个备份集能够被还原)

1.11 rman常用命令之Switch(更新数据文件、表空间、数据库或临时文件在控制文件中的位置信息)

1.12 rman常用命令之blockrecover(通过RMAN备份修复坏块)

1.13 rman常用命令之catalog(将未识别的RMAN备份集注册到控制文件)

1.14 rman常用命令之convert(对数据文件进行字节格式转换)


         

    首先在系统层面输入rman --help,就可以查看rman工具的使用了。

参数选项

描述

target

目标数据库的连接字符串

catalog

catalog恢复目录的连接字符串

nocatalog

如果指定,则没有恢复目录

cmdfile

输入命令文件的名称

log

输出消息日志文件的名称

    使用rman命令进到终端,首先连到target目标实例,然后连接到catalog/nocatalog数据库:

1)本地连接:

本地连接nocatalog数据库(常用):

[oracle@lf ~]$ rman target /       ###target / 表示使用sys连接到目标数据库实例。

本地连接catalog数据库:

[oracle@lf ~]$ rman target /  catalog rman/123456@orcl       ###target / 表示使用sys连接到目标数据库实例。 rman用户是创建catalog数据库时,一起创建的  

                

2)客户端连接:

客户端连接nocatalog数据库(常用):

C:\Users\Administrator>rman target sys/123456@orcl   ###不指定catalog/nocatalog默认使用nocatalog,也就是将rman备份信息保存在控制文件

客户端连接catalog数据库:

C:\Users\Administrator>rman target sys/123456@orcl  catalog rman/123456@orcl  ###不指定catalog/nocatalog默认使用nocatalog,也就是将rman备份信息保存在控制文件

                

3)进入rman命令里面连接:

[oracle@lf ~]$ rman

连接nocatalog数据库(常用):

RMAN> connect target /     ###不指定catalog/nocatalog默认使用nocatalog,也就是将rman备份信息保存在控制文件

连接catalog数据库:

RMAN> connect catalog rman/123456@orcl  

           

备份文件的格式介绍:

使用format参数时可使用的各种替换变量,如下(注意大小写)所示:

%d:Oracle数据库名称。

%D:当前时间中的日,格式为DD。

%e:归档序号。

%f:绝对文件编号。

%h:归档日志线程号。

%I:Oracle 数据库的 DBID。

%N:表空间名称。

%t:备份集时间戳。

%p:备份集中备份片段的编号,从1开始。

%t:当前时间的年月日格式(YYYYMMDD)。

%s:备份集号。

%M:当前时间中的月,格式为 MM。

%Y:当前时间中的年,格式为 YYYY。

%c:备份片段的复制数(从1开始编号,最大不超过256)。

%a:Oracle数据库的 activation ID即RESETLOG_ID。

%U:默认是%u_%p_%c 的简写形式,利用它可以为每一个备份片段(即磁盘文件)。

%n:数据库名称,并且会在右侧用 x 字符进行填充,使其保持长度为 8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx。

%u:是一个由备份集编号和建立时间压缩后组成的 8 字符名称。利用%u 可以为每个 备份集生成一个唯一的名称。

%F:基于"DBID+时间"确定的唯一名称,格式的形式为 c-IIIIIIIIII-YYYYMMDD-QQ,,其中 IIIIIIIIII 为该数据库的 DBID,YYYYMMDD 为日期,QQ 是一个 1~256 的序列。

注意:1)如果在 BACKUP 命令中没有指定 FORMAT 选项,则 RMAN 默认使用%U为备份

          2)%f 是基于dbid 的唯一名称,这个格式形式为c-iiiiiiiiii-yyyymmdd-qq其中iiiiiiiii 是该数据库的dbid,yyyymmdd 为日期,qq 是 1-256 的序列号。

                          

rman可用的命令:

RMAN> help;      ###rman的功能非常丰富

       

             

1.1 rman常用命令之backup(进行备份)

    在Oracle的RMAN(Recovery Manager)中,BACKUP命令用于执行数据库、归档日志、控制文件等的备份。

1)验证备份

RMAN> backup validate database;    ###扫描数据库的物理/逻辑错误,并不执行实际备份,如果有坏块会报出来。验证每个数据文件,status为FAILED,Blocks Failing(坏块)有内容需要先dbv验证坏块编号,然后rman修复坏块

File  Status  Marked Corrupt  Empty Blocks  Blocks Examined  High SCN
----   ------    --------------       ------------      ---------------     ----------
4    FAILED      0             4797         26249        1620953   
  File Name: /oracle/app/oracle/oradata/orcl/users.294.1048669455
  Block Type  Blocks Failing  Blocks Processed
  ----------      --------------     ----------------
  Data          1             15587           
  Index         0              2210            
  Other         0              3646 

2)全备(默认备份全部数据、控制、参数文件,不包括归档日志)

RMAN> backup database tag=full_bak_20200508;    ###全备实例,tag是将备份集命名
or
RMAN> backup tag orcl_full format '/backup/full/orcl_full_%s_%p_%t'  database; 

3)全备设置备份集大小,默认无限制

RMAN> backup database maxsetsize=2g tag=full_bak_20200508;     ###如果全备上T的数据库,那么一次备份的所有结果为一个备份集,会影响备份进度,所以按需设置备份集大小

4)表空间备份

RMAN> backup tablespace tablespace_name;  

5)控制文件备份

RMAN> backup current controlfile;
or
RMAN> backup tag orcl_ctl format '/backup/full/orcl_ctl_%s_%p_%t' current controlfile;

6)参数文件备份

RMAN> backup tag orcl_spfile format '/backup/full/orcl_spfile_%s_%p_%t'  spfile; 

7)归档备份

RMAN>backup tag orcl_arch format '/backup/full/orcl_arch_%s_%p_%t' archivelog all;  

                         

1.2 rman常用命令之list(查看实例备份的信息)

    在Oracle的RMAN(Recovery Manager)中,LIST命令用于查询和显示与备份和恢复相关的各种信息。这个命令在数据库控制文件或恢复目录中查询备份的历史信息。

1)查看数据库对应物

RMAN> list incarnation;         ###查看数据库对应物,和每次的resetlogs有关。 需要使用上次执行resetlogs命令打开数据库前生成的一个备份来进行还原数据库,或者可能需要还原到执行上一个resetlogs命令之前的时间点,并且日志序列号会重置(切换对应物语法:reset database to incarnation 4;)
  db_name:数据库名称(v$database.name) 
  db id:db id(v$database.dbid) 
  Status:是否为当前,如果数据库有被多次用 resetlogs 打开的话,这里会有多条记录 
  reset scn:resetlogs 的scn 
  reset time:resetlogs 的time

2)查看所有归档日志

RMAN> list archivelog all;       

3)查看备份集信息(详细)

RMAN> list backup;        

4)查看备份集信息(简洁)

RMAN> list backup summary;   
   b 表示 backup 
   a 表示 archivelog、 f 表示 full backup、 0,1,2 表示 incremental level 备份 
   a 表示可用 avaliable、 x 表示 expired 

5)列出过期的备份文件

RMAN> list expired backup;   

6)列出copy的文件

RMAN> list copy;           

               

1.3 rman常用命令之restore(从RMAN备份中还原文件,为恢复做准备)

    在Oracle的RMAN(Recovery Manager)中,RESTORE命令用于从RMAN备份中还原文件,为恢复做准备。这个命令允许你指定要还原的备份集、数据文件、归档日志、控制文件等。从RMAN备份中还原文件,为恢复做准备。restore和recover有本质区别,restore是从rman备份中还原文件(copy文件),而recover是通过归档恢复数据,追加到最新。

    使用restore命令,该命令会在没有认识提示的情况下会重写已经存在的任何文件,除非使用set newname命令可以设置还原文件的新路径

1)参数文件的恢复

RMAN>restore spfile from '/backup/full/orcl_spfile_61_1_1040095433';        ###通过备份集恢复参数文件
or
RMAN>restore spfile from autobackup;        ###自动恢复参数文件,前提‘CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default’为on,开启控制文件的自动备份,会同时备份参数、控制文件

2)控制文件的恢复

RMAN> restore controlfile from '/backup/full/orcl_ctl_60_1_1040095416';    ###通过备份集恢复控制文件
or
RMAN> restore controlfile to '/data/control.ctl' from '/backup/full/orcl_ctl_60_1_1040095416';   ###恢复控制文件到新路径
or
RMAN>restore controlfile  from  autobackup ;      ###自动恢复控制文件,首先‘CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default’为on,开启控制文件的自动备份,会同时备份参数、控制文件

3)归档日志的恢复

方式一:还原所有归档日志

RMAN> restore archivelog all;

方式二:还原一天内的归档日志

RMAN> 
run{
ALLOCATE CHANNEL ch00 TYPE disk;
set archivelog destination to '/data/COST4/arch';
restore archivelog from time 'sysdate-1';   ###还原一天内的归档日志
release channel ch00;
}

方式三:还原线程2的归档日志序列

RMAN>
run{
ALLOCATE CHANNEL ch00 TYPE disk;
set archivelog destination to '/home/oracle';
RESTORE ARCHIVELOG sequence BETWEEN 5877 AND 5971 thread 2;   ###还原线程2的5877到5971归档日志序列
release channel ch00;
}

           

1.4 rman常用命令之recover(用于恢复数据库)

    在Oracle的RMAN(Recovery Manager)中,RECOVER命令用于恢复数据库或数据文件的完整性和一致性。它基于RMAN备份或归档日志来恢复数据,确保在故障发生后,数据库能够恢复到某个一致的状态。recover 命令用于通过归档恢复数据库。可以再rman下运行也可以在sqlplus下运行。restore和recover有本质区别,restore是从rman备份中还原文件(copy文件),而recover是通过归档恢复数据,追加到最新。

    该命令可以执行数据库的完全恢复或者时间点恢复。 Recover 命令确定需要哪些归档的重做日志,并且析取和应用他们。一旦完成重做的应用,我们就只需要使用 alter database open 命令打开数据库即可。

原理:recover的原理是数据库使用控制文件的scn作为恢复的终点,将数据文件block恢复到控制文件所记录的scn为止。

1)所有数据文件作为一个整体恢复

RMAN> recover database        ###通过v$recover_file确定

2)数据文件单个恢复

RMAN> recover  datafile  file_id1,file_id2  ###通过v$recover_file确定

              

1.5 rman常用命令之delete(删除备份)

    在Oracle的RMAN(Recovery Manager)中,DELETE命令用于删除备份和副本,或者更改它们在恢复目录或控制文件中的状态。

    备份集不是永远存在的。可以使用保存策略标记备份有效性和生存期的结束。但是备份策略的实施不会从RMAN 目录中删除备份,而只是将这些备份标记为丢弃状态。

    delete命令对备份和副本的影响很大。通过delete命令,可以删除基于保存标准被标记为丢弃的任何备份,还可以将恢复目录或控制文件中的备份从expired 状态变为deleted状态。

1)删除某个备份集

RMAN> delete backup tag tag_name;     ###tag_name通过list backup命令确定

2)删除所有备份集

RMAN> delete backup;

3)删除过期的备份集

RMAN> delete noprompt expired backup;   

###执行delete backup命令时,rman只会删除available可以的备份集,而expired不可用的需要加上expired参数,显示expired的备份集表示没有物理存在于备份介质上。注意:在删除过期的备份之前需要先执行crosscheck backup验证,不然只执行删除过期的备份,就算有过期的备份,执行之后也是不会删除相关信息的

使用命令RMAN> crosscheck backup;       ###验证所有备份集中过期的备份集
  每个备份集或副本的状态码。 在不同的备份状态码中,分为两种状态: 
   (1)A(Available:可用):RMAN认定该项存在于备份介质上 
   (2)X(Expired:不可用):这个备份集片或副本上存储的 RMAN 目录(即控制文件或恢复目录)中,但是并没有物理存在于备份介质上

4)删除某个归档

RMAN> delete archivelog sequence seq_number thread 线程1 or 2;    ###seq_number通过list archivelog all命令确定

5)删除多个归档(区间)

RMAN> delete archivelog sequence between seq_number and seq_number thread 线程1 or 2;      ###seq_number通过list archivelog all命令确定

6)删除所有归档

RMAN>delete archivelog all;   

7)删除过期的归档备份

RMAN>delete noprompt expired archivelog all;  

###执行delete archivelog all;命令时,rman只会删除validation succeed ed for archived log可以的归档,而validation failed不可用的需要加上expired参数,显示expired的备份表示没有物理存在于备份介质上。注意:在删除过期的归档之前需要先执行crosscheck archivelog all验证,不然只执行删除过期的归档,就算有过期的归档,执行之后也是不会删除相关信息的(亲测)

使用命令RMAN>crosscheck archivelog all;           ###验证所有备份集中过期的归档
  每个备份集或副本的状态码。 在不同的备份状态码中,分为两种状态: 
    (1)validation succeeded for archived log:RMAN认定该项存在于备份介质上 
    (2)validation failed for archived log:这个归档或副本上存储的 RMAN 目录(即控制文件或恢复目录)中,但是并没有物理存在于备份介质上

8)删除废弃的备份集

RMAN>delete noprompt obsolete;        

###删除已废弃的备份集。configure retention policy to redundancy默认值是1,设置备份文件保留多长时间,超出备份次数的文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的文件和删除废弃的文件。RMAN不自动删除废弃的备份文件。废弃与过时(expired)不同。备份是否废弃由备份保留策略确定,废弃的备份文件是在介质还原中不再需要的(not needed)。过时的文件是不再存在的文件(not found),可用CROSSCHECK命令查看过时信息注意:在删除废弃的备份集之前需要先执行report obsolete;验证,不然只执行删除废弃的备份集,就算有废弃的备份集,执行之后也是不会删除相关信息的(亲自测试后这点和过期的备份集和过期的归档备份集不一样,前者都需要先验证;而删除废弃的备份集是不需要report obsolete验证的可以直接执行delete noprompt obsolete就可以删除相关信息,但是为了统一理解,在delete noprompt obsolete前也加上report obsolete

使用命令RMAN> report obsolete;    ###报告已丢弃的备份集(配置了保留策略)
  RMAN retention policy is set to redundancy 1(RMAN保留策略设置为冗余1),因为备份了两次,那么上一次的也是就这次的就会被表示为废弃(obsolete),RMAN不自动删除废弃的备份文件

        

1.6 rman常用命令之report(用于判断实例当前可恢复状态、以及已有备份的信息)

    在Oracle的RMAN(Recovery Manager)中,REPORT命令用于生成与备份和恢复相关的报告。这些报告提供了关于数据库备份、恢复窗口、备份冗余等方面的信息。

1)报告目标数据库实例的信息

RMAN> report schema;      

2)报告已丢弃的备份集

RMAN> report obsolete;          
###报告已丢弃的备份集(默认值是1)。configure retention policy to redundancy默认值是1,设置备份文件保留多长时间,超出备份次数的文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的文件和删除废弃的文件。RMAN不自动删除废弃的备份文件。废弃与过时(expired)不同。备份是否废弃由备份保留策略确定,废弃的备份文件是在介质还原中不再需要的(not needed)。过时的文件是不再存在的文件(not found),可用CROSSCHECK命令查看过时信息。

3)报告当前数据库中不可恢复的数据文件

RMAN> report unrecoverable;     
###报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期。rman恢复之前查看不可恢复的数据文件,以免在恢复时因为不可恢复的数据文件浪费时间) 

4)报告需要备份的数据文件

RMAN> report need backup;  

          

1.7 rman常用命令之configure(设置和修改RMAN的配置参数

    在Oracle的RMAN(Recovery Manager)中,CONFIGURE命令用于设置和修改RMAN的配置参数。这些配置参数控制RMAN的行为和备份策略。

RMAN> show all;     ###备份使用中所有可调整的参数

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default        ###备份策略的保留份数,默认保留1份。如果再次备份时,会将前面备份的数据删除,永远只有1份
CONFIGURE BACKUP OPTIMIZATION OFF; # default                 ###备份优化,默认关闭。如果开启,假如表空间为只读模式,在第一次进行备份,以后会跳过只读的备份,减少没必要的备份,提升备份速度。
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default             ###配置默认备份设备可以是sbt(磁带),disk(硬盘)。 默认是硬盘
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default              ###备份时是否自动备份控制文件,默认关闭。
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default      ###控制文件自动备份格式,此参数需要开启CONTROLFILE AUTOBACKUP参数才有效
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default         ###配置设备类型磁盘并行度1备份类型为备份集,配置磁盘备份的类型,默认是备份集方式(backupset)或镜像拷贝也叫文件拷贝(copy)。镜像拷贝值适用于磁盘备份,磁带只支持备份集。一般用备份集更多,其效率会更高
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default        ###配置生成备份集的个数,默认是1;备份集内会包括(数据文件,控制文件、参数文件) 
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default      ###配置归档备份的路径,默认备份到磁盘
CONFIGURE MAXSETSIZE TO UNLIMITED; # default           ###配置单个备份集的大小,默认无限制。1g/100m/1024k
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default       ###配置数据库加密,默认关闭
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default     ###配置加密算法‘AES128’。此参数需要开启ENCRYPTION FOR DATABASE OFF参数才有效
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 '/oracle/app/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default    ###配置RMAN 备份时的快照控制文件的位置。快照控制文件(snapshot control file)是 RMAN 在进行备份时创建的一个临时性的控制文件副本,用于记录备份操作的元数据信息。每次进行备份时,RMAN 都会生成一个新的快照控制文件,并在备份完成后自动删除。因此不需要担心每次备份都会生成新的snapcf_orcl.f'文件,因为这个文件只是一个临时的副本,其目的是为了确保备份的一致性和完整性。RMAN 会自动管理这个过程,包括创建和清理快照控制文件,只需关注备份策略和相关的配置即可。

1)保存策略 (retention policy)

configure retention policy to redundancy 2;        ###默认值是1,设置备份文件保留多长时间,超出备份次数的文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的文件和删除废弃的文件。RMAN不自动删除废弃的备份文件。废弃与过时(expired)不同。备份是否废弃由备份保留策略确定,废弃的备份文件是在介质还原中不再需要的(not needed)。过时的文件是不再存在的文件(not found),可用CROSSCHECK命令查看过时信息。
   
configure retention policy clear;           ###clear将恢复默认的保持策略

configure retention policy to none;         ###none可以把使备份保持策略失效,此时REPORT OBSOLETE和DELETE OBSOLETE将不把任何备份文件视为废弃
   
configure retention policy to recovery window of 7 days;        ###recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为 obsolete。七天之内没有备份的话,就不可以恢复了

2)备份优化(backup optimization)

configure backup optimization on;       ###默认值为关闭,如果打开,rman 将对备份的数据文件及归档等文件进行一种优化的算法。如果开启,假如表空间为只读模式,在第一次进行备份,以后会跳过只读的备份,减少没必要的备份,提升备份速度。
     
configure backup optimization clear;     ###clear将恢复默认的保持策略

3)默认设备(default device type)

configure default device type to disk; 
   
configure default device type to stb;      ###配置默认备份设备可以是 sbt(磁带),disk(硬盘);默认是硬盘
   
configure default device type clear; 

4)控制文件(controlfile autobackup)

configure controlfile autobackup on;        ###配置在备份的时候是否将控制文件一并备份默认是 off 不备份,也可以是 on 备份
    
configure controlfile autobackup format for device type disk to '/oracle/backup/conf_%F';   ###配置 control file自动备份的路径和文件格式
     
configure controlfile autobackup clear;    ###clear将恢复默认的保持策略

5)快照控制文件(SNAPSHOT CONTROLFILE)

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/backup/scontrofile.snp';     ###配置RMAN 备份时的快照控制文件的位置。快照控制文件(snapshot control file)是 RMAN 在进行备份时创建的一个临时性的控制文件副本,用于记录备份操作的元数据信息。每次进行备份时,RMAN 都会生成一个新的快照控制文件,并在备份完成后自动删除。因此不需要担心每次备份都会生成新的snapcf_orcl.f'文件,因为这个文件只是一个临时的副本,其目的是为了确保备份的一致性和完整性。RMAN 会自动管理这个过程,包括创建和清理快照控制文件,只需关注备份策略和相关的配置即可。
   
configure snapshot controlfile name clear;      ###clear将恢复默认的保持策略

6)并行数(通道数) device type disk|stb pallelism n

configure device type disk | stb parallelism 2; 
  
configure device type disk | stb clear;                      ###clear将恢复默认的保持策略
  
configure channel device type disk format '/oracle/backup/rman_%u';
 
configure channel device type disk maxpiecesize 100m;
  
configure channel device type disk rate 1200k; 
  
configure channel 1 device type disk format '/oracle/backup/rman_%u'; 
  
configure channel 2 device type disk format '/oracle/backup/rman_%u'; 
   
configure channel 1 device type disk maxpiecesize 100m;     ###配置数据库设备类型的并行度

7)排除选项(exclude)

configure exclude for tablespace tablespace_name;          ###此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。
    
configure exclude for tablespace tablespace_name clear; 

        

1.8 rman常用命令之set(定义或更改当前RMAN会话的某些设置

    在Oracle的RMAN(Recovery Manager)中,SET命令用于定义或更改当前RMAN会话的某些设置。这些设置通常影响RMAN命令的行为或输出,但它们不是永久性的,仅在当前RMAN会话中有效。注意:set命令的这个选项需要在运行块中使用,不然会报RMAN-03031

1)定义基于时间点的恢复

RMAN> 
run{
set until time "to_date('2020-05-12 03:54:11','yyyy-mm-dd hh24:mi:ss')";
}

2)定义基于scn的恢复

RMAN> 
run{
set until scn	 1352418;
}

3)定义归档日志的新路径,并恢复10天

RMAN> 
run{
set archivelog destination to '/oracle/app/oracle/archive';
restore archivelog from time 'sysdate-10';
}

4)定义数据文件、日志组、临时文件的新路径(undo属于set newname for datafile)

RMAN> 
run
{
set newname for datafile '/oracle/system01.dbf' to '/oradata/system01.dbf';      ###设置还原数据文件的新路径
set newname for tempfile 1 to '+data';        ###设置还原临时文件的新路径
set newname for logfile 2 to '+data';         ###设置还原日志组文件的新路径(不能恢复,待研究)
restore database;        ###还原数据库
switch datafile all;     ###通知控制文件将已发出SET NEWNAME for DATAFILE命令的所有数据文件切换为其新名称
}

           

1.9 rman常用命令之crosscheck(交叉效验RMAN备份)

在Oracle的RMAN(Recovery Manager)中,CROSSCHECK命令用于核对磁盘和磁带上的备份文件,以确保RMAN资料库与备份文件保持同步。这个命令会检查RMAN资料库所记载的备份文件,并验证这些文件在物理存储介质上的实际状态。每个备份集或副本的状态码。 在不同的备份状态码中,分为两种状态:
     (1)A(Available:可用):RMAN认定该项存在于备份介质上
     (2)X(Expired:不可用):这个备份集片或副本上存储的 RMAN 目录(即控制文件或恢复目录)中,但是并没有物理存在于备份介质上

1)验证所有备份集

RMAN> crosscheck backup;     

2)验证归档备份集

RMAN> crosscheck archivelog all;  

         

1.10 rman常用命令之validate(查看给定的备份集和进行验证以确保这个备份集能够被还原)

    在Oracle的RMAN(Recovery Manager)中,VALIDATE命令用于验证备份集、数据文件或归档日志文件的完整性和可恢复性。这个命令会检查数据文件或备份文件中的块是否有物理损坏或逻辑损坏,确保它们在需要时可以成功恢复。

1)验证备份

RMAN> backup validate database;    
###扫描数据库的物理/逻辑错误,并不执行实际备份,如果有坏块会报出来。验证每个数据文件,status为FAILED,Blocks Failing(坏块)有内容需要先dbv验证坏块编号,然后rman修复坏块

File  Status  Marked Corrupt  Empty Blocks  Blocks Examined  High SCN
----   ------    --------------       ------------      ---------------     ----------
4    FAILED      0             4797         26249        1620953   
  File Name: /oracle/app/oracle/oradata/orcl/users.294.1048669455
  Block Type  Blocks Failing  Blocks Processed
  ----------      --------------     ----------------
  Data          1             15587           
  Index         0              2210            
  Other         0              3646 

2)验证备份片,验证之前使用list backup summary查看key值(validate 命令必须要获得主键ID。这个可以用 list backup summary命令获取)

RMAN> validate backupset 8;  

             

1.11 rman常用命令之Switch(更新数据文件、表空间、数据库或临时文件在控制文件中的位置信息

    在Oracle的RMAN(Recovery Manager)中,SWITCH命令用于更新数据文件、表空间、数据库或临时文件在控制文件中的位置信息,以反映它们的新位置。这通常在移动或替换数据文件后使用,以确保RMAN和Oracle数据库知道数据文件的新位置。

1)通知控制文件将已发出SET NEWNAME for DATAFILE命令的所有数据文件切换为其新名称

RMAN>switch datafile all;  

2)通知控制文件中数据文件位置的新路径

RMAN>switch database to copy; 

         

1.12 rman常用命令之blockrecover(通过RMAN备份修复坏块)

    在Oracle的RMAN(Recovery Manager)中,BLOCKRECOVER命令用于恢复单个或多个数据块,而不需要恢复整个数据文件或数据库。这在某些情况下非常有用,特别是当只有少量数据块受到损坏时。那么出现数据块错误时,都会有错误消息:ORA-01578: ORACLE data block corrupted (file #18,block #88) 。

    如果没有BMR时,我们必须从一个备份中恢复这个数据文件,在恢复过程中,用户不能使用该数据块文件中的所有数据。用BMR恢复就很简单,只需要执行blockrecover命令即可。

    如果在备份时提示ORA-19566: exceeded limit of 0 corrupt blocks for file +DATA01/orcl/datafile/system.256.1038007655那么表示有坏块,需要修复

[oracle@lf01 backup]$ dbv userid=sys/123456 file=+DATA01/orcl/file/system.256.1038007655
Total Pages Marked Corrupt   : 2          已标记为损坏的页面总数。文件中有两个坏块

RMAN>blockrecover datafile 1 block 45574,45575;      ###从备份中恢复多个数据文件坏掉的块

             

1.13 rman常用命令之catalog(将未识别的RMAN备份集注册到控制文件)

    在Oracle的RMAN(Recovery Manager)中,CATALOG命令用于将备份文件、归档日志、数据文件副本等添加到RMAN的资料库(repository)中,以便RMAN可以识别、跟踪和管理这些备份。当备份文件或归档日志被存放在RMAN不直接监控的位置(例如,通过操作系统命令手动备份或第三方备份工具创建的备份)时,CATALOG命令就显得尤为重要。

1)注册备份片:

RMAN>catalog backuppiece '/home/oracle/orcl_arch_89_1_1050358444';

2)注册归档:

RMAN> CATALOG ARCHIVELOG '/oracle/arch/1_6_105038.dbf', '/oracle/arch/1_25_104867.dbf';

3)注册目录(多用于批量注册归档,也可以用于注册备份片):

RMAN> CATALOG START WITH '/oracle/app/oracle/arch';

4)注册文件:

RMAN> catalog datafilecopy '/oracle/app/oracle/oradata/orcl/system.272.1048669455';  
RMAN> switch datafile 1 to copy;

5)注册整个恢复区:

RMAN> CATALOG RECOVERY AREA NOPROMPT;

                

1.14 rman常用命令之convert(对数据文件进行字节格式转换)

    在Oracle的RMAN(Recovery Manager)中,CONVERT命令用于跨平台迁移整个数据库或数据库的一部分(如表空间、数据文件等)。这个命令特别有用,当你想将一个Oracle数据库从一个操作系统或硬件平台迁移到另一个平台时,而这两个平台可能具有不同的字节顺序、文件系统格式或其他特性。使用CONVERT命令进行跨平台迁移时,你需要确保源平台和目标平台之间的Oracle版本是兼容的。此外,如果两个平台具有不同的字节顺序(例如,一个大端字节序平台到一个小端字节序平台),RMAN将自动处理数据转换。

1)使用convert datafile完成ASM和本地文件系统间的拷贝(只做拷贝,不会通知控制文件设置为新的路径):

    虽然convert这个命令主要用于跨平台传输表空间,但它也可以完成ASM和本地文件系统间拷贝文件,并且是不会通知控制文件设置为新的路径,只做拷贝。

    convert datafile完成ASM和本地文件系统间的拷贝的案例可以参考我之前文章,这里就不再介绍啦!!!(直通车👉Oracle篇—数据文件在ASM磁盘和本地系统之间的互相拷贝_asm转换成本地文件-CSDN博客👈)


    呼,目前已经14869个字了,用时2小时+,在此过程中,涉及了RMAN的14个主要命令类别,旨在为广大小伙伴提供一份详尽的rman工具命令参考指南。然而,必须承认的是,RMAN的命令远不止于此,它的广度远超过我的这篇文章所能涵盖的范围。因此,尽管我已经尽力将所知的内容呈现给大家,但难免会有所遗漏或不足。

    在此,诚挚地邀请各位经常使用RMAN工具,并熟悉其他未在本文中提及的命令的小伙伴们,不吝赐教,各位的每一个建议、每一个补充,都将为我们这篇文章的完善提供极大的帮助。那么各位我们下篇全库备份策略见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688079.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day 38 435.无重叠区间 763.划分字母区间 56. 合并区间 738.单调递增的数字 968.监控二叉树

435.无重叠区间 思路 为了使区间尽可能的重叠所以排序来使区间尽量的重叠,使用左边界排序来统计重叠区间的个数与452. 用最少数量的箭引爆气球恰好相反。 代码 class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals,(a,…

Python-温故知新

1快速打开.ipynb文件 安装好anaconda后,在需要打开notebook的文件夹中, shift键右键——打开powershell窗口——输入jupyter notebook 即可在该文件夹中打开notebook的页面: 2 快速查看函数用法 光标放在函数上——shift键tab 3...

JavaWeb Sevelet学习 创建Sevelet程序

Servlet 是JavaWeb中的开发动态Web一门技术 是由Sun公司提供的一个接口,允许开发者编写运行在服务器(Tomcat)上的Java程序,这些程序可以 生成动态网页内容, 响应客户端的请求。简单来说,Servlet就是Java E…

C++入门 基于ros的话题通信

一、 开发环境 ubuntu20.04 ros版本noetic 参考视频 https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?p52&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source4cd1b6f268e2a29a11bea5d2568836ee 二、 创建两个功能包 //创建工作空间 工作空…

Aiseesoft Video Converter Ultimate视频转换大师,免安装中文旗舰版 v10.8.32

软件介绍 视频转换大师是一款集转码、编辑以及压缩功能于一身的专业软件,支持处理超过1,000种视频和音频格式。该工具不仅提供基础的格式转换服务,还拓展至高级功能,包括视频效果调整、数据压缩以及ID3信息编辑等,同时&#xff0…

socket地址理解

socket介绍 套接字的基本概念 1. 套接字的定义: 套接字(socket)是计算机网络中用于通信的端点,它抽象了不同主机上应用进程之间双向通信的机制。 2. 套接字的作用: 套接字连接应用进程与网络协议栈,使…

加密与解密(第四版)】第二十五章笔记

第二十五章 数据取证技术 25.1 硬盘数据的获取和固定 取证专用的Linux可启动光盘 硬盘复制机 利用取证计算机复制硬盘 手机(JTAG) 电子数据的固定(HASH值) 25.2 硬盘的分区和数据恢复 25.3 内存分析 25.4 动态仿真技术 25.…

虚拟ECU:彻底改变汽车软件开发与测试

汽车开发领域有着垂直性较强的一系列需求,其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。传统的汽车开发偏向使用硬件原型与真实ECU进行软件测试,但由于硬件设备往往在开发周期的中后阶段才生产完成,给汽车开发带来了成本与时间…

做OZON怎么选择物流,OZON物流Xingyuan

随着跨境电商的蓬勃发展,OZON作为俄罗斯领先的电商平台,吸引了大量中国卖家入驻。然而,物流作为跨境电商的关键环节,其选择对于卖家来说至关重要。本文将围绕“做OZON怎么选择物流”这一问题,深度解析OZON物流Xingyuan…

二分查找

题目链接 题目: 分析: 如果按照从头到尾的顺序一次比较, 每次只能舍弃一个元素, 效率是非常低的, 而且没有用到题目的要求, 数组是有序的因为数组是有序的, 所以如果我们随便找到一个位置, 和目标元素进行比较, 如果大于目标元素, 说明该位置的右侧元素都比目标元素大, 都可…

内网穿透--Frp-简易型(速成)-上线

免责声明:本文仅做技术交流与学习... 目录 frp项目介绍: 一图通解: ​编辑 1-下载frp 2-服务端(server)开启frp口 3-kali客户端(client)连接frp服务器 4-kali生成马子 5-kali监听 6-马子执行-->成功上线 frp项目介绍: GitHub - fatedier/frp: A fast reverse proxy…

什么是智慧校园信息平台?

智慧校园信息渠道是以物联网、云核算、大数据分析等新技术为核心技术,为校园供给一种才智型、数据化、网络化、协作型一体化的教育、科研、办理和生活服务的新式办理模式。那么一般的智慧校园信息渠道主要有哪些特色呢? 不同品牌的智慧校园信息渠道&…

【html5】03-新表单元素及属性

目录 1 引言 2 智能表单控件-type 3 表单属性 form input 5 答疑--解决required自定义提示信息 1 引言 HTML5引入了一系列新的表单输入类型,如email、url、number、range、date、time、datetime-local、month、week、search、color和tel等。这些新类型增强了表…

tiktok 算法分析

第一步: 先找到关键函数 第二步: 第三步: 初始化码表 第四步: 通过计算更新码表 第五步:

grafana + Prometheus + node-exporter + pushgateway + alertmanager的监控解决方案

业内比较著名的监控解决方案,据笔者所知,大概是三套: 一个是zabbix的解决方案,一个是prometheusgrafana,一个是ELK zabbix比较重,而且原生支持监控SNMP,自带一个仪表盘,不需要额外…

【Crypto】一眼就解密

文章目录 前言一眼就解密解题感悟 前言 Basic写累了,写写别的 一眼就解密 一眼md5试一试 小小flag 拿下! 解题感悟 30秒搞定

第十八篇:探索非关系型数据库:从入门到实践

探索非关系型数据库:从入门到实践 1. 引言 1.1 非关系型数据库的崛起:背景与重要性 在过去的几十年里,关系型数据库(RDBMS)一直在数据存储和管理领域占据主导地位。其严谨的结构化数据模型以及强大的事务处理能力&am…

Lin网络一:DHCP与FTP

目录 1、了解DHCP服务 2、使用DHCP服务有哪些好处 3、DHCP的分配方式 4、DHCP的租约过程 客户机请求IP地址 服务器确定租约 重新登陆 上述总结 配置: 5、传输文件到Linux服务器的常用工具: 1、FTP 文件传输协议 2、FTP传输模式: 3、FTP控制…

力扣第206题-反转链表

反转链表的效果示意图 要改变链表结构时,通常加入一个创建的临时头结点会更容易操作 时间复杂度:遍历2遍,2n 空间复杂度:额外创建一个栈,n (空间创建一个数组长度最大为5000,你说这个数组是栈也可以&…

基于svm的水果识别

1、程序界面介绍 该程序GUI界面包括待检测水果图片加载、检测结果输出、清空可视化框等。其中包括训练模型、加载图片、重置、识别检测按钮。 程序GUI界面 识别玉米识别西瓜 分类器识别水果基本原理: 由于每种水果的外形存在很大差异,比如西瓜与玉米&…