附录 A:自动存储管理

在本章中,您将学习如何在磁盘组中添加或删除磁盘卷后利用自动存储管理 (ASM) 重新平衡磁盘。

主题

本教程包括以下主题:

查看磁盘组

删除磁盘

添加磁盘

将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下面的步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

本示例演示自动存储管理如何在磁盘可用时管理磁盘中存储的数据。在分配的磁盘上将执行条带化。删除一个磁盘后,将自动执行重新平衡,并在剩余磁盘间重新平均分配数据。添加一个磁盘后,一定比例的数据将从原有磁盘重新平均分配到新增加的磁盘上。

返回主题列表

数据库性能平衡的一个主要部分就是磁盘条带化。这通常需要使用许多磁盘,并且 DBA 或系统管理员需要承担许多管理工作。使磁盘可用然后再不可用,这是常见的管理活动,因此,让 Oracle 实例良好应对这些更改是理想目标。在这个案例中,我们将删除一个磁盘,稍后再将其投入使用,从而说明 ASM 的响应过程,它将通过重新分配数据来利用该磁盘或适应没有该磁盘的情形。这一切都是在 Oracle 数据库(包括重新分配的数据)联机并且像往常一样可用时进行的。

返回主题列表

查看磁盘组

要查看 ASM 实例中现有的磁盘组,请执行以下步骤:

1.

启动 Oracle Enterprise Manager Database Control 实用程序(桌面图标)。输入 sys 作为用户名,输入 oracle 作为口令。从 Connect As 下拉列表中选择 SYSDBA,然后单击 Login

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

2.

在 Database Home 页面中,单击 General 部分中的 ASM 链接。

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

3.

在 ASM Home 页面中,单击 DATA 磁盘组条形图。

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

4.

在 Disk Group:DATA 页面中,可以查看各种磁盘组信息。

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

5.

如果需要查看 DATA 磁盘组当前的所有 ASM 磁盘,可以向下滚动页面。

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

返回主题列表

删除磁盘

要从 ASM 实例的磁盘组中删除一个磁盘,请执行以下步骤:

1.

在前一主题的最后一步中使用的 Disk Group 页面上的 Member Disks 区域中,选择磁盘 ASMDISK2,然后单击 Remove

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

2.

单击 Yes 确认。

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

3.

返回 Disk Group 页面后,您应看到更新成功的消息。如果滚动到 Member Disks 部分,应能够看到已删除磁盘的状态为 DROPPING。此操作可能需要占用一些时间,因为 ASM 会在剩余磁盘间重新平衡数据。

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

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

4.

返回 Disk Group 页面的 General 部分,单击 Pending Operations 链接。

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

5.

这会将您转到 Pending Operations 页面,在该页面中可以看到正在执行重新平衡操作。从 Refresh 下拉列表中选择 Real Time:30 Second Refresh 选项,等到再也看不到任何执行中的操作为止。随后,单击 Disk Group:DATA 路径式导航栏。

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

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

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

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

6.

返回 Disk Group 页面后,向下滚动到 Member Disks 部分,确保您看不到已删除的磁盘。

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

返回主题列表

添加磁盘

要向 ASM 磁盘组中添加一个磁盘,请执行以下步骤:

1.

实际将该磁盘添加回磁盘组之前,先生成一些测试数据以备后用。打开一个终端窗口。更改到 wkdir 目录并启动 SQL*Plus。以 SYSDBA 用户身份进行连接。在 SQL 提示符下运行 pop_t1.sql 脚本。


$ cd /home/oracle/wkdir

$ sqlplus "/ as sysdba"

SQL> @pop_t1

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

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

2.

注意代码结尾处查询的“Elapsed”计时值。您将把它与稍后查询的计时进行比较。

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

保持此窗口处于打开状态,以 SYS 用户身份重新连接到 SQL*Plus,确保将 echo 和 timing 设置为 on。

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

3.

返回 Enterprise Manager Console,在 Disk Group 页面的 Member Disks 区域中单击 Add

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

4.

在 Add Disks 页面中,选择之前删除的磁盘,其 Header Status 设置为 FORMER完成后单击 OK

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

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

这会在磁盘添加到磁盘组之后立即触发重新平衡操作。

5.

成功将磁盘添加到磁盘组之后,单击 Disk Group 页面中 General 部分的 Pending Operations 链接。

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

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

6.

在 Pending Operations 页面的 Refresh 下拉列表中选择 Real Time:30 Second Refresh 值。

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

7.

返回终端窗口,在您的 SQL*Plus 会话中执行以下查询:


select count(distinct DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID,'SMALLFILE'))
from t1;

在重新平衡操作的执行过程中多次重复此步骤。

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

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

您在执行时不应看到任何显著的区别。

6.

在 Enterprise Manager 窗口中,等待重新平衡操作完成。完成后单击 Disk Group:DATA 路径式导航栏。

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

7.

返回 Disk Group 页面,现在您应看到磁盘已添加,重新平衡操作已经平均分配了数据。

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

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

返回主题列表

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

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

返回主题列表