赞
踩
RMAN(Recovery Manager)称为恢复管理器,是ORACLE进行数据库备份(backup)、修复(restore)和恢复(recover)的一个常用工具。
使用RMAN可以备份以下对象:(1)整个数据库;(2)数据文件;(3)表空间;(4)归档重做日志文件;(5)控制文件;(6)初始化参数文件。
RMAN备份分为镜像复制和备份集两种:
(1)镜像复制是对数据文件、控制文件和归档重做日志文件进行复制,镜像复制文件与原文件大小相同,原文件中未使用的数据块也被复制到备份文件中。
(2)备份集(Backup set)是RMAN创建的一个具有特定格式的逻辑对象,一个备份集在物理上由一个或多个RMAN指定格式的二进制文件组成。每一个备份文件称为一个备份片(Backup Piece)。
完全备份(FULL Backup)是指对数据文件进行备份时,不管数据文件中的数据块是否被修改都复制到备份中。
增量备份(Incremental Backup)是指备份数据文件时,只备份上次增量备份后被修改过的数据块。根据增量备份所参照的基础不同,增量备份又分为差异增量备份(Differential Incremental Backup)和累积增量备份(Cumulative Incremental Backup)两种。
(1)差异增量备份:以最近级别为0或1的增量备份为基础,复制所有被修改过的数据块(默认为差异增量备份)。比如:每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块,其余每天对数据库做差异增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二备份相对于周一的增量备份发生数据变化的数据块,……以此类推。
(2)累积增量备份:以最近级别为0的增量备份为基础,复制所有被修改过的数据块。比如:每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块。其余每天对数据库做累积增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二也备份相对于周日的增量备份发生数据变化的数据块,……以此类推。
在操作系统命令提示符下输入命令,连接目标数据库:
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)
在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
获取目标数据库的模式结构:
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
查看当前会话中所有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
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消失。
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
如果要在使用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语句包含单引号,需要在每个单引号之前再加一个单引号。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。