本文概述了Oracle 11g R1中资源管理器的所有增强内容,包括: (1) I/O校准 (2) 每会话I/O限制 (3) AWR中的资源管理器统计 (4) 内置资源计划
I/O校准 DBMS_RESOURCE_MANAGER包包括一个CALIBRATE_IO存储过程,它通过执行一个I/O密集的只读工作量来评估数据库服务器的存储系统的I/O性能,这个评估操作应该在非业务高峰期间执行,以确保校准不影响生产的工作量,以及生产的工作量对校准结果的影响。 只有开启了异步I/O时才能使用该存储过程,否则会报下面的错误:<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->DECLARE
*
ERROR at line 1:
ORA-56708: Could not find any datafiles with asynchronous i/o capability
ORA-06512: at "SYS.DBMS_RMIN", line 453
ORA-06512: at "SYS.DBMS_RESOURCE_MANAGER", line 1153
ORA-06512: at line 6
SQL> 通过设置参数FILESYSTEMIO_OPTIONS为ASYNC或SETALL来启用异步I/O。<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->SQL>SHOW PARAMETER FILESYSTEMIO_OPTIONS
NAME TYPE VALUE
----------------------------------------------- -----------------------
filesystemio_options string none
SQL>
SQL>ALTER SYSTEM SET FILESYSTEMIO_OPTIONS=SETALL SCOPE=SPFILE;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP; 该CALIBRATE_IO存储过程接受两个参数来指定物理磁盘(默认1)和可承受的最大延迟(默认20ms)的数目,它返回每秒最大数量I/O请求,每秒最大Mb数和真实的延迟。 <!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->SET SERVEROUTPUT ON
DECLARE
l_max_iops PLS_INTEGER;
l_max_mbps PLS_INTEGER;
l_actual_latency PLS_INTEGER;
BEGIN
DBMS_RESOURCE_MANAGER.calibrate_io (
num_physical_disks => 1,
max_latency => 20,
max_iops => l_max_iops,
max_mbps => l_max_mbps,
actual_latency => l_actual_latency);
DBMS_OUTPUT.put_line ("l_max_iops = " || l_max_iops);
DBMS_OUTPUT.put_line ("l_max_mbps = " || l_max_mbps);
DBMS_OUTPUT.put_line ("l_actual_latency = " || l_actual_latency);
END;
/
l_max_iops = 556
l_max_mbps = 48
l_actual_latency = 17
PL/SQL procedure successfully completed.
SQL> 同一时间只能执行一个校准操作,在RAC环境中,工作量发起的所有节点都可以执行。 [G]V$IO_CALIBRATION_STATUS视图显示了当前校准运行的状况。在运行过程中,会显示一个"IN PROGRESS" 的状态"。一旦运行完成状态切换到"READY",并且会显示校准时间。 <!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->SQL> SELECT * FROM v$io_calibration_status;
STATUS CALIBRATION_TIME
------------- -------------------------------
IN PROGRESS
SQL> SELECT * FROM v$io_calibration_status;
STATUS CALIBRATION_TIME
---------------------------------------------------------------------------
READY 28-JUL-2008 14:37:38.410
1 row selected.
SQL> 通过DBA_RSRC_IO_CALIBRATE视图可以显示校准信息。 <!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->SET LINESIZE 150
COLUMN start_time FORMAT A30
COLUMN end_time FORMAT A30
SELECT * FROM dba_rsrc_io_calibrate;
START_TIME END_TIME MAX_IOPS MAX_MBPS MAX_PMBPS LATENCY NUM_PHYSICAL_DISKS
----------------- ---------- ---------- ---------- ------------------
28-JUL-2008 14:32:33.68 28-JUL-2008 14:37:38.40 556 48 48 17 1
1 row selected.
SQL>
Oracle数据库专享工具:SQL*Loader介绍MySQL中数据表操作详解相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)