SQL*Plus:> Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> create user rman> 用户已创建。
SQL> grant sysdba to rman;
授权成功。
SQL> host
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:/Users/Administrator.DavidDai>rman target rman/rman@mynewccs;
恢复管理器:> Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到目标数据库: MYNEWCCS (DBID=1108507251)
RMAN>
3.2 设置数据库安全性
先来看一下本地服务器上连接RMAN 和 通过ORACLE net 连接RMAN 两者之间的差异。 启动RMAN时,我们可能登录到数据库所在的服务器。 在这
种情况下,如果使用特许的OS 用户账户登录,登录时用具有sysdba 权限的用户即可。 根据使用的操作系统,我们可以确定我们的用户账户是否
是特许的。 如果使用UNIX,通常会存在一个名为dba的UNIX 组,它是在创建ORACLE特有的账户(通常名为Oracle)时创建的。 如果在这个Unix
组中指定我们的UNIX用户账户,就可以不再执行其他操作而连接到一个目标数据库。 如果使用Windows 平台,特许用户会指定到一个通常名为
ORA_DBA的NT组。
如果没有使用特许的账户登录本地服务器,或者从客户端工作站使用Oracle net来连接目标数据库(如:user/pwd@sid). 就需要配置数据库使
用口令文件。 配置口令文件时,先要创建口令文件,然后配置数据库,使数据库明确使用这个口令文件。 创建口令文件的2个步骤如下:
3.2.1 创建口令文件
使用Oracle 使用程序orapwd 可以创建口令文件。 该命令有3个参数:
File:口令文件名
password: sys 用户的口令
Entries:为其他特许的Oracle 用户账户保留的条目数
缺省情况下,win下口令文件的格式是pwdsid.ora,unix下的格式是orapwSID(大小写敏感),
C:>orapwd file=pwdSID.ORA password=pwd entries=5;
3.2.2 配置数据库使用口令文件
在默认情况下,Oracle 不会被配置为使用口令文件(除非使用DBCA创建数据库)。 是否使用口令文件,是通过oracle提供的一个参数
remote_login_passwordfile来控制的,remote_login_passwordfile有none,shared,exclusive3个值,
none表示不使用口令文件,停用口令文件验证,Oracle数据库不允许远程SYSDBA/SYSOPER身份登录
exclusive表示实例独占使用口令文件,也就是各自实例使用单独的口令文件,
shared表示多个实例共享一个口令文件.
Oracle数据库在启动时,首先查找的是orapw的口令文件,如果该文件不存在,则开始查找,orapw的口令文件,如果口令文件命名为orapw,多个
数据库就可以共享.
Alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
SQL> select name,value,issys_modifiable from v$parameter where name='remote_login_passwordfile';
NAME VALUE ISSYS_MOD
------------------------------ --------------- ---------
remote_login_passwordfile EXCLUSIVE FALSE
注意: 该参数不是动态修改的,修改后需要重启数据库。
3.3 设置CONTROL_FILE_RECORD_KEEP_TIME 参数
为RMAN 配置数据库时,我们应当考虑在控制文件中存储备份记录的时间。 备份记录包括完全的数据库备份记录,以及指定的数据文件,控制文
件,参数文件和归档目录的备份记录。数据库参数CONTROL_FILE_RECORD_KEEP_TIME以天为单位(默认值为7天),因此在默认情况下,Oracle 会
将RMAN备份和恢复记录保存7天。 可以将该参数设置为0到365之间的任意值。
CONTROL_FILE_RECORD_KEEP_TIME参数会影响一系列的数据库操作。 首先,产生RMAN备份时,由于与这些备份相关的记录存储在控制文件中,所
以该参数直接影响数据库控制文件的大小。 备份记录将不断的保存在控制文件中,控制文件将耗尽空间。 这时,Oracle 会扩展控制文件来调整
备份记录所需的存储空间。 此外,设置为0时,将禁止扩展控制文件,并且会使得RMAN备份的保存周期不稳定。
我们建议将CONTROL_FILE_RECORD_KEEP_TIME 参数设置为不小于选中数据库的备份保存周期,否则就可能在备份介质上有数据库备份,但是控制
文件不存在与备份相关的备份记录,在这种情况下,将无法恢复这些较早的文件。
SQL> select name,value from v$parameter where name='control_file_record_keep_time';
NAME VALUE
------------------------------ -------------------------------------------------
control_file_record_keep_time 7
SQL>> 系统已更改。
SQL> show parameter control_file_record_keep_time
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 20
3.4 配置RMAN默认设置
RMAN 允许我们执行自动的数据库备份和恢复。 为了支持这个功能,我们为一些参数设置默认值。
3.4.1 configure 命令介绍
RMAN> show all;
使用目标数据库控制文件替代恢复目录
db_unique_name 为 MYNEWCCS 的数据库的 RMAN 配置参数为:
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 MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF> D TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:/APP/ADMINISTRATOR/PRODUCT/11.2.0/DBHO
ME_1/DATABASE/SNCFMYNEWCCS.ORA'; # default
Show all 命令显示了默认的配置。 我们也可以使用查看v$rman_configuration 视图,它列出了非默认的RMAN 配额。
3.4.2 配置多种RMAN 配置
我们可以采用不同的方法来配置通道: 使用configure channel device type 命令可以配置用于所有通道的默认值;使用configure
channel n device type 命令可以配置用于指定默认通道的默认值。
使用configure channel device type clear 命令可以清楚用于所有通道的默认值,使用configure channel n device type clear命令可以清除
用于指定默认通道的默认值。
使用allocate channel 命令分配一个通道时,可以为分配的这个通道指定名称。 如: allocate channel d1 device type disk 命令可以创建
一个名为d1的通道。 自动分配通道时,ORACLE 会为这些通道指定名称,他们的默认名称取决于默认设备类型。 磁盘设备,默认名:
ORA_DISK_n; 磁带设备: 默认名:ORA_SBT_TAPE_n。
自动分配通道数取决于所定义的默认并行级别。 执行configure 命令时,Oracle 显示前面的配置设置,后面跟上新的配置设置。
3.4.3 configure 命令的一些示例:
配置通道默认设置
Configure default device type to sbt;
Configure default device type to disk;
当配置默认的设备类型时,Oracle 将使用默认的通道,直到使用backup device type参数重写默认值,也将自动分配用于delete 命令的维护通
道和用于复制操作的辅助通道。
一旦配置了默认的设备类型,就可以配置特定备份类型的默认值,当使用备份时,应该进行这种备份。 例如,当备份到磁盘时,可以让Oracle
默认地使用标准的oracle 备份集方法备份数据库,或者让其默认为使用副本,或者默认为压缩备份集,并表明并行程度(这表示将分配给备份的
通道数)。 相关实例如下:
Configure device type disk backup type to backupset;
Configure device type disk backup type to compressed backupset;
Configure device type disk backup type to copy;
Configure device type disk parallelism 2;
压缩 是Oracle 10g 里的新特性。 压缩提供了Oracle 备份的真正压缩,而不同于ZIP 压缩,它可以有效的减小备份集的大小。 当然,压缩占
用资源并且需要更长的时间来完成备份和恢复。
在看一个自动备份和恢复操作期间分配的通道数示例,示例中,分配磁盘操作的并行级别为2,因此,如果启动自动备份操作,就会分配两个通道
来并行执行备份操作。
Configure channel 1 device type disk format 'd:/backup/orcl/backup_%U';
Configure channel 2 device type disk format 'e:/backup/orcl/backup_%U';
注意: 通常在设置默认的并行级别时,应当设置为连接备份数据库的磁盘数或者磁带驱动器数。
在配置通道时有一些可用选项。 使用maxpiecesize 参数,可以控制备份集片的大小,用maxopenfile,可以控制RMAN 一次最多可以打开的文
件数。 Rate 参数用于限制RMAN 并控制备份时读取字节的比率为每秒nB,nKB,nMB和nGB。
如:configure channcel 1 device type disk maxpiecesize 100m maxopenfile 8 rate 100MB;
注意: 不要混淆 maxpiecesize 参数 和 maxsetsize 参数之间的区别。 Maxpiecesize 限定单个备份集片的大小并且对备份的整体大小没有影
响。 Maxsetsize 参数限制备份的整体大小,因此需要谨慎使用。
如果是限定所有通道,可以执行如下命令:
Configure channel device type disk maxpiecesize 100m.
为什么需要更改一个备份集片的最大尺寸呢?首先是某些指定文件大小存在限制,比如磁带只能处理一定量的数据,而某些磁盘文件系统对给定
的数据文件的大小有一些限制。
将一个磁带设备设置为所有通道的默认设备,并且指定一些参数的设置。 相关设置如下:
Configure channel devicetype双胞胎maxpiecesize100m parms 'ENV=(NB_ORA_CLASS=RMAN_RS100_TAPE)';
配置整个备份集的默认最大尺寸
Configure maxsetsize to 7500k;
将备份集的最大尺寸设为默认值,即没有限制
Configure maxsetsize clear;
注意: 使用maxsetsize 来限制创建的整个备份的大小时需要特别小心。 这是因为数据库在初始化阶段可能小于定义的maxsetsize值,但数据库
很快就会超过maxsetsize 值,这样就会导致数据库备份操作失败。
使用configure 命令时,需要清楚给定的配置,这样才能使用默认值。 如:
Configure channel 1 device type disk clear;
可以将备份进程配置为创建双路备份(duplexed backup),也就是说在不同的位置创建同一个备份的多个副本。还可以使用configure 命令来配
置数据库的默认设置,以使configure 命令执行双路的自动备份操作:
Configure datafile backup copies for device type disk to 2;
快照控制文件,该文件是RMAN 备份期间数据库控制文件的时间点副本,这样可以保证备份与给定时间点一致。 因此,如果在启动备份操作后在
数据库中添加一个表空间或者数据文件, 这个表空间或数据文件就不会包含在备份中。 如果我们希望在默认位置外的位置创建备份控制文件,
就可以使用configure 命令来定义这个新位置:
Configure snapshot control file name to 'd:/backup/snapshotSID';
注意: 既是配置了FRA,Oracle 也不会在FRA中创建控制文件。
在自动备份期间,我们可以将指定的表空间排除在备份之外,也可以使用configure 命令来实现这一功能:
Configure exclude for tablespace old_data;
Configure 命令允许我们启用和禁止备份优化,启用备份优化时,会使ORACLE 跳过在备份设备上已有的相同备份的文件的备份。
Configure backup optimization on;
注意:要执行优化操作,就必须启动备份优化。此外,我们也必须执行 backup database命令或者backup archivelog命令或与like/all 选项连
用,或backup backupset all。 最后,还可以使用backup 命令的force 参数来禁止备份优化。
3.4.4 使用格式串
先看例子:Configure channel 1 device type disk format 'd:/backup/orcl/backup_%U';
在configure 命令中经常使用格式串,在backup,resotre,allocate channel 等其他RMAN 命令中也会经常看到格式串。RMAN 提供了与格式串关
联的一些语法元素。 这些元素称: 占位符, rman 将使用相应的定义值来替换他们。 例如示例中的 %U 语法元素告诉RMAN要使用系统生成的唯
一表示符替换文件名。
使用FORMAT参数时可使用的各种替换变量,如下(注意大小写)所示: