本教程旨在向您介绍如何使用 Oracle 数据库 10g 真正应用集群创建和管理服务。
大约 1 个小时
本教程包括下列主题:
| 概述 | ||
| 情景 | ||
| 前提条件 | ||
| 使用 DBCA 创建服务 | ||
| 使用 Swingbench 在 RAC 数据库上生成负载 | ||
| Viewing Top Sessions to Evaluate Services | ||
| 模拟数据库实例崩溃 | ||
| 总结 | ||
| 相关信息 | ||
将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以根据 Internet 连接的不同,响应时间可能会比较慢。)
注意:此外,还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
高可用性是 RAC 的一个重要特性。它防止了实例故障造成的应用程序崩溃。Oracle Net Services 为集群数据库提供了负载均衡功能。均衡应用程序负载可以提供更高的性能,并可以通过将更多节点添加到集群中来轻松支持更多用户。通过服务,用户可以在集群中增加新实例时自动路由到这些新实例上。
Oracle 数据库 10g 自动负载管理使 DBA 能够灵活地为每种服务定义故障切换和负载均衡策略。在本教程中定义了两个服务 SERV1 和 SERV2。这两个服务都被定义为具有 1 个首选节点和 1 个可用节点。在本教程中,您将关闭一个数据库实例并看到服务从一个实例切换到另一个实例。
开始学习本教程之前,您应已经:
| 1. |
完成了教程:使用真正应用集群 (RAC) 和自动存储管理 (ASM) 在 Windows 上安装 Oracle 数据库 10g。 或者 |
服务是用来将数据库要执行的工作划分为逻辑负载的组或类别,例如应付账款 (AP)、客户关系管理 (CRM) 等。RAC 中的服务实现了连续、不中断的数据库操作,以支持在单个数据库中的多个服务。
服务使 RAC 能够将集群数据库资源集成到单个系统镜像中以优化集群可管理性。这就简化了系统部署、测试、灾难恢复和管理开销。通过服务,用户可以不用考虑哪个实例执行 SQL 应用程序服务即可连接到数据库。
您可以指派服务在一个或多个实例上运行,替代实例可以用作主实例出现故障时的备用实例。如果主实例出现故障,那么 Oracle 将把服务从故障实例转移到幸存的替代实例上。
执行以下步骤来创建服务:
| 1. |
打开一个终端窗口,并执行命令 dbca。 |
|
| 2. |
在 Welcome 页面上,确保选中“Oracle Real Application Clusters database”,然后单击 Next。 |
|
| 3. |
选中 Services Management,然后单击 Next。 |
|
| 4. |
确保选中您的集群数据库,然后单击 Next。 |
|
| 5. |
要添加服务,单击 Add。 |
|
| 6. |
输入服务名 SERV1,然后单击 OK。 |
|
| 7. |
确保选中 SERV1,然后选择 O10G1 作为首选实例、O10G2 作为可用实例。确保将 TAF Policy 设为 None。然后在 Database Services 面板中,单击 Add。 |
|
| 8. |
输入服务名 SERV2,然后单击 OK。 |
|
| 9. |
确保选中了 SERV2,然后选择 O10G1 作为可用实例、O10G2 作为首选实例。确保将 TAF Policy 设为 None。然后单击 Finish |
|
| 10. |
在确认对话框中,单击 OK。 |
|
| 11. |
您将看到进度窗口。 |
|
| 12. |
在配置服务之后,在消息对话框中单击 No。 |
|
在创建服务之后,您可以在 Database Control 中查看它们。执行以下步骤:
| 1. |
打开一个浏览器窗口,并输入以下 URL: http:// 输入 sys/ |
|
| 2. |
选择 Administration 选项卡。 |
|
| 3. |
在 High Availability 下,选择 Cluster Managed Database Services。 |
|
| 4. |
输入 oracle 作为主机用户名和口令,并单击 Login。 |
|
| 5. |
正在检索您的服务信息。 |
|
| 6. |
显示您先前创建的 SERV1 和 SERV2 服务。选择 SERV1 选项按钮,然后单击 Manage Service。 |
|
| 7. |
请注意,SERV1 服务已被配置为在 O10G1 和 O10G2 实例上运行。 |
|
为了模拟 RAC 环境如何分配负载,您需要生成一些活动。Oracle 构建了一个实用工具来以图形形式显示系统上的活动。执行以下步骤:
| 1. |
双击桌面上面板中的 Swingbench 图标。选择 Configuration 选项卡。 |
|
| 2. |
将 Connect 字符串更改为 SERV1 服务,然后单击 > 按钮。 |
|
| 3. |
在大约 5 分钟之后,您将看到加载了用户并创建了活动。 |
|
这时,您可以查看哪一个会话在哪一个服务上运行。执行以下步骤:
| 1. |
转回 Database Control。选择 Cluster Database:O10G 定位链接。 |
|
| 2. |
选择 Performance 选项卡。 |
|
| 3. |
等待大约 1 分钟,您将看到数据显示在图表中。向下滚动至页面底部。 |
|
| 4. |
在 Additional Monitoring Links 下,选择 Top Sessions。 |
|
| 5. |
您将看到使用率最高的会话列表。查看 Instance Name 列。向下滚动一页。 |
|
| 6. |
请注意,一些会话在使用 O10G1,而另一些会话则在使用 O10G2。 |
|
要查看 RAC 的能力,您可以终止其中的一个数据库实例上的一个 pmon 进程,看看会话将受到怎样的影响。执行以下步骤:
| 1. |
打开终端窗口,执行以下命令: ps -ef | grep pmon kill -9 |
|
| 2. |
转回 Enterprise Manager Database Control。单击 Refresh。请注意,先前使用 O10G1 实例的所有会话现在都使用 O10G2 了。单击 O10G Cluster Database 定位链接。 |
|
| 3. |
单击 Administration 选项卡。然后在 High Availability 下,选择 Cluster Managed Database Services。 |
|
| 4. |
输入用户名和口令 (oracle/ |
|
| 5. |
出现“Retrieve Status”窗口。 |
|
| 6. |
两种服务都停止了。数据库实例的情况如何?选择 SERV1,然后单击 Manage Service。 |
|
| 7. |
出现“Retrieve Status”窗口。 |
|
| 8. |
O10G1 实例停止,而 O10G2 实例在运行。如果情况不是这样,请单击 Refresh。 |
|
| 9. |
等待大约 2 分钟,再次单击 Refresh。请注意,数据库实例和服务现在已恢复。Oracle 集群件的好处之一就是它提供一个监视 Oracle 进程的高可用性框架。它自动注意到 O10G1 已停止并将其重新启动。通过 Oracle 数据库 10g 服务,用户将被自动转到一个活动实例上,该实例可以提供用户所需的资源,并无需对应用程序进行任何更改。 |
|
在本教程中,您学习了如何执行下列任务:
| 使用 DBCA 创建服务 | ||
| 查看您启用的服务 | ||
| 在 RAC 数据库上生成负载 | ||
| 查看使用率最高的会话以评估服务 | ||
| 模拟数据库实例崩溃 | ||
| 要了解关于 Oracle 数据库 10g 的更多信息,请参考 OTN 网站上的其他 OBE。 | ||
| 有关本 OBE 教程的问题,请在 OBE 论坛上提问。 | ||