1

【译】重要的 dbca 参数,如果您计划在 asm 中使用存储快照克隆 -m6米乐安卓版下载

原创 smiling 2022-05-11
881

原文作者:阿兰·富勒

原文链接:
https://blog.dbi-services.com/important-dbca-parameter-if-you-plan-to-use-storage-snapshot-cloning-in-asm/

我目前正在处理一个客户项目是使用存储快照创建数据库克隆。优点是显而易见的,因为使用存储快照克隆不仅节省空间,而且与完整克隆相比速度也非常快。

这篇文章不是要详细解释怎么实现快照克隆技术,它指出在使用 dbca 创建源数据库时要考虑的重要一点。

简要概述如何使用 asm 完成快照克隆:

设置源数据库为备份模式
在存储级别创建整个 asm 磁盘组的快照
取消源数据库的备份模式
测试服务器上存在lun的快照
使用重命名实用程序重命名磁盘组
asm 以新名称挂载磁盘组
在 asm 中调整 db_unique_name
为数据库创建新的控制文件
使用open resetlogs打开数据库

我想在这里重点是“在 asm 中调整 db_unique_name”。例如,如果您在磁盘组 data上创建一个新db,这个db 的 asm 中的目录结构如下所示:

 data/prod_site1
 data/prod_site1/controlfile
 data/prod_site1/datafile
 data/prod_site1/onlinelog
 data/prod_site1/tempfile

如果我们假设我们克隆的数据库应该命名为 test01,且我们已将 asm 中的磁盘组从 data重命名为 data_test,那么在挂载新磁盘组后,该磁盘组上的目录结构如下所示:

 data_test/prod_site1
 data_test/prod_site1/controlfile
 data_test/prod_site1/datafile
 data_test/prod_site1/onlinelog
 data_test/prod_site1/tempfile

在我们用数据库名test01创建新的控制文件之前,我们必须在asm中将db_unique_name目录从prod_site1重命名为test01_site1。
在asm中没有mv命令,所以目录必须在asm实例上用sql语句进行调整。工作原理如下:

sql> 
alter diskgroup data_test rename directory ' data_test/prod_site1' to ' data_test/test01_site1';
 
error at line 1:
ora-15032: not all alterations performed
ora-15177: cannot operate on system aliases

在这里有一个问题,在 asm 中有两种类型的目录。“系统生成(y)”和“手动创建(n)”。
如果我在 asmcmd 中查询目录,我会看到,我使用 dbca 创建的数据库具有“系统生成”名称。

asmcmd> ls -la
 
type  redund  striped  time  sys  name                           
                              y    asm/                             
                              y    prod_site1/

当 oracle 创建目录时,它始终是系统生成的,而当在 asm 中使用 mkdir 手动创建时,它是“非系统生成的”。
您必须知道“系统生成的目录”永远不能重命名。这在 asm 中是不可能的,并且没有解决方法。

因为我们使用 dbca 创建了源数据库,所以目录 prod_site1 “系统生成”的,因此我们无法将数据文件的路径更改为我们的新名称 test01_site1。

一种可能性是添加新的控制文件并仍然用旧的 db_unique_name 作为路径。这样数据库可以被启动,如果您之后查询 v$datafile,仍然会在那里看到错误的db_unique_name。

为了纠正这个问题,我们可以强制在线移动数据文件,但缺点是我们在 asm 中复制了整个数据库,这正是我们想要通过快照克隆来防止的。

alter database move datafile {datafile_path} to ' data_test';

那么这个问题的m6米乐安卓版下载的解决方案是什么?

在创建源db (prod)时,我们必须确保dbca不会将目录创建为“系统生成的”,这样在克隆之后,我们就有可能在新的磁盘组上重命名它。

在dbca中有一个参数

-datafiledestination

如果在 dbca create database 语句期间显式设置此参数,在asm中创建的目录是“手动生成的”,因此可以稍后重命名。

最后修改时间:2022-05-11 09:47:44
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图