使用支持工作台分析数据字典损坏
使用支持工作台分析数据字典损坏
本教程描述如何使用支持工作台分析数据字典损坏。
大约 30 分钟
本教程介绍了以下主题:
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
企业管理器支持工作台(支持工作台)是一个实用工具,它通过一个易于使用的图形化界面使您能够调查、报告以及在某些情况下修复问题(关键错误)。支持工作台为您提供一个自助方法,可以在非常短的时间内以最少的工作量收集第一个故障诊断数据、获取支持请求号,并将诊断数据上载到 Oracle Support,从而缩短问题的解决时间。支持工作台还推荐并提供了对 Oracle 顾问的轻松访问,以帮助您修复 SQL 相关问题、数据损坏问题等。
返回主题列表
开始学习本教程之前,您应该先完成以下步骤:
| 1. |
安装 Oracle 数据库 11g。
|
| 2. |
将 swkbnch.zip 文件下载并解压缩到您的工作目录中。
|
返回主题列表
在本教程中,您分析一个数据字典损坏,使用支持工作台分析此问题,然后将该问题打包以发送到 Oracle Support。在本部分中,设置此问题。执行以下步骤:
| 1. |
打开一个终端窗口。从文件的解压缩目录执行以下命令以创建数据字典损坏
./corr_setup.sh

|
返回主题列表
要开始分析此问题,可通过创建字典完整性检查在数据字典上触发一个健康状况检查。执行以下步骤:
| 1. |
打开一个浏览器,输入以下 URL:
http://<hostname>:1158/em
输入 sys 作为用户名,指定 oracle 作为口令,为 Connect As 选择 SYSDBA,然后单击 Login。

|
| 2. |
在主页上,向下滚动,在 Related Links 下选择 Advisor Central。

|
| 3. |
选择 Checkers 选项卡。

|
| 4. |
单击 Dictionary Integrity Check。

|
| 5. |
输入 DicoCheck1 作为 Run Name 参数的值,然后单击 OK。

|
| 6. |
该检查成功运行。要查看详细信息,从列表中选择 DicoCheck1 Run 并单击 Details。

|
| 7. |
您可以查看一些数据损坏。尤其是,您将看到以下内容:“SQL dictionary health check:invalid column number 9 on object TAB$ failed”。这对应于引用 HR.OBETABLE 的 TAB$ 中的一行。单击 Database 路径式导航栏。

|
返回主题列表
在本部分中,您将进一步调查此问题。执行以下步骤:
| 1. |
在主页面上查看 Alerts 部分。您会看到对于前面检测到的损坏有一个新的关键警报 (Data Failure)。

|
| 2. |
切换到终端窗口,执行以下命令:
sqlplus / as sysdba
alter system flush shared_pool;
alter system flush buffer_cache;
select * from hr.obetable;

注意,您会收到一条 end-of-file on communication channel 错误。这意味着肯定有地方出错了。您现在将调查此问题。
|
| 3. |
切换回企业管理器,您会注意到在主页的 Diagnostic Summary 部分有一个活动事件。选择编号链接。

|
| 4. |
在 Support Workbench Problems 页面上,您应该看到一个新的活动事件,它的 Description 类似于 ORA 7445 [qcstda()+515]。选择 + 展开该问题的详细信息。

|
| 5. |
单击事件编号。

|
| 6. |
Incident Details 页面出现。记下活动编号。在 Application Information 部分中,您看到 SQL Text“select * from hr.obetable”语句是导致此事件的原因。您还会看到生成了两个转储文件。

|
返回主题列表
如果无法修复问题,则需要将向 Oracle Support 通知该问题。Oracle Support 希望收集尽可能多的详细信息,以查明问题所在,从而将其有效地报告给开发。为此,可将问题打包以以便发送给 Oracle Support。执行以下步骤:
| 1. |
在 Problem Details 页面的 Investigate and Resolve 部分中,选择 Quick Package。

|
| 2. |
在 Create New Package 窗口中,对于 Send to Oracle Support 选择 No。

|
| 3. |
刷新该页面后,单击 Next。

|
| 4. |
列出要打包的事件,单击 Next。

|
| 5. |
显示清单详细信息。单击 Next。

|
| 6. |
确保选中了 Immediately,然后单击 Submit。

|
| 7. |
正在生成程序包。

|
| 8. |
程序包文件已成功生成。单击 OK。

|
| 9. |
要查看程序包,单击 Summary 部分中 Packaged 下的 Yes。

|
| 10. |
选择生成的文件并单击 View。

|
| 11. |
在 Packaging Details 页面上,选择 Files 选项卡。

|
| 12. |
显示包含在该程序包中的文件列表。现在可将该程序包发送到 Oracle Support 进行进一步分析。

|
返回主题列表
分析此问题之后,您认识到 OBETABLE 的列数在 TAB$ 中是错误的。要修复此问题,需要更新 TAB$ 并关闭您的问题。执行以下步骤:
| 1. |
切换回终端窗口,执行以下脚本:
./corr_fix.sh

|
| 2. |
切换到企业管理器,选择 Problems in Package 旁边的链接。

|
| 3. |
选择此问题前面的复选框,然后单击 Close。

|
| 4. |
要进行确认,单击 Yes。

|
| 5. |
这些事件已经关闭。

|
返回主题列表
在本教程中,您学习了如何:
 |
创建字典完整性检查 |
 |
查看和调查活动事件 |
 |
创建问题程序包 |
返回主题列表
将鼠标移到该图标上可以隐藏所有屏幕截图
|