ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 探索ORACLE之RMAN_02基本使用

探索ORACLE之RMAN_02基本使用

原创 Linux操作系统 作者:wuweilong 时间:2012-05-18 19:32:21 0 删除 编辑

探索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: Release 10.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 recovery catalog

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 in append mode

debug        optional-args  activate debugging

msgno        none           show RMAN-nnnn prefix for all messages

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 syntax errors

 

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 command complete

 

RMAN> run {host "ls";}

 

Desktop  sqlnet.log

host command complete

 

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 * from user_tablespaces';  

sql statement: select * from user_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 {execute script. bak.sql}

 

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

 

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

RMAN> show all;

using target database control file instead of recovery catalog

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 AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

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

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

注释:配置磁盘备份的类型,默认是备份集方式(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 or other

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

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

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

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

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

CONFIGURE ARCHIVELOG DELETION 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

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

 

6.3 修改RMAN的配置信息

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

Egg1:

RMAN> show controlfile 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> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';

new RMAN configuration parameters:

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

new RMAN configuration parameters are successfully stored

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

 

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

old RMAN configuration parameters:

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

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

new RMAN configuration parameters are successfully stored

 

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

 

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

 

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

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

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 CHANNEL 1 DEVICE TYPE DISK FORMAT   '/DBBak/bak_%d_%M_%D_%U';

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 '/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> startup mount;          ----启动数据库到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> archive log list;                    ---查看归档状态

Database log mode              Archive Mode   ---归档已经打开

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     8

Next log sequence to archive   10

Current log sequence           10

SQL>

2、   执行rman的全库备份

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

 

Recovery Manager: Release 10.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> backup database;                                 -----执行备份数据库的命令

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

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

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

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

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

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

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

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

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

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

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

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

piece handle=/DBBak/bak_WWL_05_18_04nbaffs_1_1 tag=TAG20120518T185700 comment=NONE

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

Finished backup at 18-5ÔÂ -12

 

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

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

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

 

RMAN>

 

3、   查看备份集信息

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

 

List of Backup Sets

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

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@wwldb DBBak]$ pwd

/DBBak

[oracle@wwldb DBBak]$ ls

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

[oracle@wwldb DBBak]$ ll

×Ü¼Æ 535164

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

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

[oracle@wwldb DBBak]$

 

RMAN> show channel;

RMAN configuration parameters are:

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20674423/viewspace-730182/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2010-01-08

  • 博文量
    251
  • 访问量
    1983160