在本章中,您将学习如何在磁盘组中添加或删除磁盘卷后利用自动存储管理 (ASM) 重新平衡磁盘。
本教程包括以下主题:
![]() |
概述 | |
![]() |
情景 | |
![]() |
查看磁盘组 | |
![]() |
||
![]() |
添加磁盘 | |
![]() |
总结 |
将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下面的步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
数据库性能平衡的一个主要部分就是磁盘条带化。这通常需要使用许多磁盘,并且 DBA 或系统管理员需要承担许多管理工作。使磁盘可用然后再不可用,这是常见的管理活动,因此,让 Oracle 实例良好应对这些更改是理想目标。在这个案例中,我们将删除一个磁盘,稍后再将其投入使用,从而说明 ASM 的响应过程,它将通过重新分配数据来利用该磁盘或适应没有该磁盘的情形。这一切都是在 Oracle 数据库(包括重新分配的数据)联机并且像往常一样可用时进行的。
要查看 ASM 实例中现有的磁盘组,请执行以下步骤:
1. |
启动 Oracle Enterprise Manager Database Control 实用程序(桌面图标)。输入 sys 作为用户名,输入 oracle 作为口令。从 Connect As 下拉列表中选择 SYSDBA,然后单击 Login。 |
2. |
单击 crs Cluster 链接。
|
3. |
单击 Targets。 |
4. |
单击以 +ASM1 开头的实例名称。 |
5. |
单击 Administration 选项卡。 |
6. |
单击 MY_DG2 磁盘组的链接。 |
7. |
查看磁盘组中的磁盘。请注意,数据在四个可用的磁盘间均匀分布。 |
要从 ASM 实例的磁盘组中删除一个磁盘,请执行以下步骤:
1. |
在前一主题的最后一步中使用的 Disk Group 页面上的 Member Disks 区域中,选择磁盘 MY_DG2_0000,然后单击 Remove。 |
2. |
单击 Yes 确认。 |
3. |
返回 Disk Group 页面后,单击 Performance 选项卡。 |
4. |
将 Refresh 率(参见页面右上端)设为 15 秒,并观察在刷新后图表如何变化。 |
5. | 在 Disk Group I/O Response Time 图恢复到 0 ms 之后(这可能要花几分钟时间),单击页面左上角的 General 选项卡返回 Disk Group 主页。 |
6. |
注意 MY_DG2_0000 磁盘不再出现在列表中。此外注意,数据已经在剩余的磁盘之间重新分配。 如果 MY_DG2_0000 磁盘仍被列出,那么它的状态将为 DROPPING。刷新页面,直到列表中只显示三个磁盘。 |
要向 ASM 磁盘组中添加一个磁盘,请执行以下步骤:
1. |
实际将该磁盘添加回磁盘组之前,先生成一些测试数据以备后用。打开一个终端窗口。更改到 wkdir 目录并启动 SQL*Plus。以 SYSDBA 用户身份进行连接。在 SQL 提示符下运行 pop_t1.sql 脚本。
$ sqlplus "/ as sysdba" SQL> @pop_t1.sql |
2. |
注意代码结尾处查询的“Elapsed”计时值。您将把它与稍后查询的计时进行比较。 不要关闭该窗口。 |
3. |
返回 Enterprise Manager Console,在 Disk Group 页面的 Member Disks 区域中单击 Add。 |
4. |
在 Add Disks 页面中,选择之前被删除的磁盘,其路径为 /dev/raw/raw15。(注意它是唯一一个 Header Status 为 FORMER 的磁盘。)在 ASM Disk Name 列中输入 MY_DG2_0004。其他列保留默认值。 请勿 单击 OK 按钮。 |
5. |
返回终端窗口。启动 SQL*Plus。以 SYSDBA 用户身份进行连接。在 SQL 提示符下运行 poll_timing.sql 脚本。
@poll_timing.sql 在您按下 [Enter] 键开始执行脚本之后,立即返回 Enterprise Manager 页面并单击 OK 按钮。 |
6. |
在 Enterprise Manager 窗口中,单击浏览器的 Reload 按钮。观察条形图中的每个磁盘的 Used 列的变化。特别是注意刚刚添加的磁盘的值的增加。 再次单击 Reload。(重复此操作,直至图表不再变化为止。) |
7. |
返回终端窗口。滚动浏览脚本输出,它将显示当数据被重新分配到 ASM 中的磁盘之间时被重复运行的查询的计时统计。注意每次运行所花费的不同时间。将最终的查询花费时间与第 2 步中获得计时值进行比较。您将看到磁盘上的负载进行了平均分配,同时查询时间减少并变得稳定。 |
在本教程中,您学习了如何:
![]() |
查看磁盘组 | |
![]() |
删除和添加磁盘 |