读书笔记整理二:11g存储增强

本文详细介绍了Oracle 11g中ASM(Automatic Storage Management)的存储增强特性,包括如何设置ASM快速镜像再同步,ASM磁盘组的维护与管理,如设置磁盘修复时间和ASM首选镜像读取,以及ASM的可伸缩性和性能优化。此外,还讨论了ASM的角色权限变化,磁盘组兼容性,以及如何强制删除和备份恢复磁盘组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置ASM 快速镜像再同步
请按磁盘组设置此功能。可以在创建磁盘组后使用ALTER DISKGROUP 命令完成此操
作。使用一个类似以下命令的命令启用ASM 快速镜像再同步:
ALTER DISKGROUP SET ATTRIBUTE 'DISK_REPAIR_TIME'='2D4H30M'
在修复了磁盘后,运行SQL 语句ALTER DISKGROUP ONLINE DISK。此语句可使修复
的磁盘组重新联机以启用写操作,这样便不会丢失新的写入内容。此语句还会启动一个过
程,以复制在其冗余副本上标记为过时的所有区。不能将ONLINE 语句用于已经删除的
磁盘。
可以通过查询V$ASM_ATTRIBUTE 视图来查看当前的属性值。
通过查询V$ASM_DISK 或V$ASM_DISK_IOSTAT 的REPAIR_TIMER 列,可以确定
ASM 删除某个脱机磁盘前剩余的时间。此外,V$ASM_OPERATION 中将出现一个与磁盘
再同步操作对应的行,其中的OPERATION 列设置为SYNC。

设置ASM 快速镜像再同步(续)
为了进行预防性维护,还可以使用SQL 语句ALTER DISKGROUP OFFLINE DISK 手动
使ASM 磁盘脱机。使用此命令可以指定一个计时器,以覆盖在磁盘组级别定义的计时
器。完成维护后,使用ALTER DISKGROUP ONLINE DISK 语句使磁盘重新联机。
如果无法修复处于脱机状态的故障组,则可使用带FORCE 选项的ALTER DISKGROUP
DROP DISKS IN FAILGROUP 命令,这样便可以确保根据数据的冗余副本重新构建原先存
储在这些磁盘上的数据,并将其存储在同一磁盘组中的其它磁盘上。
注:仅当装载了磁盘组时才计算时间。而且,更改DISK_REPAIR_TIME 的值不会影响
以前脱机的磁盘。DISK_REPAIR_TIME 的默认设置3.6 小时对多数环境来说应当足够
了。

使用Oracle Database 11g 时,通过使用新的初始化参数
ASM_PREFERRED_READ_FAILURE_GROUPS 指定首选镜像读取名称列表来配置首选镜
像读取,可以做到这一点。这些故障组中的磁盘将成为首选读取磁盘。这样一来,每个节
点都可以从其本地磁盘读取数据了。这样不但可以提高效率和性能,还可以降低网络通信
量。该参数的设置取决于具体的实例。
ASM 首选镜像读取:设置
设置
ASM_PREFERRED_READ_FAILURE_GROUPS=DATA.SITEA
ASM_PREFERRED_READ_FAILURE_GROUPS=DATA.SITEB
在第一个实例上
在第二个实例上
SELECT preferred_read FROM v$asm_disk;
SELECT * FROM v$asm_disk_iostat;

ASM 首选镜像读取:最佳方法
在实践中,扩展集群中只有数量有限的有效磁盘组配置。有效磁盘组配置会同时考虑磁盘
组在扩展集群中的性能和可用性。下面是一些可能的示例:
对于一个包含两个站点的扩展集群,正常的冗余磁盘组应只有两个故障组;一个站点的所
有本地磁盘都应属于相同的故障组。此外,每个实例只能指定一个故障组作为首选读取故
障组。如果有两个以上的故障组,则ASM 不会对一个跨两个站点的虚拟区进行镜像。而
且,如果具有两个以上故障组的站点关闭,则也会使磁盘组关闭。如果要创建的磁盘组是
一个高冗余磁盘组,则应在每个站点及其本地磁盘上最多创建两个故障组,并将两个本地
故障组都指定为本地实例的首选读取故障组。
对于包含三个站点的扩展集群,应使用含三个故障组的高冗余磁盘组。通过这种方式,
ASM 可以保证每个虚拟区对于每个站点都有一个本地镜像副本,并且三个站点上的磁盘
组都受到保护以避免重大灾难。

ASM 可伸缩性和性能增强
* 区大小自动根据文件大小增加。
* ASM 支持可变区大小,可以:
– 增加可能的最大文件大小
– 减少共享池中内存的使用量
* 出现重要碎片时,不需要执行手动重新平衡以外的其它
管理任务。

ASM 可伸缩性和性能增强
ASM 可变大小区是一种自动功能,ASM 可使用该功能在提高内存使用效率的同时支持较大
的文件大小。
在Oracle Database 11g 中,ASM 支持1、8 和64 个分配单元(AU) 的可变大小区。ASM 使用
预先确定了数量的各种大小的区。只要一个文件超过了特定的阈值,就会使用下一个区大
小。
利用此功能,可以减少描述文件所需的区指针数,以及管理共享池中区映射所需的内存
(在大型文件配置中禁止使用)。区大小在文件之间以及文件内部都有所不同。
通过可变大小区功能还可以使用ASM 部署几百个TB(甚至几个PB)大小的Oracle DB。
注:可变大小区的管理是完全自动化的,不需要手动管理。

但是,如果分配并释放了大量非连续的小型数据区,并且没有其它连续的大型区可用时,
则可能出现外部碎片。碎片整理操作将被集成到重新平衡操作中。因此,DBA 始终可以
通过执行重新平衡操作对磁盘组进行碎片整理。
不过,这种情况极其罕见,因为ASM 也会在所需大小不可用时自动在区分配过程中执行
碎片整理。这可能会延长某些分配操作的时间。
注:此功能还可以加快文件的打开速度,因为这可以大量减少存储文件区所需的内存量。

Oracle Database 11g 中的ASM 可伸缩性
ASM 强制实施下列限制:
* 63 个磁盘组
* 10,000 个ASM 磁盘
* 每个ASM 磁盘4 PB
* 40 EB 的存储空间
* 每个磁盘组1 百万个文件
* 最大文件大小:
– 外部冗余:140 PB
– 正常冗余:42 PB
– 高冗余:15 PB

Oracle Database 11g 中的ASM 可伸缩性
ASM 强制实施下列限制:
* 存储系统中包含63 个磁盘组
* 存储系统中包含10,000 个ASM 磁盘
* 每个ASM 磁盘的最大存储空间为4 PB
* 每个存储系统的最大存储空间为40 EB
* 每个磁盘组包含1 百万个文件
* 最大文件大小取决于所使用的磁盘组的冗余类型:外部冗余为140 PB(该值当前大
于可能的数据库文件大小),正常冗余为42 PB,高冗余为15 PB。
注:在Oracle Database 10g 中,外部冗余的最大ASM 文件大小为35 TB。

SYSASM 角色
* 使用SYSASM 角色管理ASM 实例可以避免DBA 与存储
管理员之间出现重叠。
SYSDBA 将被废弃:
– Oracle Database 11g 版本1 的行为与Oracle Database
10g 中的相同。
– 在将来的版本中, ASM 实例中的SYSDBA 权限将受到限制。

使用Oracle Database 11g 版本1 时,SYSASM 和SYSDBA 的OS 组是相同的,SYSASM 的默
认安装组是dba。在将来的版本中,必须创建单独的组,并且在ASM 实例中SYSDBA 用
户将受到限制。
dba 组的成员当前可使用幻灯片中的第一个语句连接到ASM 实例。
您也可以在ASM 实例中使用CREATE USER 和GRANT SYSASM SQL 语句组合来创建新的
SYSASM 用户。这对远程ASM 管理很有用。这些命令可以更新每个ASM 实例的口令文
件,不需要启动和运行实例。同样,可以使用REVOKE 命令撤消用户的SYSASM 角色,并
可使用DROP USER 命令从口令文件中删除用户。
V$PWFILE_USERS 视图集成了一个新列SYSASM,用于指明用户是否(TRUE 或FALSE)
可与SYSASM 权限关联。
注:使用Oracle Database 11g 版本1 时,如果以SYSDBA 身份登录ASM 实例,则将在相
应的alert.log 文件中写入警告。

ASM 磁盘组兼容性
* 可以单独控制每个磁盘组的兼容性:
– ASM 兼容性可以控制磁盘上ASM 元数据结构。
– RDBMS 兼容性可以控制最低使用者客户机级别。
– 这对于异构环境很有用。
* 对磁盘组兼容性的设置是不可逆的。

DB实例        asm磁盘组      asm实例
COMPATIBLE>=COMPATIBLE.RDBMS<=COMPATIBLE.ASM<= COMPATIBLE

强制删除磁盘组
* 允许用户删除无法装载的磁盘组
* 如果在任何位置装载了磁盘组,则操作会失败
DROP DISKGROUP data FORCE INCLUDING CONTENTS;
注:执行带FORCE 选项的DROP DISKGROUP 命令时,必须同时指定INCLUDING
CONTENTS 子句。

ASMCMD> md_backup –b jfv_backup_file -g data
Disk group to be backed up: DATA#
Current alias directory path: jfv
ASMCMD>
ASMCMD> md_restore -b jfv_backup_file -t full -g data
Disk group to be restored: DATA#
ASMCMDAMBR-09358, Option -t newdg specified without any override
options.
Current Diskgroup being restored: DATA
Diskgroup DATA created!
User Alias directory +DATA/jfv
created!
ASMCMD>
ASMCMD 扩展:示例
此示例说明了如何使用md_backup 命令备份ASM 元数据,以及如何使用md_restore
命令还原数据。
第一个语句指定了命令的–b 选项和–g 选项。这定义生成的包含备份信息的文件的名
称,以及需要备份的磁盘组(在幻灯片中分别是jfv_backup_file 和data)。
在第2 步中,假定DATA 磁盘组中存在问题。因此,该磁盘组被删除了。在还原该磁盘组
包含的数据库文件之前,必须先还原该磁盘组本身。
在第3 步中,使用md_restore 命令启动磁盘组重新创建操作及其元数据的还原操作。
在这一步中,需要指定第1 步中生成的备份文件的名称以及要还原的磁盘组的名称,还要
指定所需的还原类型。在此示例中,因为磁盘组已不再存在,所以进行了完全还原。
重新创建了磁盘组之后,可以使用RMAN 之类的功能还原其数据库文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值