您的位置:首页 > 数据库 > Oracle

读书笔记整理十:使用RMAN 增强功能

2012-08-05 21:00 225 查看
读书笔记整理十:使用RMAN 增强功能

优化的备份

? 使用ZLIB 算法加快了压缩速度

CONFIGURE COMPRESSION ALGORITHM TO ZLIB;

? 增强了检测块损坏的功能,因而强化了保护功能

除RMAN 检测到的块损坏外,Oracle Database 11g 还在

V$DATABASE_BLOCK_CORRUPTION 视图中记录活动的块损坏。检测或修复块损坏后,

Oracle DB 会自动更新此视图。由于新增了许多选项(如VALIDATE ... BLOCK 和

VALIDATE DATABASE 等),VALIDATE 命令得到了增强。

RMAN:新增功能

后面的页提供了关于以下内容的详细信息:

? 通过Intrafile 并行备份和还原来优化备份并提高备份的

速度

? 简化活动数据库的复制

? 简化归档备份以进行长期存储

? 通过合并目录简化信息基础结构

? 通过限制DBA 备份目录访问所拥有的数据库“虚拟专

用目录”来增强安全性

在Oracle Database 11g 之前,由于需要对SPFILE 进行适合目标环境的更改,所以不复制

SPFILE。在以NOMOUNT 模式或在打开新复制的数据库之前要使用的RMAN 命令行中启

动实例时,必须将SPFILE 复制到新的位置,对其进行编辑和指定。

使用Oracle Database 11g,您只要提供参数列表、所需的值,系统就可对其进行设置。最

明显的参数是那些其值包含目录规范的参数。系统会添加所有与您的选择相匹配的参数值

(DB_FILE_NAME_CONVERT 和LOG_FILE_NAME_CONVERT 参数除外)。

请注意参数的大小写区分:大小写必须与PARAMETER_VALUE_CONVERT 匹配。对于

FILE_NAME_CONVERT 参数,模式匹配是操作系统特定的。

在还原SPFILE 和发出ALTER SYSTEM SET 命令修改该参数文件后(装载该实例之

前),该功能等同于暂停数据库复制。

RMAN DUPLICATE 命令

DUPLICATE TARGET DATABASE

TO dbtest

FROM ACTIVE DATABASE

SPFILE PARAMETER_VALUE_CONVERT '/u01', '/u02'

SET SGA_MAX_SIZE = '200M'

SET SGA_TARGET = '125M'

SET LOG_FILE_NAME_CONVERT = '/u01','/u02'

DB_FILE_NAME_CONVERT = '/u01','/u02';

RMAN DUPLICATE 命令

该示例假设您先前已连接到源和目标实例,它们有公用的目录结构但具有不同的顶级磁

盘。该目标实例使用自动配置的通道。

? 此RMAN DUPLICATE 命令可复制打开的数据库。

? FROM ACTIVE DATABASE 子句表明您将不使用备份(这表示网络操作),目标处

于打开或已装载状态。

? SPFILE 子句表示在打开数据库之前还原和修改SPFILE。

? 重复的SET 子句实际上将发出ALTER SYSTEM SET param = value

SCOPE=SPFILE 命令。可以根据需要提供任意多这样的子句。

先决条件

? AUXILIARY 实例处于NOMOUNT 状态,该实例是使用最低PFILE 选项启动的。

? PFILE 只需要DB_NAME 和REMOTE_LOGIN_PASSWORFILE 参数。

? 口令文件必须存在,并且与目标具有相同的SYS 用户口令。

? 目录结构必须具有适当的权限。

? 将网络服务名用作SYS 用户连接到AUXILIARY。

使用DUPLICATE 命令创建备用数据库

DUPLICATE TARGET DATABASE

FOR STANDBY

FROM ACTIVE DATABASE

SPFILE PARAMETER_VALUE_CONVERT '/u01', '/u02'

SET "DB_UNIQUE_NAME"="FOO"

SET SGA_MAX_SIZE = "200M"

SET SGA_TARGET = "125M"

SET LOG_FILE_NAME_CONVERT = '/u01','/u02'

DB_FILE_NAME_CONVERT = '/u01','/u02';

管理恢复目录:

1. 创建恢复目录。

2. 在恢复目录中注册目标数据库。

3. 如果需要,合并恢复目录。

4. 如果需要,编录任何早期备份。

5. 如果需要,为特定用户创建虚拟恢复目录。

6. 保护恢复目录。

IMPORT CATALOG 命令

1. 连接到目标恢复目录:CONNECT CATALOG cat111/oracle@destdb;

2. 导入所有已注册数据库的元数据:IMPORT CATALOG cat102/oracle@srcdb;

3. 导入两个已注册数据库的元数据:IMPORT CATALOG cat92/oracle@catdb DBID=1423241, 1423242;

4. 导入多个目录的元数据:

IMPORT CATALOG cat102/rman@srcdb;

IMPORT CATALOG cat101/rman@srcdb;

IMPORT CATALOG cat92/rman@srcdb NO UNREGISTER;

IMPORT CATALOG 命令

使用IMPORT CATALOG 命令,可以将元数据从一个恢复目录方案导入到另一个目录方

案。如果创建了不同版本的目录方案来存储多个目标数据库的元数据,则使用此命令可以

为所有数据库维护单个目录方案。

1. RMAN 必须连接到目标恢复目录(如cat111 方案),这是要将目录数据导入到其

中的目录。下面是此幻灯片显示的所有示例中的第一个步骤。

IMPORT CATALOG <connectStringSpec>

[DBID = <dbid> [, <dbid>,…]]

[DB_NAME=<dbname>[, <dbname,…]]

[ NO UNREGISTER ];

<connectStringSpec> 是源恢复目录连接字符串。该源恢复目录方案的版本必须等于

RMAN 可执行文件的当前版本。如果需要,将源目录升级到当前RMAN 版本。

DBID:可以指定应从源目录方案导入其元数据的数据库ID 的列表。没有指定时,RMAN

会将所有数据库ID 的元数据从源目录方案合并到目标目录方案。如果已在恢复目录方案

中注册了元数据已合并的数据库,则RMAN 会发出错误。

DB_NAME:可以指定应导入其元数据的数据库名称的列表。如果数据库名称不明确,则

RMAN 会发出错误。

NO UNREGISTER:默认情况下,成功导入后会从源恢复目录方案中注销导入的数据库

ID。使用NO UNREGISTER 选项,可以强制RMAN 将导入的数据库ID 保留在源目录方

案中。

导入示例(续)

2. 在此示例中,cat102 用户拥有srcdb 数据库中的RMAN 目录(10.2 版)。您希望

RMAN 导入所有已注册数据库后在源目录中注销它们。

3. cat92 用户拥有srcdb 数据库中的RMAN 目录(9.2 版)。您希望RMAN 导入

DBID 为1423241 和1423242 的数据库,然后在源目录中注销这些数据库。

4. srcdb 数据库包含三种不同的恢复目录。RMAN 在destdb 数据库中将这些目录中

所有已注册的数据库ID 的元数据导入到cat111 方案中。除在cat92 方案中注册的

数据库之外,所有导入的目标数据库都会从其源目录中注销。

更多使用情况详细信息

? 确保不要同时在源目录方案和目标目录方案中注册目标数据库。如果在两个方案中都

注册了目标数据库,则从源目录注销此数据库,然后重试进行导入。

? 如果该操作在导入过程中失败,则将回退导入。不会存在部分导入的状态。

? 如果源目录方案和目标目录方案中存储的脚本出现名称冲突,则RMAN 会重命名源

目录方案的存储脚本。

使用RMAN 虚拟专用目录

1. 创建RMAN 基础目录:RMAN> CONNECT CATALOG catowner/oracle@catdb;

RMAN> CREATE CATALOG;

2. 为VPC 所有者授予RECOVERY_CATALOG_OWNER 权

限:

3a. 为VPC 所有者授予REGISTER 权限,或者:

3b. 为VPC 所有者授予CATALOG FOR DATABASE 权限:

SQL> CONNECT SYS/oracle@catdb AS SYSDBA

SQL> GRANT RECOVERY_CATALOG_OWNER to vpcowner

RMAN> CONNECT CATALOG catowner/oracle@catdb;

RMAN> GRANT REGISTER DATABASE TO vpcowner;

RMAN>GRANT CATALOG FOR DATABASE db10g TO vpcowner

使用RMAN 虚拟专用目录

可以为数据库和用户组创建虚拟专用RMAN 目录。

1. 目录所有者将创建基础目录。

2. 目录数据库上的DBA 将创建拥有该虚拟专用目录(VPC) 的用户,并为其授予

RECOVERY_CATALOG_OWNER 权限。

3. 基础目录所有者可为VPC 所有者授予对先前注册的数据库的访问权限,或者为VPC

所有者授予REGISTER 权限。GRANT CATALOG 命令如下:

GRANT CATALOG FOR DATABASE prod1, prod2 TO vpcowner;

GRANT REGISTER 命令如下:

GRANT REGISTER DATABASE TO vpcowner;

然后,虚拟目录所有者可连接到特定目标的目录,或者注册一个目标数据库。完成

VPC 配置之后,VPC 所有者将像使用标准基础目录一样使用该目录。

使用RMAN 虚拟专用目录

4a. 为11g 客户机创建虚拟目录,或者:

RMAN> CONNECT CATALOG vpcowner/oracle@catdb;

RMAN> CREATE VIRTUAL CATALOG;

4b. 为11g 之前的客户机创建虚拟目录:

SQL> CONNECT vpcowner/oracle@catdb

SQL> exec catowner.dbms_rcvcat.create_virtual_catalog;

5. 在目录中注册新的数据库:

RMAN> CONNECT TARGET / CATALOG vpcowner/oracle@catdb;

RMAN> REGISTER DATABASE;

6. 使用虚拟目录:

RMAN> CONNECT TARGET / CATALOG vpcowner/oracle@catdb;

RMAN> BACKUP DATABASE;

使用RMAN 虚拟专用目录(续)

4. 创建虚拟专用目录。

a. 如果目标数据库是Oracle Database 11g 数据库并且RMAN 客户机是11g 客户

机,则可使用RMAN 命令:

CREATE VIRTUAL CATALOG;

b. 如果目标数据库是Oracle Database 10g 版本2 或者更早版本(使用兼容客户

机),则必须执行SQL*Plus 提供的过程:

base_catalog_owner.dbms_rcvcat.create_virtual_catalog;

5. 使用VPC 所有者登录名连接到该目录,将其作为常规目录使用。

6. 虚拟目录所有者只能看到对其有访问权限的数据库。要执行大多数RMAN 操作,还
需要拥有对目标数据库的SYSDBA 或SYSOPER 权限。

---------------------------整理自11g新功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息