附录 A:自动存储管理

在本章中,您将学习如何在磁盘组中添加或删除磁盘卷后利用自动存储管理 (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 脚本。


$ cd /home/oracle/wkdir

$ 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 脚本。


sqlplus "/ as sysdba"

@poll_timing.sql

在您按下 [Enter] 键开始执行脚本之后,立即返回 Enterprise Manager 页面并单击 OK 按钮。

将光标置于该图标上可以查看该图像

6.

在 Enterprise Manager 窗口中,单击浏览器的 Reload 按钮。观察条形图中的每个磁盘的 Used 列的变化。特别是注意刚刚添加的磁盘的值的增加。

将光标置于该图标上可以查看该图像

再次单击 Reload。(重复此操作,直至图表不再变化为止。)

将光标置于该图标上可以查看该图像

7.

返回终端窗口。滚动浏览脚本输出,它将显示当数据被重新分配到 ASM 中的磁盘之间时被重复运行的查询的计时统计。注意每次运行所花费的不同时间。将最终的查询花费时间与第 2 步中获得计时值进行比较。您将看到磁盘上的负载进行了平均分配,同时查询时间减少并变得稳定。

将光标置于该图标上可以查看该图像

返回主题列表

在本教程中,您学习了如何:

查看磁盘组
删除和添加磁盘

返回主题列表