克隆数据库

一、使用副本数据库
1、使用副本数据库可执行以下任务
*测试备份和恢复过程
*通过创建导出文件并将对象导入生产数据库来恢复对象(但闪回查询、闪回删除和闪回表是用来恢复对象的更简单快速的解决方案)
2、创建副本数据库
*可以使用RMAN 的DUPLICATE 命令在同一主机上或不同的主机上创建副本数据库。
*副本数据库可包含与源数据库相同的内容或仅包含源数据库的子集
*复制的主要工作是由辅助通道执行的。对于基于备份的复制,这些通道对应于目标主机上的辅助实例上的服务器会话。
*对于活动数据库复制,由目标通道执行将数据文件副本推入到辅助实例的工作。

二、选择数据库的复制方法
1、从活动数据库,连接到目标实例和辅助实例
2、从备份,连接到目标实例和辅助实例
3、从备份,连接到辅助实例,不连接到目标实例,但具有恢复目录连接
4、从备份,连接到辅助实例,不连接到目标实例和恢复目录

注:可将源数据库复制到位于同一计算机或其它计算机上的目标数据库。与副本数据库关联的数据库实例称为辅助实例。所有复制方法都需要连接到辅助实例。


三、复制活动数据库
1、使用网络(不需要备份)
2、包括自定义SPFILE
3、通过Oracle Enterprise Manager 或RMAN 命令行
注:通过使用Oracle Enterprise Manager 或RMAN DUPLICATE 命令的FROM ACTIVE DATABASE 子句,可以指示源数据库直接将映像副本和
归档日志副本复制到辅助实例。此操作不需要使用备份。RMAN 作为TARGET 连接到源数据库实例并作为AUXILIARY连接到辅助实例。通过实例
间的网络连接将数据库文件从源数据库复制到目标数据库或辅助实例。RMAN随后使用“内存脚本”(仅包含在内存中)完成恢复并打开数据库。

四、通过目标连接复制数据库
1、连接到目标数据库(源数据库)
2、连接到辅助实例
3、可选,连接到恢复目录(或使用目标控制文件)
注:当通过目标数据库连接复制数据库时,RMAN 可从目标数据库控制文件或从恢复目录获取有关备份的元数据。此图表描述了通过目标连接
执行的基于备份的复制。RMAN 连接到源数据库实例和辅助实例。此外,RMAN 还可以连接到恢复目录数据库(图中未显示)。目标主机必须具有
对创建副本数据库所需的RMAN 备份的访问权限

五、在具有恢复目录但没有目标连接的情况下复制数据库
1、连接到备份元数据的恢复目录
2、连接到辅助实例,该实例必须具有对RMAN 备份的访问权限
注:如果在复制数据库时没有连接到目标数据库,但具有恢复目录,则RMAN 将使用恢复目录获取有关备份的元数据。此图表描述了没有目标连接
时基于备份的复制。RMAN 连接到恢复目录数据库实例和辅助实例。目标主机必须具有对创建副本数据库所需的RMAN 备份的访问权限。

六、在没有恢复目录或目标连接的情况下复制数据库

连接到辅助实例,该实例必须具有对磁盘备份位置的访问权限
注:如果在没有目标数据库连接且没有恢复目录的情况下复制数据库,则RMAN 将使用所有必需的备份和副本所在的备份位置。
此图表描述了在没有连接到目标数据库实例或恢复目录数据库实例的情况下执行的基于备份的复制。包含复制所需的所有备份
或副本的磁盘备份位置必须可供目标主机使用

七、创建基于备份的副本数据库
1. 创建辅助实例的Oracle 口令文件。
2. 建立到辅助实例的Oracle Net 连接。
3. 创建辅助实例的初始化参数文件。
4. 在NOMOUNT模式下启动辅助实例。
5. 装载或打开目标数据库。
6. 确保备份和归档重做日志文件可用。
7. 根据需要分配辅助通道。

8. 执行DUPLICATE 命令。


八、创建辅助实例的初始化参数文件
请按如下方式指定参数:
* DB_NAME
    如果副本数据库和目标数据库在同一Oracle主目录中,则它们的名称必须不同。如果它们在不同的Oracle  
主目录中,则必须确保副本数据库名称不同于其Oracle主目录中的其它名称。请确保执行DUPLICATE 命令时使
用的数据库名称与为此参数设置的名称相同。
* DB_BLOCK_SIZE
    指定的值应与为目标数据库设置的值相同。如果没有在目标数据库的初始化参数文件中设置此参数,在辅
助实例初始化参数文件中也不要设置它。

九、为目标指定新名称(可用的方法)
1、将SET NEWNAME FOR DATAFILE 命令包含在RUN 块中来指定数据文件的新名称。
2、使用CONFIGURE AUXNAME命令。CONFIGURE AUXNAME是SET NEWNAME 的一种替代方法。区别是首次配置辅助名
称后,其它DUPLICATE 命令将重用所配置的设置。相对而言,每次执行DUPLICATE 命令时必须重新发出SET NEWNAME 。
注:对于恢复集数据文件,使用 SET NEWNAME 替换CONFIGURE AUXNAME。
3、随DUPLICATE 命令指定DB_FILE_NAME_CONVERT参数。

十、使用SET NEWNAME 子句
1、SET NEWNAME 子句用于为数据库或命名表空间中的所有文件指定默认名称格式。
2、默认名称用于RUN 块中的DUPLICATE、RESTORE和SWITCH 命令。
3、它使得您可以通过单个命令设置文件名称,而无需分别设置每个文件名称。
eg:
SET NEWNAME FOR DATAFILE 和SET NEWNAME FOR TEMPFILE
SET NEWNAME FOR TABLESPACE
SET NEWNAME FOR DATABASE

RUN
{
SET NEWNAME FOR DATABASE TO '/u01/app/oracle/oradata/dupldb/%b';
DUPLICATE TARGET DATABASE TO dupldb
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/dupldb/redo01a.log',
'/u01/app/oracle/oradata/dupldb/redo01b.log') SIZE 50M REUSE,
GROUP 2 ('/u01/app/oracle/oradata/dupldb/redo02a.log',
'/u01/app/oracle/oradata/dupldb/redo02b.log') SIZE 50M REUSE,
GROUP 3 ('/u01/app/oracle/oradata/dupldb/redo03a.log',
'/u01/app/oracle/oradata/dupldb/redo03b.log') SIZE 50M REUSE;
}

十一、SET NEWNAME 的替代变量
说明               语法元素
%b 指定不带目录路径的文件名
%f 指定为其生成新名称的数据文件的绝对文件号
%I 指定DBID
%N 指定表空间名称
%U 定如下格式的系统生成文件名:data-D-%d_id-%I_TS-%N_FNO-%f

十二、指定用于文件命名的参数
1、CONTROL_FILES :可以使用此参数指定控制文件的名称。如果未使用此参数设置名称,Oracle Server会在默认控
制目标中创建Oracle管理的控制文件。
2、DB_FILE_NAME_CONVERT:此参数用于指定辅助数据库的数据文件名。其格式为DB_FILE_NAME_CONVERT = 'string1', 'string2',
其中string1是目标数据库文件名的模式,string2是辅助数据库文件名的模式。还可以指定DB_FILE_NAME_CONVERT参数作为
DUPLICATE DATABASE 命令的选项。
3、LOG_FILE_NAME_CONVERT :此参数用于指定辅助数据库的重做日志文件名。其格式为LOG_FILE_NAME_CONVERT = 'string1', 'string2' ,
其中string1是目标数据库文件名的模式,string2是辅助数据库文件名的模式。还可以使用DUPLICATE DATABASE 命令的LOGFILE子句来指定
重做日志文件名。
eg:
CONTROL_FILES='/u01/app/oracle/oradata/aux/control01.ctl', 
 '/u01/app/oracle/oradata/aux/control02.ctl',
              '/u01/app/oracle/oradata/aux/control03.ctl'
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/aux'
LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/aux'

除了使用初始化参数控制文件命名之外,还可以使用下列方法重命名重做日志文件:
1、使用DUPLICATE命令的LOGFILE子句。
2、设置Oracle Managed Files 的初始化参数:DB_CREATE_FILE_DEST、DB_CREATE_ONLINE_DEST_n 或DB_RECOVERY_FILE_DEST 。

十三、在NOMOUNT模式下启动实例
    在NOMOUNT模式下启动辅助实例。根据用来启动实例的文本初始化参数文件创建服务器参数文件(SPFILE )。这样不需要在
DUPLICATE 命令中指定PFILE选项。RMAN 在复制过程中会关闭辅助实例,然后再重新启动它。因此,如果不使用SPFILE,
就必须指定PFILE选项。
eg:
SQL> startup nomount pfile='$HOME/auxinstance/initAUX.ora';
SQL>reate spfile from pfile='$HOME/auxinstance/initAUX.ora';

十四、确保备份和归档重做日志文件可用
1、在副本主机上必须能访问所有目标数据库数据文件的备份。
2、备份可以是完全备份和增量备份的组合。
3、在副本主机上必须能访问恢复副本数据库所需的归档重做日志文件。
4、归档重做日志文件可以是:
– 介质管理器上的备份
– 映像副本
– 实际的归档重做日志文件

十五、分配辅助通道
1、辅助通道指定RMAN和辅助数据库实例之间的连接。
2、如果未配置自动通道,请分配辅助通道:
– 启动RMAN 时连接到目标数据库实例、辅助实例和恢复目录(如果适用)。
– 在RUN 块中分配至少一个辅助通道。
eg:
$ rman target sys/oracle_4U@trgt auxiliary sys/oracle_4U@auxdb
RMAN> RUN
{ALLOCATE AUXILIARY CHANNEL aux1 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux2 DEVICE TYPE DISK;

DUPLICATE TARGET DATABASE to auxdb; . . .

注:如果未配置自动通道,请在发出DUPLICATE 命令之前,至少手动分配一个辅助通道。
ALLOCATE AUXILIARY CHANNEL 命令必须与DUPLICATE 命令位于同一RUN 块中。
ALLOCATE AUXILIARY CHANNEL 命令中指定的通道类型必须与目标数据库备份所在的介质相匹配。
<1>、如果备份驻留在磁盘上,则可分配多个通道以减少复制过程所花费的时间。
<2>、对于磁带备份,可以指定与可用设备数相对应的通道数。
必须使用NOMOUNT选项启动辅助实例,且目标数据库必须已装载或已打开。

十六、了解RMAN 复制操作
1A. 如果满足以下条件,RMAN 将为辅助实例创建默认服务器参数文件:
- 复制不涉及备用数据库。
- 不对服务器参数文件进行复制。
- 辅助实例不是使用服务器参数文件启动的。
1B. RMAN  从备份中还原-对于备用数据库和没有目标连接的基于备份的复制,始终如此。
2. RMAN 从活动数据库装载已还原或复制的备份控制文件。
3. 对于基于备份的复制:RMAN 使用 RMAN 资料档案库选择用于将数据文件还原到辅助实例的备份。
4. RMAN 还原并复制数据文件副本。
5. RMAN 使用增量备份和归档重做日志文件将数据文件恢复到非当前时间点。RMAN必须执行数据库时间点恢复,即使不为复制提供显
式时间点也是如此。因为源数据库中的联机重做日志文件未备份且无法应用于副本数据库,所以时间点恢复是必需的。副本数据库的
最远恢复点是由源数据库归档的最近重做日志文件。
6. RMAN 关闭数据库实例并以 NOMOUNT 模式重新启动它。
7. RMAN 新建一个控制文件,该控制文件然后在副本数据库的数据文件中创建并存储新的唯一数据库标识符DBID。
8. RMAN 通过 RESETLOGS 选项打开副本数据库。
9. RMAN 为副本数据库创建联机重做日志文件。
注:如果DUPLICATE DATABASE 命令失败,可重新执行DUPLICATE DATABASE 命令,复制过程尝试从故障点继续执行。

十七、指定DUPLICATE 命令的选项
SKIP READONLY
:用于排除只读表空间数据文件。
SKIP TABLESPACE:用于从目标数据库中排除表空间。不能排除 SYSTEM 表空间或包含还原段或回退段的表空间。
TABLESPACE:用来包括目标数据库中的表空间。
NOFILENAMECHECK:用于防止RMAN 检查目标数据库数据文件是否与正在使用的副本数据库数据文件同名。当目标
数据库和副本数据库的数据文件和重做日志文件使用相同的名称时,必须指定此选项。当创建副本数据库的主机
具有与目标数据库主机一样的磁盘配置、目录结构和文件名时,通常使用此选项。如果这种情况下未指定NOFILENAMECHECK,
RMAN 会返回错误。
OPEN RESTRICTED:用于在数据库打开之后自动启用 RESTRICTED SESSION 。
NOREDO :NOREDO 选项用于向RMAN 发出信号,指出在复制操作的恢复阶段不应用重做日志。
在下列情况下应指定此选项:在备份时数据库处于NOARCHIVELOG模式,或者在复制操作过程中归档重做日志文件不可用。
如果当前处于ARCHIVELOG模式的数据库正被复制到它在NOARCHIVELOG模式时的一个时间点,使用此选项非常合适。如果
正在执行无目标DUPLICATE,且该数据库处于NOARCHIVELOG模式,则必须使用此选项将数据库模式告知RMAN 。如果未连
接到目标数据库,RMAN 将无法确定模式。
UNDO TABLESPACE:在非整体数据库复制过程中,RMAN 会检查所复制的所有表空间以确认不存在属于SYS 用户的对象。
SYSTEM 、SYSAUX 和还原段表空间不在此检查的范围内。但是,如果复制过程中未打开目标数据库,且未使用恢复目录,
RMAN 将无法获取还原表空间的名称。所以必须使用 UNDO TABLESPACE选项提供还原段表空间的名称









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值