第 10 章:监控和调整数据库


 

10 章:控和整数据

返回程列表

目的

本章向管理器行的一些控和整操作。

本章讨论了以下内容:

控数据 断和解决性能 使用 SQL Tuning Advisor 使用 SQL Access Advisor 使用 Memory Advisor

看屏幕截

将鼠移到图标上,示所有的屏幕截可以将鼠移到各个图标上,以只看与该图标的屏幕截

控数据

返回主列表

帮助控数据。大多数警是在超特定的量度出的通告。可以每一个警界和警告,如果超指示系统处于非期的状

一部分中,行以下任

建具有指定的表空 表空的空使用率警 置量度 置通 建具有指定的表空和表

返回主列表

首先建包含有一个 20 MB 的数据文件的一个新的表空。将本地管理个表空,并使用自段空管理 (ASSM)。然后个新的表空建一个新的表。个表将把 Enable Row Movement 选项 yes,以允表中的空回收。行以下操作:

Off 1. 单击数据上的Administration 接。

  1. Off 2. 单击Tablespaces 接。
  2. Off 3. 单击Create
  3. Off 4. TBSALERT 表空名称,然后单击Add表空一个数据文件。
  4. Off 5. tbsalert.dbf 数据文件名,并20 MB 文件大小。单击Continue
  5. Off 6. 单击Thresholds,指定空使用率警告和水平。

单击Specify Thresholds, by percent used置数据的默使用率 Warning% 60

  1. Off 7. Critical% 68单击OK
  2. Off 8. 单击Database 导览栏,返回Administration 属性面。
  3. Off 9. 单击Tables 接。
  4. Off 10. 单击Create
  5. Off 11. 单击Continue
  6. 12. Name 域中employees1。指定SYSTEM 模式,TBSALERT 表空单击 Define Using 下拉列表,选择SQL。在 Create Table As 域中select * from hr.employees,然后单击OptionsOff
  7. Off 13. Enable Row Movement 选择Yes,然后单击OK,完成表的建。
  8. Off 14. 表已建完成。单击Database 导览栏

表空使用率警

返回主列表 在将更新表,触利用率警行以下操作:

Off 1. SQL*Plus ,然后行以下命令:

sqlplus system/oracle

Off 2. 将以下 SQL 命令拷并粘 SQL*Plus 中,以模EMPLOYEES1 表上的用

begin

for i in 1..1000 loop
insert into employees1
select * from hr.employees;

commit;
end loop;
end;
/

3. Enterprise Manager 窗口。单击Database 导览栏,返回到Administration 面,然后单击Tablespaces 接。Off

Off 4. 注意,TBSALERT 表空使用百分率增加了。

5. 回切到SQL*Plus 窗口,并将以下命令拷并粘 SQL*Plus 中,,以模EMPLOYEES1 表上的更多用Off

delete employees1 where department_id = 50;

begin

for i in 1..500 loop
insert into employees1
select * from hr.employees;

commit;
end loop;
end;
/

Enterprise Manager 窗口。刷新浏览器( Linux Mozilla,从菜单栏选择View,然后选择

  1. Off 6. Reload)。注意,TBSALERT 表空的空使用百分率增加了。
  2. 7. 回切到SQL*Plus 窗口,并将以下命令拷并粘 SQL*Plus 中,,以模EMPLOYEES1 表上的更多用Off

begin

for i in 1..500 loop
insert into employees1
select * from hr.employees;

commit;
end loop;
end;
/

Off 8. 将以下 SQL 命令拷并粘 SQL*Plus 中,以模EMPLOYEES1 表上的用

delete employees1 where department_id = 30;
commit;

delete employees1 where department_id = 100;
commit;

delete employees1 where department_id = 50;
commit;

delete employees1 where department_id = 80;
commit;

exit

Enterprise Manager 窗口。刷新浏览器( Linux Mozilla,从菜单栏选择View,然后选择

Off 9. Reload)。注意,TBSALERT 表空的空使用率在已水平 (68%)

等待空使用率警报显示在 Enterprise Manager 看表段数据。单击Database 导览

  1. Off 10. ,然后单击Tables 接。
  2. Off 11. Go SYSTEM.EMPLOYEES1 表,Schema 域中system,在Object Name 域中emp单击
  3. Off 12. 单击EMPLOYEES1 接。
  4. Off 13. 单击Segments
  5. 14. 注意EMPLOYEES1 表中浪的百分率。可能能回收表中未使用的空来解决表空使用率警Off

在同一面上,可以Space Usage Trend 指定一个日期范,然后单击Refresh ,以EMPLOYEES1 表未来的空使用率。因EMPLOYEES1 表上没有足的活纪录,所以在空使用率分析中将看不到非常有意的数据。单击Database 导览栏,然后单击Home 标签

单击Refresh 几次,直到看到一个色的x 和数字1 Problem Tablespaces 。向下滚动

  1. Off 15. Alerts 表。
  2. Off 16. 将看到一个Tablespaces Full 单击Tablespace [TBSALERT] is [70 percent] full 接。

置量度

返回主列表 Oracle 提供了一组预先定的量度,其中一些量度一始就TBSALERT 表空的表空使用率定一个量度。要看所有的量度,请执行以下操作:

  1. Off 1. 单击Related Links 区域中的Manage Metrics
  2. Off 2. 单击Edit Thresholds
  3. Off 3. 向下滚动Tablespace Space Used (%),然后选择这个量度。向上回到窗口部。
  4. Off 4. 单击Specify Multiple Thresholds
  5. Off 5. TBSALERT 表空,将警告修改70,将修改80。然后单击OK
  6. Off 6. 修改完成。单击OK,将数据保存到数据中。
  7. Off 7. 更新成功。单击路径式中的Database

置通告

返回主列表 当出需要的事件可以选择性地提供通告。默地,界状的警(如 Database DownGeneric Alert Log Error Stats Tablespace Used)都提供通告。行以下操作:

  1. Off 1. 单击 Database 部的Setup
  2. Off 2. 单击Notification Methods

Outgoing Mailserver 域中<件服>,在 Identify Sender As 域中dbaalert,在 Sender's

  1. Off 3. Email 域中notify01@oracle.com,然后单击Apply
  2. Off 4. 更新成功。单击部的Preferences
  3. Off 5. 单击 General 选项 E-mail Addresses Add Another Row
  4. Off 6. notify01@oracle.com 件地址,单击Apply。然后单击Database

断和解决性能问题

返回主列表

在出数据性能问题时,需要断和正。有抱怨性能慢会使注意到问题。其余的候,可能注意到主上的 Host CPU 中的性能尖峰。在所有情况下,自数据库诊控器 (ADDM) 都将标记这问题,它默 60 行一次自上而下的系分析,并在

Oracle Enterprise Manager 告它问题 ADDM 60 动运行一次,和自工作负载信息 (AWR) 采集的快照同步生。它的出包含了它的每个问题明和建操作。

生成性能问题

利用 ADDM 解决的性能问题 生成性能问题

返回主列表 了演示 ADDM 如何工作,要生成一个性能问题果。在本文中,建一个等待行的会。要行某些如更新和除的操作,会须锁行。行以下步,生成性能问题果:Off 1. 开终端窗口,行以下命令:

sqlplus hr/hr
create table emp as select * from employees;
delete emp;

Off 2. 再打一个端窗口,并行以下命令,建一个行冲突:

sqlplus hr/hr
delete emp;

  1. Off 3. 单击 Enterprise Manager 窗口中的Performance
  2. Off 4. 将看到会等待非常高。等待大 10 ,然后向下滚动至窗口底部。
  3. Off 5. 在将建快照来捕性能问题单击Snapshots
  4. Off 6. 单击Create建快照。
  5. Off 7. 单击Yes建人工快照。
  6. Off 8. 正在建快照。
  7. Off 9. 一旦快照建完成,请单击路径式中的database ,然后单击home
  8. Off 10. 在通 Alert 部分的一个警检测到了一个性能问题

利用 ADDM 解决的性能问题

返回主列表 当遇到性能问题时可以使用 ADDM 来解决它。行以下操作:

  1. Off 1. 单击Database Time Spent Waiting
  2. Off 2. 注意建的操作是 ADDM 取更多的于系的性能分析。单击Additional Advice

保从列表中选择建的快照。注意SQL statements were found waiting for row lock waits 将影响系

  1. Off 3. 86% 的数据库时单击列表中的个性能问题果。
  2. Off 4. 看到了解决性能问题需要采取的操作。单击View Rationale
  3. Off 5. 将看到引起问题的特定 SQL ID单击Close
  4. Off 6. 要解决性能问题请单击路径式中的Database
  5. Off 7. 单击Performance
  6. Off 8. 向下滚动,然后选择 Additional Monitoring Links 下的Blocking Sessions
  7. Off 9. 选择了最高级别 HR,然后单击Kill Session
  8. Off 10. 单击Yes止会
  9. Off 11. 话终止。单击路径式中的Database ,然后单击Home
  10. Off 12. 注意警已消失。

使用 SQL Tuning Advisor

返回主列表 数据管理或操作员执行以下任来响性地控并断数据性能问题 看数据等待 Database Wait 类的 TOP SQL 利用 SQL 顾问工具 SQL SQL 句的 SQL 细节 看数据等待 返回列表 将首先启动几个工作负载。然后看数据工作负载建一个名称$HOME/wkdir 的目。下 perflab. tar 文件,并将文件解压缩$HOME/wkdir 中。行以下步

Off 1. 一个命令行窗口,然后行以下 OS 脚本:

./setup_perflab.sh

注意:个脚本行将花 4

Off 2. 回切到 Enterprise Manager 窗口。选择Administration 接。

Off 3. 标题为Workload 的部分中,单击Automatic Workload Repository 接。

定已为该数据采集了多少快照。Snapshots 下的数量和最后一次 ADDM 快照采集的应该有至

  1. Off 4. 少三个快照。单击路径式中的Database
  2. Off 5. 单击Performance 接。

Performance 窗口中Sessions: Waiting and Working 示一个表示数据当前工作负载表。

  1. Off 6. (向表填充数据可能要花一分)用 ADDM 快照采集的数据来填充表。表的上是例。每一个目具有不同的色。可以从中快速定占用最多目是黄色的,即用 I/O单击User I/O 接。
  2. 7. Active Sessions Waiting: User I/O 表下有饼图看左饼图Top Waiting SQL这显示占大多数的等待 (53%) 是由一条 SQL 句造成的。看右饼图Top Waiting Sessions饼图显示当前最活的几个会等待的几乎占相同的百分比。Off

Database Wait 类的 TOP SQL

返回列表 如之前的任所示,有一条 SQL 致了大部分的数据等待。在个任中,将深入了解根本原因。行以下操作:

Off 1. Active Sessions Waiting: User I/O 面中,单击面中部的Top SQL

在出详细面上,Wait Events for Top SQL 表,表按活%排序。可以看到 Top SQL

  1. Off 2. 将其大部分在了 'db file scattered read' 上。单击具有最高活百分比的 SQL 句的 SQL ID
  2. Off 3. SQL 句的单击Current Statistics 标签
  3. Off 4. SQL 句的数据。单击Execution History 标签

SQL 句的分析表。 CPU Elapsed Time 示在一段 SQL 句的 CPU

Off 5. 使用率。选择Seconds Per Execution单击Go SQL 句的每次行使用的源。

示的表中,可以 CPU 源使用率在增加, SQL 句花也在增加。单击 Tuning

Off 6. History 标签

示之前为这 SQL 句提供的整建。当前没有建在准好了使用 SQL Tuning Advisor

Off 7. SQL 句。

利用 SQL 顾问工具 SQL

返回列表 正如在上一个于响整的部分中定的那,目 SQL 句需要整。 SQL 顾问工具将行以下操作:

  1. Off 1. 单击Run SQL Tuning Advisor
  2. Off 2. Schedule Advisor 窗口中,选择 Scope 下的Comprehensive,作将立即安排。单击OK
  3. Off 3. SQL Tuning Advisor 建一个任,以分析 SQL 句,任一旦完成,将示一组调整建
  4. Off 4. 单击View Recommendations
  5. Off 5. 单击New Explain Plan 看建的修改。
  6. Off 6. 正如所看到的,新的解释计划删除了全部的表描。单击浏览器后退按,返回上一
  7. Off 7. 单击Implement 整建
  8. Off 8. 一条面,指示 SQL Profile 成功建。单击路径式中的Database

SQL 句的 SQL 细节

返回列表 行了整建 SQL 句和其细节行以下步

  1. Off 1. Performance
  2. Off 2. 向下滚动Sessions: Waiting and Working 表。等待一分察用 I/O 如何少。

使用 SQL Access Advisor

返回主列表

SQL Access Advisor 提供了程,可以程来帮助建和体化化和索引。它利用基于的模式的,假定的工作负载,或从实际的工作负载(可能由用提供、来自 Oracle Trace 或来自 SQL 高速存的内容)中作出决策。

可以根据不同的工作负载进过滤,如只使用包含些表的查询,或在个范中有先权的查询

利用 SQL 高速取建 看和行建

返回列表

行以下步使用 SQL Access Advisor 境。当 Advisor 体化和索引可能存在,但例的目的,把它除了,以便可以看到 Advisor 的建需要置高速存,以便 SQL Access Advisor 生成建行以下操作:

Off 1. 一个端窗口,然后行以下命令,清理境:

sqlplus system/
DROP MATERIALIZED VIEW all_cust_sales_mv;
DROP MATERIALIZED VIEW costs_mv;
DROP MATERIALIZED VIEW costs_pm_mv;
DROP MATERIALIZED VIEW cust_sales_mv;
DROP MATERIALIZED VIEW some_cust_sales_mv;
DROP MATERIALIZED VIEW cust_id_sales_aggr;
DROP MATERIALIZED VIEW sales_cube_mv;
DROP MATERIALIZED VIEW sales_gby_mv;
DROP MATERIALIZED VIEW CUST_TOTAL_SALES_MV;
DROP MATERIALIZED VIEW CUST_SALES_TIME_MV;

Off 2. 需要建高速存。行下列命令:

alter system flush shared_pool;

grant advisor to sh;

connect sh/sh;

SELECT c.cust_last_name, sum(s.amount_sold) AS dollars,

sum(s.quantity_sold) as quantity

FROM sales s , customers c, products p

WHERE c.cust_id = s.cust_id

AND s.prod_id = p.prod_id

AND c.cust_state_province IN ('Dublin','Galway')

GROUP BY c.cust_last_name;

SELECT c.cust_id, SUM(amount_sold) AS dollar_sales

FROM sales s, customers c WHERE s.cust_id= c.cust_id GROUP BY c.cust_id;

select sum(unit_cost) from costs group by prod_id;

利用 SQL 高速取建

返回列表

将使用刚刚置的 SQL 高速存来取来自 SQL Access Advisor 的建行以下操作:

Off 1. 开浏览器,入以下 URL

http://:5500/em

sys/ SYSDBA单击Login

  1. Off 2. 向下滚动至主底部,然后单击 Related Links 下的Advisor Central
  2. Off 3. 单击SQL Access Advisor 接。
  3. Off 4. 中了Current and Recent SQL Activity,然后单击Show Advanced Options
  4. Off 5. 向下滚动。在 Filter Options 下,选择Filter workload based on these options选择Only the top resource consuming SQL statements Only SQL statements executed by the following users。然后在 Users 域中SH,然后单击Next
  5. Off 6. 选择Both Indexes and Materialized Views,然后单击Next
  6. Off 7. 入任OBE Schedule Type 选择Standard,然后单击Next
  7. Off 8. 在概要窗口中,单击Submit

看和行建

返回列表 可以果,如果希望,可以行它行以下操作:

  1. Off 1. 选择的作,然后单击 View Result
  2. Off 2. 单击 Recommendation ID 1看建细节

可以自定象名称、模式和表空,以行建。向下滚动,并将 Create Materialized View

  1. Off 3. Schema Name 修改SH,然后单击OK
  2. Off 4. 安排,如果要看将行的 SQL 脚本,可以单击Show SQL
  3. Off 5. 向下滚动至底部,将看到体化句和作的修改。单击OK
  4. Off 6. 单击Schedule Implementation行建
  5. Off 7. Job Name OBEIMPL,然后单击Submit
  6. Off 8. 行作建完成并且在正在行。单击Run History 标签
  7. Off 9. 选择的作,然后单击 View
  8. Off 10. 看概要,然后单击路径式中的 database
  9. Off 11. 单击Materialized View
  10. Off 12. Schema 域中SH,然后单击Go
  11. Off 13. 注意新建的体化在列表中。单击路径式中的Database ,然后单击Tables 接。

使用 Memory Advisor

返回主列表

一部分中,将主管理并将一些与 Oracle 例程内存配置相的任化。通将内存配置自化,有了更多的理影响的企用或商务实际问题Memory Advisor Oracle 数据内部的一个智能家系,它 SGA PGA 件主动确定最优设置。当

Oracle 将根据工作负载的需求自整各池和高速存的置。 用自共享内容管理 修改 SGA 大小 使用 PGA Advisor 用自共享内存管理 返回列表 行以下操作, SGA 的自共享内存管理:

Off 2. 向下滚动至主底部,然后单击 Related Links 下的Advisor Central

  1. Off 3. 选择Memory Advisor
  2. Off 4. Automatic Shared Memory Management 单击Enable
  3. Off 5. 单击OK用自共享内存管理。
  4. Off 6. Oracle 在将根据工作负载的需求自整各池和高速存的置。

修改 SGA 大小

返回列表 于自共享内存管理模式下,要修改 SGA 大小,将需要保最大的 SGA 大小足大。行以下操作:

  1. 1. 向下滚动页面。将 Maximum SGA Size 修改261 MB,然后单击Apply。注意:如果接收到一个错误,那么单击 Refresh Off
  2. Off 2. 单击Yes修改。
  3. Off 3. 提供主机证书和数据库证书单击OK
  4. Off 4. 修改 Max SGA Size 参数,例程必重新启动单击Yes数据
  5. Off 5. 数据程将始。单击Refresh
  6. Off 6. sys/ SYSDBA单击Login
  7. Off 7. 向下滚动,然后单击Advisor Central
  8. Off 8. 单击Memory Advisor
  9. Off 9. Total SGA Size 参数修改260 MB单击Apply

注意 Max SGA Size 参数自整与内存粒大小保持一致,虽然原来已把它 261 MB,但 Oracle 器自将其修改 264 MB

Off 10. 一旦接收到了通告指示参数已成功修改,将注意到一些 SGA 件的内存分配已自整。

使用 PGA Advisor

返回列表 行以下操作,分配与 PGA 的内存:

  1. Off 1. 单击PGA
  2. Off 2. 单击Advice……
  3. Off 3. PGA Aggregate Target Advice 图显示在高速存中找到数据(以便不需访问)的率。在本文中,当注意当前的 PGA Aggregate Size 24 MB 左右,所有求的服 88% 以上都从内存中得。这还显示溢出范 12 MB 左右始。在 12 MB PGA 用高速存的概率大约为 90% PGA Aggregate Size 指示(根据当前的工作负载和数据中的会数量),在数据所有 PGA 分配的大小不超 24 MB单击OK
  4. Off 4. 单击PGA Memory Usage Details
  5. Off 5. 图显示内存大小求的使用率情和各 PGA 内存求的行百分率。单击OK

将鼠移到图标上,以藏所有的屏幕截

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值