探索ORACLE之RMAN_02基本使用

探索ORACLE之RMAN_02基本使用

作者:吴伟龙

 

       RMAN工具是Oracle8i为了更好的实现数据库备份恢复而推出来的一实用工具,可以实现数据库的在线的备份和恢复从而不影响业务的正常运行。并且在Oracle软件安装上的那一时刻就已经存在了,不必另外安装或买介质,从今天开始就开始谈谈RMAN的使用和维护:

 

1、      登录和访问RMAN

A、  在Windows下进入RMAN,很简单,只需要在命令行输入rman即可。

如下:

C:\>rman

Recovery Manager:Release 10.2.0.4.0 - Production on Fri May 18 10:45:58 2012

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

RMAN>

B、  在Linux下进入RMAN同样也是在命令行输入rman即可,但是有一点需要注意,必须修改oracle用户环境变量为如下,在Linux系统中还有一个RMAN命令不是Oracle的。

PATH=$ORACLE_HOME/bin:/sbin:$PATH

执行RMAN

[oracle@wwldb ~]$ rman

Recovery Manager: Release10.2.0.1.0 - Production on Fri May 18 10:53:15 2012

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

RMAN>

注意:就上面的进入RMAN运行的是在NOCATALOGmoshi
,既不使用恢复目录。输入RMAN后即可进入RMAN命令行界面。

 

2、      获得RMAN帮助

[oracle@wwldb ~]$ rman help

 

Argument     Value          Description

-----------------------------------------------------------------------------

target       quoted-string  connect-string for target database

catalog      quoted-string  connect-string for recovery catalog

nocatalog    none           if specified, then no recoverycatalog

cmdfile      quoted-string  name of input command file

log          quoted-string  name of output message log file

trace        quoted-string  name of output debugging message log file

append       none           if specified, log is opened inappend mode

debug        optional-args  activate debugging

msgno        none           show RMAN-nnnn prefix for allmessages

send         quoted-string  send a command to the media manager

pipe         string         building block for pipe names

timeout      integer        number of seconds to wait for pipe input

checksyntax  none           check the command file for syntaxerrors

 

3、      RMAN的启动:

连接到目标数据库

rman\>connect target  user/pwd@db_name

注意:1、connect不能简写为conn

  2、连接USER必须具备SYSDBA权限

  3、连接的db_name必须在tnsnames.ora中有配置,且有效(即通过SQLPLUS可以连接)

  4、target database必须为archivelog
模式

  5、如果是本地可以采用OS认证,如果是远程需要使用密码文件认证。

  6、RMAN工具版本与目标数据库必须是同一版本。

 

4、      在RMAN中执行操作系统命令

Egg:

RMAN> run{host "ls -artl";}

 

RMAN> run{host "ifconfig";}

 

RMAN> run{host "pwd";}     

/home/oracle

host commandcomplete

 

RMAN> run{host "ls";}

 

Desktop sqlnet.log

host commandcomplete

 

RMAN> exit

 

5、      在RMAN中执行SQL命令对数据库进行操作

5.1
启动关闭数据库

RMAN> shutdown immediate

database closed

database dismounted

Oracle instance shut down

 

RMAN> startup

connected to target database (not started)

Oracle instance started

database mounted

database opened

Total System Global Area    285212672 bytes

Fixed Size                    1218968 bytes

Variable Size                79693416 bytes

Database Buffers            197132288 bytes

Redo Buffers                  7168000 bytes

 

RMAN>

 

5.2
在RMAN中执行SQL语句

RMAN> sql 'select * fromuser_tablespaces';  

sql statement: select * fromuser_tablespaces

 

RMAN> sql 'alter system checkpoint';

sql statement: alter system checkpoint

RMAN>

为了解释这个问题请参看红色注释

 

注意:

rman is not sqlplus, rman show result of"sql" command, but not show result of 'select ....'

 

5.3
在RMAN中执行bak.sql脚本

RMAN> run {executescript bak.sql}

 

6、      配置和查看RMAN的环境信息

 

6.1查看rman的所有配置信息。

RMAN> show all;

using target database control file instead of recoverycatalog

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO REDUNDANCY
1; # default

注释:配置redundancy配置需要保留几份备份文件,默认是1。也可以改变为其它非零的正整数值。

CONFIGURE
BACKUP OPTIMIZATION
OFF; # default

注释:设备备份优化打开,如果表空间是只读状态,那么在做备份的时候只是第一次会备份,以后不备份。有两个选项off关闭和on打开

CONFIGURE DEFAULT DEVICE TYPE
TO DISK; # default

注释:配置默认备份设备可以是sbt(磁带),DISK(硬盘);默认是硬盘

CONFIGURE CONTROLFILE AUTOBACKUP OFF;# default

注释:配置在备份的时候是否将控制文件一并备份,两个选项,默认是off不备份,也可以是on备份、。

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

注释:配置control file自动备份的路径和文件格式

CONFIGURE DEVICE TYPE DISK PARALLELISM1 BACKUP TYPE TO BACKUPSET; # default

注释:配置磁盘备份的类型,默认是备份集方式(backupset)或镜像拷贝也叫文件拷贝(copy)。

镜像拷贝值适用于磁盘备份,磁带只支持备份集。一般用备份集更多,其效率会更高

CONFIGURE DATAFILE BACKUPCOPIES FOR DEVICE TYPE DISK TO
1; # default

注释:配置生成备份集的个数,默认是1;备份集内会包括(数据文件,控制文件,参数文件)

CONFIGURE ARCHIVELOG BACKUPCOPIES FOR DEVICE TYPE DISK TO
1; # default

注释:配置归档日志默认的备份路径

CONFIGURE MAXSETSIZE TO
UNLIMITED; # default

注释:配置单个备份集大小,缺省是不限制,我们可以配置成1G/100M/1024K or other

CONFIGURE ENCRYPTION FOR DATABASE
OFF; # default

注释:配置备份数据加密,是10Gr2推出来的新功能,设置为on后。

可以set encryption on identifyed by youpassword only;加密备份,还原的时候需要提供密码。

CONFIGUREENCRYPTION
ALGORITHM
'AES128'; # default

注释:指定备份数据加密的类型。

CONFIGURE ARCHIVELOGDELETION POLICY TO NONE;
# default

注释:配置归档日志在备份后自动删除

CONFIGURE SNAPSHOT CONTROLFILE NAME TO'/DBSoft/product/10.2.0/db_1/dbs/snapcf_WWL.f'; # default

注释:配置控制文件快照,可以有效的提高控制文件的恢复性。

RMAN>

 

6.2查看单个参数的配置信息:

RMAN> show RETENTION POLICY;

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

 

RMAN> show BACKUP OPTIMIZATION;

RMAN configuration parameters are:

CONFIGURE BACKUP OPTIMIZATION OFF; # default

 

RMAN> show DEFAULT DEVICE TYPE;

RMAN configuration parameters are:

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

注意:在查看当参数信息的时候执行输入showall出来的参数后的参数名称即可,不可同时输入TO或FORMAT以及for后面值。

 

6.3修改RMAN的配置信息

通过执行configure命令来进行修改,后面接上参数名称和值如下操作:

Egg1:

RMAN> showcontrolfile autobackup;     -----查看当前参数的值,是off。

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

 

RMAN>configure controlfile autobackup on; --修改为on,自动备份控制文件

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

 

RMAN> show controlfile autobackup;          ---查看修改后的,已经修改成功。

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

 

RMAN>

 

Egg2:

RMAN> CONFIGURECHANNEL 1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';

new RMANconfiguration parameters:

CONFIGURE CHANNEL 1DEVICE TYPE DISK FORMAT  '/DBBak/bak_%d_%M_%D_%U';

new RMANconfiguration parameters are successfully stored

注释:配置数据文件的备份路径.

 

RMAN> CONFIGURECONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

old RMANconfiguration parameters:

CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';

new RMANconfiguration parameters:

CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

new RMANconfiguration parameters are successfully stored

 

RMAN>注释:配置控制文件的备份路径

 

RMAN> show all;               ------查看所有信息,看到已经更改了默认备份路径

 

RMAN configurationparameters are:

CONFIGURE RETENTIONPOLICY TO REDUNDANCY 1;

CONFIGURE BACKUPOPTIMIZATION OFF; # default

CONFIGURE DEFAULTDEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILEAUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';

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

CONFIGURE DATAFILEBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOGBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE CHANNEL 1 DEVICE TYPE DISKFORMAT  '/DBBak/bak_%d_%M_%D_%U';

CONFIGURE MAXSETSIZETO UNLIMITED; # default

CONFIGURE ENCRYPTIONFOR DATABASE OFF; # default

CONFIGURE ENCRYPTIONALGORITHM 'AES128'; # default

CONFIGURE ARCHIVELOGDELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOTCONTROLFILE NAME TO '/DBSoft/product/10.2.0/db_1/dbs/snapcf_WWL.f'; # default

 

RMAN>

 

7、      学习并记忆备份文件的格式:

备份文件可定义的格式符号如下

%c 
备份片的复制数

%d 
数据库的名称

%D 
时间日期(DD)

%M 
时间月份(MM)

%F 
 基于DBID的唯一名称

%n  数据库名称,向右填补到最多8个字符

%u  一个8个字符的名称代表备份集鱼创建时间

%p  该备份集中的备份片号,从1开始到创建的文件数

%U 
 一个唯一的文件名,代表%u_%p_%c

%S  备份集的编号

%t  备份集的时间戳

%T  年月日格式(YYYYMMDD)

注意: %F是基于DBID的唯一名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ其中IIIIIIIII是该数据库的DBID,YYYYMMDD为日期,QQ是1-256的序列号。

 

8、      基于上面的配置,执行一备份案例:

1、   执行rman备份必须开启数据的归档功能:

SQL> shutdown immediate   ---关闭数据库

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startupmount;         ----启动数据库到mount状态

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size                  1218968 bytes

Variable Size              79693416 bytes

Database Buffers          197132288 bytes

Redo Buffers                7168000 bytes

Database mounted.

 

SQL> alter database archivelog;          ---开启归档功能

Database altered.

 

SQL> archivelog list;                   ---查看归档状态

Database logmode             Archive Mode   ---归档已经打开

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online logsequence     8

Next log sequence toarchive   10

Current log sequence           10

SQL>

2、   执行rman的全库备份

[oracle@wwldbDBBak]$ rman target /             ---登录到rman

 

Recovery Manager: Release10.2.0.1.0 - Production on ÐÇÆÚÎå 5ÔÂ 18 18:56:47 2012

 

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

connected to target database:WWL (DBID=5520179, not open)   ---当前数据的DBID和实例名及状态

 

RMAN> backupdatabase;                                -----执行备份数据库的命令

Starting backup at 18-5ÔÂ -12                             ----启动备份的时间

using target database controlfile instead of recovery catalog    -----描述数据的备份模式

allocated channel: ORA_DISK_1                             ----分配通道

channel ORA_DISK_1: sid=159devtype=DISK                 ----告诉备份的设备类型是硬盘

channel ORA_DISK_1: startingfull datafile backupset          ----备份方式类型是全备

channel ORA_DISK_1:specifying datafile(s) in backupset    ----根据以上条件检索出需备份的数据文件

input datafile fno=00001name=/DBData/WWL/system01.dbf  ----文件信息

input datafile fno=00003name=/DBData/WWL/sysaux01.dbf

input datafile fno=00002name=/DBData/WWL/undotbs01.dbf

input datafile fno=00004name=/DBData/WWL/users01.dbf

channel ORA_DISK_1: startingpiece 1 at 18-5ÔÂ -12                  ----告诉通道启动的时间

channel ORA_DISK_1: finishedpiece 1 at 18-5ÔÂ -12                 ----告诉通道结束时间

piecehandle=/DBBak/bak_WWL_05_18_04nbaffs_1_1 tag=TAG20120518T185700 comment=NONE

channel ORA_DISK_1: backupset complete, elapsed time: 00:01:05      -----生成备份文件,在/DBBak目录中,文件名称是我们之前在环境配置里面定义好的。

Finished backup at 18-5ÔÂ -12

 

Starting Control File andSPFILE Autobackup at 18-5ÔÂ -12            ---启动备份控制文件

piecehandle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120518-01 comment=NONE

Finished Control File andSPFILE Autobackup at 18-5ÔÂ -12            ------生成控制文件的备份,我没有指定controlfile的备份路径,所以是备份在默认路径,文件名是用的%F参数生成。

 

RMAN>

 

3、   查看备份集信息

RMAN> listbackupset;       ---执行list backupst命令查看备份集信息

 

List of BackupSets

===================

BS Key Type LV Size       Device Type Elapsed Time Completion Time

------- ---- ------------ ----------- ------------ ---------------

2      Full   522.59M    DISK        00:00:59     18-5ÔÂ -12    

       BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20120518T185700

       Piece Name:/DBBak/bak_WWL_05_18_04nbaffs_1_1    
 --备份后的文件名称及路径

 
List of Datafiles in backup set 2    ---备份及编号

注释:BS:是备份集编号

     Key:

     Type:
备份的类型,是全备还是增备或差备

     LV Size:
备份后备份文件大小

     Device Type:
存放备份文件的介质类型

     Elapsed Time:
备份执行的耗时长

     Completion Time:
备份完成的时间

 
File LV Type Ckp SCN    Ckp Time  Name

 
---- -- ---- ---------- ---------- ----

 
1      Full 618100     18-5ÔÂ -12/DBData/WWL/system01.dbf

 
2      Full 618100     18-5ÔÂ -12/DBData/WWL/undotbs01.dbf

 
3      Full 618100     18-5ÔÂ -12/DBData/WWL/sysaux01.dbf

 
4      Full 618100     18-5ÔÂ -12/DBData/WWL/users01.dbf

注释:File:数据文件编号

     Type:备份的类型

     Ckp SCN:备份时的检查点编号

     Ckp Time:发生检查点的时间

     Name:  备份的数据文件名称及路径

 

BS Key Type LV Size       Device Type Elapsed Time Completion Time

------- ---- ------------ ----------- ------------ ---------------

3      Full   6.80M      DISK        00:00:02     18-5ÔÂ -12    

       BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20120518T185806

       Piece Name:/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120518-01

 
Control File Included: Ckp SCN: 618100       Ckp time: 18-5ÔÂ -12

 
SPFILE Included: Modification time: 18-5ÔÂ-12

 

RMAN>

 

4、   查看备份后出来的文件

[oracle@wwldbDBBak]$ pwd

/DBBak

[oracle@wwldbDBBak]$ ls

bak_WWL_05_18_04nbaffs_1_1 lost+found   ----文件名是应征了CONFIGURECHANNEL
1 DEVICE TYPE DISK FORMAT  '/DBBak/bak_%d_%M_%D_%U';这参数的设置

[oracle@wwldbDBBak]$ ll

×ܼÆ535164

-rw-r----- 1oracle oinstall 547987456 05-18 18:57 bak_WWL_05_18_04nbaffs_1_1

drwxrwxr-x 2oracle oinstall    16384 05-18 17:35lost+found

[oracle@wwldb DBBak]$

 

RMAN> showchannel;

RMANconfiguration parameters are:

CONFIGURECHANNEL 1 DEVICE TYPE DISK FORMAT  '/DBBak/bak_%d_%M_%D_%U';

时间: 2024-11-03 01:18:29

探索ORACLE之RMAN_02基本使用的相关文章

探索ORACLE之ASM04_维护

探索ORACLE之ASM04_维护 作者:吴伟龙   一.  ASM实例相关操作: ASM实例的管理,启动,关闭 ASM实例的启动和数据库实例的启动有严格的先后关系,ASM启动一定早于数据库实例,关闭一定晚于ASM实例,因为它是数据库数据文件存储位置.如果ASM没有起来,起数据库将会报ORA-17503:ORA-15077的错误,错误信息如下:   SQL>startup ORA-01078:failure in processing system parameters ORA-01565:er

探索ORACLE之RMAN_07控制文件丢失恢复

探索ORACLE之RMAN_07控制文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com 1.     控制文件(controlfile)丢失恢复 基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失.基于第一种情况,只需把好的控制文件复制一份在损坏或丢失的那个控制文件路径下即可.第二种情况下则需要通过备份信息来对控制文件进行恢复或手工

探索Oracle之数据库升级一 升级补丁修复概述

探索Oracle之数据库升级一  升级补丁修复概述 一. 升级路线图         无论你是谁,要想做数据库升级,我想一定离不开如下这张升级线路图:企业中数据库的升级是一个浩大的工程,但是却又必不可少,小在打一个PSU解决一个简单的问题或实现某个功能,大到打安装Patch对数据库版本升级,都是作为一名合格的DBA必备的技能.再后面的几篇博客当中将详细讲述如何将数据库从11.2.0.3.0升级到11.2.0.4并且打上最新的OPATCH之后再升级到Oracle 12c.   二.  升级类型:

探索ORACLE之11g DataGuard_04 Oracle EnterPrise Manager OEM部署

探索ORACLE之11g DataGuard_04 Oracle EnterPrise Manager OEM部署 作者:吴伟龙 我们可以看到EM这个时候无法起来,需要重新配置: emctl startup console Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name. 重新配置Oracle EnterPrise Manager [oracle@

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤   说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance.  Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含

探索Oracle之数据库升级六 11.2.0.4.3 Upgrade12c(12.1.0.1)

探索Oracle之数据库升级六11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言:       Oracle 12c发布距今已经一年有余了,其最大亮点是一个可以插拔的数据库(PDB),这是在之前版本没有的:但是如果我们要将以前版本的数据库升级到12c来,那么也应顺其自然的将其变成一个pdb,那么我们的工作不仅包含了数据库软件的升级,同时也包含如何将一个NO-CDB的数据库plug to CDB none. 二.升级要求:   三.升级前准备:          3.1.查看

探索ORACLE之RMAN_07整个业务表空间丢失恢复

探索ORACLE之RMAN_07整个业务表空间丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com   1.     整个业务表空间丢失恢复 注意:以下的所有实验,都是基于上面的全库备份来做的恢复. 2.1 删除wwl表空间的所有数据文件 [root@wwldb ~]# cd /DBData/WWL/ [root@wwldb WWL]# rm -rf wwl* [root@wwldb WWL]#

探索ORACLE之RMAN_07 system表空间丢失恢复

探索ORACLE之RMAN_07 system表空间丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com     1.     SYSTEM表空间数据文件丢失恢复 注意:以下的所有实验,都是基于上面的全库备份来做的恢复. 3.1 删除system表空间的所有数据文件. [oracle@wwldb WWL]$ rm -rf syste* [oracle@wwldb WWL]$ exit   3.2

探索Oracle之数据库升级四 11.2.0.4.0 PSU 11.2.0.4.3

探索Oracle之数据库升级四11.2.0.4.0 PSU 11.2.0.4.3   一.  检查当前数据库PSU号: [oracle@db01 ~]$ cd/DBSoft/Product/11.2.4/db_1/OPatch/ [oracle@db01 OPatch]$ ls crs docs emdpatch.pl jlib ocm opatch opatch.bat opatchdiag opatchdiag.bat opatch.ini opatch.pl opatchprereqs o