使用RMAN备份与恢复数据库(1)——RMAN基本命令

使用RMAN备份与恢复数据库(1)——RMAN基本命令

RMAN(Recovery Manager)称为恢复管理器,是ORACLE进行数据库备份(backup)、修复(restore)和恢复(recover)的一个常用工具。

一、RMAN备份对象的分类

使用RMAN可以备份以下对象:(1)整个数据库;(2)数据文件;(3)表空间;(4)归档重做日志文件;(5)控制文件;(6)初始化参数文件。

二、RMAN备份形式

RMAN备份分为镜像复制和备份集两种:
(1)镜像复制是对数据文件、控制文件和归档重做日志文件进行复制,镜像复制文件与原文件大小相同,原文件中未使用的数据块也被复制到备份文件中。
(2)备份集(Backup set)是RMAN创建的一个具有特定格式的逻辑对象,一个备份集在物理上由一个或多个RMAN指定格式的二进制文件组成。每一个备份文件称为一个备份片(Backup Piece)。

三、RMAN备份类型

1、完全备份

完全备份(FULL Backup)是指对数据文件进行备份时,不管数据文件中的数据块是否被修改都复制到备份中。

2、增量备份

增量备份(Incremental Backup)是指备份数据文件时,只备份上次增量备份后被修改过的数据块。根据增量备份所参照的基础不同,增量备份又分为差异增量备份(Differential Incremental Backup)和累积增量备份(Cumulative Incremental Backup)两种。
(1)差异增量备份:以最近级别为0或1的增量备份为基础,复制所有被修改过的数据块(默认为差异增量备份)。比如:每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块,其余每天对数据库做差异增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二备份相对于周一的增量备份发生数据变化的数据块,……以此类推。
(2)累积增量备份:以最近级别为0的增量备份为基础,复制所有被修改过的数据块。比如:每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块。其余每天对数据库做累积增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二也备份相对于周日的增量备份发生数据变化的数据块,……以此类推。

四、RMAN基本命令

1、连接目标数据库

在操作系统命令提示符下输入命令,连接目标数据库:

RMAN TARGET user/password@net_service_name [NOCATALOG];

说明:与目标数据库连接时,用户须具有sysdba系统权限,以保证可以进行数据库的备份、修复与恢复工作。

举例:

[oracle@wgx ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Apr 8 16:23:32 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1559168802)

也可以先进入rman,再执行以下命令:

CONNECT TARGET | CATALOG user/password@net_service_name [NOCATALOG];

说明:
(1)TARGET:连接目标数据库;
(2)CATALOG:连接恢复目录数据库;
(3)net_service_name:连接远程数据库,指定服务名;
(4)NOCATALOG:表示不使用恢复目录保存档案资料库信息,档案资料库信息保存在目标数据库的控制文件中

举例:

[oracle@wgx ~]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Apr 8 16:27:13 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target /
connected to target database: ORCL (DBID=1559168802)

2、启动与关闭数据库

在RMAN中,可以启动和关闭数据库,代码如下:

RMAN> shutdown immediate;
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down

RMAN> startup mount;
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area    1068937216 bytes
Fixed Size                     2220200 bytes
Variable Size                482348888 bytes
Database Buffers             578813952 bytes
Redo Buffers                   5554176 bytes

RMAN> alter database open;
database opened

3、REPORT SCHEMA命令

获取目标数据库的模式结构:

RMAN> report schema;

Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    780      SYSTEM               ***     /usr/local/oradata/orcl/system01.dbf
2    520      SYSAUX               ***     /usr/local/oradata/orcl/sysaux01.dbf
3    225      UNDOTBS1             ***     /usr/local/oradata/orcl/undotbs01.dbf
4    15       USERS                ***     /usr/local/oradata/orcl/users01.dbf
5    50       DATA01               ***     /usr/local/oradata/orcl/data01.dbf
6    20       DATA02               ***     /usr/local/oradata/orcl/data02.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    38       TEMP                 32767       /usr/local/oradata/orcl/temp01.dbf

4、show all命令

查看当前会话中所有RMAN预定义的配置参数的设置情况:

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
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 DEVICE TYPE DISK FORMAT   '/home/oracle/rmanbak/%d_%I_%s_%p_%T.bak';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/usr/local/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f'; # default

5、CONFIGURE命令

(1)重新设置RMAN中预定义参数的取值

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
new RMAN configuration parameters are successfully stored

RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

说明:参数修改后,查看参数值时后面的注释#default消失。

(2)使用CLEAR关键字将某个参数恢复到默认值

RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;

old RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
RMAN configuration parameters are successfully reset to default value

RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

6、在RMAN中执行SQL语句

如果要在使用RMAN时执行SQL或PL/SQL语句,首先在RMAN提示符后输入SQL命令,然后再将要执行的SQL语句用单引号或双引号引起来,最后输入分号即可执行该SQL语句。

例如:

RMAN> SQL 'alter tablespace data01 read only';

sql statement: alter tablespace data01 read only

说明:
(1)STARTUP、SHUTDOWN等命令可直接执行;
(2)RMAN中不能执行SELECT语句;
(3)如果SQL、PL/SQL语句包含单引号,需要在每个单引号之前再加一个单引号。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章