科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle RMAN快速入门指南

Oracle RMAN快速入门指南

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这篇文章主要介绍RMAN的常用方法,其中包含了作者一些自己的经验....

作者:沙涛 来源:yesky 2007年10月23日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共5页)

6.操作已有的备份

  6.1.加入目录数据库

  数据库状态:

   恢复目录:打开

   目标数据库:加载或者打开

  如果存在8.x版本以前创建的备份数据想注册到目标数据库,可以采用如下手工方式加入到恢复目录中,
RMAN> catalog datafilecopy '/oracle/ .... /system01.dbf';

  使用如下命令显示恢复目录中包含的文件

RMAN> list copy of database;

  6.2.从目录数据库中删除

  第一步:查看备份信息:

RMAN>list backup;

RMAN-03022:正在编译命令:list

  备份集列表

关键字 Recid 标记 LV 集合标记 集合计数 完成时间
------- ---------- ---------- -- ---------- ---------- ----------------------
1104 2 501364455 0 501364446 2 06-8月 -03

  备份段列表

关键字 Pc# Cp# 状态 完成时间 段名
------- --- --- ----------- ---------------------- ------------------------
1106 1 1 AVAILABLE 06-8月 -03 D:\ORACLE\ORA81\DATABASE\
02EU4DMU_1_1

  数据文件包括列表

文件 名称 LV 类型 检查点SCN 检查点时间
---- ------------------------------------- -- ---- ---------- -------------
3 D:\ORACLE\ORADATA\HIS\USERS01.DBF 0 Full 160052 06-8月 -03

  备份集的关键字为1104。

  第二步:定义delete通道:

RMAN>allocate channel for delete type disk;

RMAN-03022:正在编译命令:allocate
RMAN-03023:正在执行命令:allocate
RMAN-08030:分配的通道:delete
RMAN-08500:通道 delete:sid=19 devtype=DISK

  第三步:删除backupset备份集

RMAN>change backupset 1104 delete;

RMAN-03022:正在编译命令:change
RMAN-08073:已删除备份段
RMAN-08517:备份段 handle=D:\ORACLE\ORA81\DATABASE\02EU4DMU_1_1 recid=2 stamp=50
1364447
RMAN-03023:正在执行命令:partial resync
RMAN-08003:启动部分恢复目录的 resync
RMAN-08005:完成部分 resync

  注意:部分执行删除备份集、备份片或者维护恢复目录的命令,需要先指定通道,如:

RMAN>allocate channel for delete type disk;
或者RMAN>allocate channel for maintenance type disk;

  7.在非归档模式下备份

  数据库状态:

   恢复目录: 打开

   目标数据库:例程启动或者数据库加载

  恢复目录数据库需要打开,目标数据库必须启动(或者加载)。因为目标数据库不在归档模式下,所以当进行备份恢复操作的时候数据库无法打开。不可以将表空间置于热备份模式上进行等同于文件系统级的拷贝,如果在非归档模式,数据库打开的状态下不能进行数据文件的备份。

  7.1.数据库完全备份

RMAN> run {
2> # backup the complete database to disk
3> allocate channel dev1 type disk;
4> backup
5> full
6> tag full_db_backup
7> format '/oracle/backups/db_t%t_s%s_p%p'
8> (database);
9> release channel dev1;
10> }
行#

  2: 表明该行为注释行(#是注释符)

3&9: See section 15 - Channels通道定义
5: Full backup (default if full or incremental not specified)完全备份模式(缺省模式)
6: Meaningful string (<=30 chars)(备份集标识,<=30个字符)
7: Filename to use for backup pieces, including substitution variables. 备份片使用的文件名,可以包含代替变量。
8: Indicates all files including controlfiles are to be backed up表明备份所有数据文件包括控制文件

  通过下面的命令显示恢复目录中记载的备份集信息:

RMAN> list backupset of database;

  7.2.备份表空间

RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> tag tbs_users_read_only
5> format '/oracle/backups/tbs_users_t%t_s%s'
6> (tablespace users)
7> }

  使用下列命令来显示恢复目录中该表的备份信息:

RMAN> list backupset of tablespace users;

  假设USERS表空间在备份后被置为READ ONLY表空间,以后的全库备份就可以不用备份该表空间,为了达到这个目的,可以在以后的备份中指定'skip readonly'。

  注意,目标数据库不需要一定打开,只要加载就可以,因为表空间的信息存储在控制文件中。

  7.3.备份单独数据文件

RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> backup
4> format '%d_%u'
5> (datafile '/oracle/dbs/sysbigdb.dbf');
6> release channel dev1;
7> }
行#

  2: 使用MML(media manager layer)分配磁带驱动器,必须指定类型为SBT_TAPE;

  注意因为没有指定标识,所以标识为空;

  使用下面的命令显示恢复目录中备份的表空间:

RMAN> list backupset of datafile 1;

  7.4.备份数据文件

RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> copy datafile '/oracle/dbs/temp.dbf' to '/oracle/backups/temp.dbf';
4> release channel dev1;
5> }

  使用下面的命令显示恢复目录中的文件拷贝:

RMAN> list copy of datafile '/oracle/dbs/temp.dbf';

  拷贝数据文件和备份数据文件是不一样的,数据文件拷贝是一个该文件的镜像。文件的备份产生一个备份集。

  7.5.备份控制文件

RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> backup
4> format 'cf_t%t_s%s_p%p'
5> tag cf_monday_night
6> (current controlfile);
7> release channel dev1;
8> }

  注意:数据库完全备份将自动备份控制文件。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章