2013年(350)
分类: Mysql/postgreSQL
2013-04-24 13:15:20
菩萨蛮·命令知多少
上一节讲了怎么进,这节开讲知多少
内容虽不多,排列费思量。
RMAN贵灵活,应用是根本。
无须死硬记,策略定规则。
一步一步学RMAN第一篇 进入RMAN
http://junsansi.itpub.net/post/29894/307688
菩萨蛮·命令知多少
上一节讲了怎么进,这节开讲知多少
内容虽不多,排列费思量。
RMAN贵灵活,应用是根本。
无须死硬记,策略定规则。
RMAN非常有意思,做为一个专业的备份工具,它几乎考虑到了备份及恢复过程中可能遇到的各种操作,由此它也提供了各种各样的命令来为这些操作提供便利。
一、启动、关闭数据库
在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样。当然,在执行之前,你需要先连接到目标数据库,如例:
C:Documents and SettingsAdministrator>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 SettingsAdministrator>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 SettingsAdministrator>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 SettingsAdministrator>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:ORAHOME1DATABASESNCFJSSWEB.ORA'; #
default
RMAN>
注:配置项后面跟了# default的表示该项仍是初始配置,未被修改过。
该命令使用也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:
SHOW CHANNEL;
SHOW DEVICE TYPE;
SHOW DEFAULT DEVICE TYPE;
六、列出备份信息
LIST命令用来查看通过RMAN生成的备份信息,照我看来,这个应用应该会非常少,大家了解即可(引申一下,不仅是list,俺基本认为备份这种操作,脚本一次定型,100年不许变,哪有DBA天天干备份恢复的,如果真是这样,那您这库。。。。。。)。例如:
列出数据库中所有文件的备份信息:
RMAN>LIST BACKUP OF DATABASE;
列出指定表空间的备份信息:
RMAN>LIST COPY OF TABLESPACE 'SYSTEM';
列出指定数据文件的备份信息:
RMAN>LIST BACKUP OF DATAFILE 'F:ORAHOME1ORADATAJSSWEBJWEB.ORA';
七、删除备份
用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RMAN资料库中生成RMAN备份记录,并且RMAN备份记录被存放在目标数据库的控制文件中,如果配置了恢复目录,那么该备份记录也会被存放到恢复目录中。
1、删除陈旧备份
当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。
RMAN> delete obsolete;
2、删除EXPIRED备份
执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete expired backup命令。
RMAN> delete expired backup;
3、删除EXPIRED副本
RMAN> delete expired copy;
4、删除特定备份集
RMAN> delete backupset 19;
5、删除特定备份片
RMAN> delete backuppiece 'd:ackupDEMO_19.bak';
6、删除所有备份集
RMAN> delete backup;
7、删除特定映像副本
RMAN> delete datafilecopy 'd:ackupDEMO_19.bak';
8、删除所有映像副本
RMAN> delete copy;
9、在备份后删除输入对象
RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:ackup%u.bak'' delete input;
八、批处理命令RUN
重头戏来了,大家鼓掌。谢谢大家的掌声,RUN的用法虽然很简单,但run太重要了,是我们后面几乎经常都要遇到的,也正因此我不敢贸然下笔,于是我准备。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。跳票,下章见~~