探索ORACLE之RMAN_02基本使用-阿里云开发者社区

开发者社区> 数据库> 正文

探索ORACLE之RMAN_02基本使用

简介: 探索ORACLE之RMAN_02基本使用 作者:吴伟龙          RMAN工具是Oracle8i为了更好的实现数据库备份恢复而推出来的一实用工具,可以实现数据库的在线的备份和恢复从而不影响业务的正常运行。

探索ORACLERMAN_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

注意:1connect不能简写为conn

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

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

  4target database必须为archivelog 模式

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

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

 

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出来的参数后的参数名称即可,不可同时输入TOFORMAT以及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是该数据库的DBIDYYYYMMDD为日期,QQ1-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';

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章