RMAN 学习过程之二,RMAN命令知多少
RMAN 学习过程之二,RMAN命令知多少
JAVA枪手 发表于3个月前
RMAN 学习过程之二,RMAN命令知多少
  • 发表于 3个月前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

       RMAN 非常有意思,做为一个专业的备份工具,它几乎考虑到了备份及恢复过程中可能遇到的各种操作,由此它也提供了各种各样的命令来为这些操作提供便利。

一、启动、关闭数据库

  在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样。当然,在执行之前,你需要先连接到目标数据库,如例:

C:\Documents and Settings\Administrator>rman target /

恢复管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

连接到目标数据库: JSSWEB (DBID=3391142503)

RMAN> shutdown immediate

正在使用目标数据库控制文件替代恢复目录

数据库已关闭

数据库已卸载

Oracle  例程已关闭

RMAN> startup

已连接到目标数据库 (未启动)

Oracle  例程已启动

数据库已加载

数据库已打开

系统全局区域总计     143727516 字节

Fixed Size                      453532  字节

Variable Size                109051904  字节

Database Buffers              33554432  字节

Redo Buffers                    667648  字节

RMAN>

  当然,你也可以执行startup mount,然后再利用alter database open命令打开数据库以及shutdown normal,shutdown abort等。总之启动和关闭的命令跟SQL环境下相比,完全一模一样。

二、执行操作系统命令

       Rman 支持通过执行host命令暂时退出rman的命令提示符而进入到操作系统的命令环境,如下例:

RMAN> host;

Microsoft Windows [ 版本 5.2.3790]

(C)  版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>cd \

C:\>exit

主机命令完成

RMAN>

执行完系统命令后可以再通过执行exit退出到rman命令提示符下。

三、执行SQL语句

在rman中执行sql语句稍嫌复杂。

在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要执行的SQL语句,例如:

RMAN>  SQL ¨ALTER SYSTEM ARCHIVE LOG ALL¨ ;

需要注意的一点是, rman 中的sql环境不能执行SELECT语句 ,或者说执行不报错,但你也看不到结果。

其实我们完全可以通过更取巧的方式来实现更强大的SQL操作,比如利用第二项介绍的内容,如下:

RMAN> host;

Microsoft Windows [ 版本 5.2.3790]

(C)  版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on  星期四 6月 28 17:40:24 2007

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba

已连接。

SQL> select sysdate from dual;

SYSDATE

----------

28-6 月 -07

SQL> exit

从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production 中断开

C:\Documents and Settings\Administrator>exit

主机命令完成

RMAN>

 

四、定义RMAN配置

       RMAN 中具有一系列的默认配置,这些配置决定了备份和恢复时的一些选项(此节内容枯燥,眼神不好的同学请自觉跳过),比如:

  • 自动分配通道的配置;
  • 备份保留时间的配置;
  • 备份集大小的限制;
  • 启用或禁用备份优化功能;
  • 镜像复制的备份数量;
  • 是否将某个表空间排队在备份之外。

修改配置是通过 CONFIGURE 命令 ,具体用法非常简单,但由于可供configure的配置非常之多,这里不做详细介绍,在后续实际演练章节中会有体现。当然,有心的朋友也可以通过google搜索一下,更有耐心的新友就等着看俺写的外传。

五、显示RMAN默认配置

Rman 中可以利用show命令来显示当前的配置参数。例如,通过SHOW ALL显示当前所有的配置。

RMAN> show all;

RMAN  配置参数为:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

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 ¨d:/backup/%F¨;

CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # 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 SNAPSHOT CONTROLFILE NAME TO ¨F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA¨; #

default

RMAN>

注:配置项后面跟了# default的表示该项仍是初始配置,未被修改过。

该命令使用也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:

SHOW CHANNEL;

SHOW DEVICE TYPE;

SHOW DEFAULT DEVICE TYPE;

六、列出备份信息

  LIST 命令用来查看通过RMAN生成的备份信息,照我看来,这个应用应该会非常少,大家了解即可。例如:

列出数据库中所有文件的备份信息:

RMAN> LIST BACKUP OF DATABASE;

列出指定表空间的备份信息:

RMAN> LIST COPY OF TABLESPACE ¨SYSTEM¨;

列出指定数据文件的备份信息:

RMAN> LIST BACKUP OF DATAFILE ¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;

七、删除备份

  用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RMAN资料库中生成RMAN备份记录,并且RMAN备份记录被存放在目标数据库的控制文件中,如果配置了恢复目录,那么该备份记录也会被存放到恢复目录中。

1 、删除陈旧备份

当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。      

RMAN> delete obsolete ;

2 、删除EXPIRED备份

执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete expired backup命令。      

RMAN> delete expired backu p;

3 、删除EXPIRED副本

RMAN> delete expired copy ;

4 、删除特定备份集

RMAN> delete backupset 19 ;

5 、删除特定备份片

RMAN> delete backuppiece ¨d:\backup\DEMO_19.bak¨ ;

6 、删除所有备份集

RMAN> delete backup ;

7 、删除特定映像副本

RMAN> delete datafilecopy ¨d:\backup\DEMO_19.bak¨ ;

8 、删除所有映像副本

RMAN> delete  copy;

9 、在备份后删除输入对象

RMAN> delete archivelog all delete input ;

RMAN> delete backupset 22 format = ¨¨d:\backup\%u.bak¨¨ delete input;  

 

共有 人打赏支持
粉丝 8
博文 82
码字总数 15221
评论 (0)
×
JAVA枪手
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: