Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

8

积分

1

好友

20

主题
1#
发表于 2013-7-1 19:38:09 | 查看: 5719| 回复: 6
    今天接到应用运维一个需求,需要获得上周5上午9点到下午4点数据库中会话数的统计情况,如果通过awrrpt脚本生成每个snaoshot的会话数过于麻烦,请问各位是否可以通过sql来获得每个snap_time对应的session数?感谢!
2#
发表于 2013-7-2 10:27:41
set linesize 300 pageisze 1400
select b.BEGIN_INTERVAL_TIME,a.resource_name,a.CURRENT_UTILIZATION from WRH$_RESOURCE_LIMIT a,WRM$_SNAPSHOT b where resource_name='sessions' and a.instance_number=1 and a.instance_number=b.instance_number and a.snap_id=b.snap_id order by  b.startup_time;

BEGIN_INTERVAL_TIME                                                         RESOURCE_NAME                  CURRENT_UTILIZATION
--------------------------------------------------------------------------- ------------------------------ -------------------
05-JUN-13 12.00.08.377 AM                                                   sessions                                      38

回复 只看该作者 道具 举报

3#
发表于 2013-7-2 10:29:08
select b.BEGIN_INTERVAL_TIME,a.resource_name,a.CURRENT_UTILIZATION from WRH$_RESOURCE_LIMIT a,WRM$_SNAPSHOT b where resource_name='sessions' and a.instance_number=1 and a.instance_number=b.instance_number and a.snap_id=b.snap_id order by  1;

上面的order by clause写差了。

回复 只看该作者 道具 举报

4#
发表于 2013-7-2 10:34:00
-- -----------------------------------------------------------------------------------
-- File Name    : http://www.oracle-base.com/dba/1 ... ple_awr_reports.sql
-- Author       : DR Timothy S Hall
-- Description  : Generates AWR reports for all snapsots between the specified start and end point.
-- Requirements : Access to the v$ views, UTL_FILE and DBMS_WORKLOAD_REPOSITORY packages.
-- Call Syntax  : Create the directory with the appropriate path.
--                Adjust the start and end snapshots as required.
--                @generate_multiple_awr_reports.sql
-- Last Modified: 02/08/2007
-- -----------------------------------------------------------------------------------
CREATE OR REPLACE DIRECTORY awr_reports_dir AS '/tmp/';

DECLARE
   -- Adjust before use.
   l_snap_start       NUMBER := 1;
   l_snap_end         NUMBER := 10;
   l_dir              VARCHAR2(50) := 'AWR_REPORTS_DIR';
   
   l_last_snap        NUMBER := NULL;
   l_dbid             v$database.dbid%TYPE;
   l_instance_number  v$instance.instance_number%TYPE;
   l_file             UTL_FILE.file_type;
   l_file_name        VARCHAR(50);

BEGIN
   SELECT dbid
   INTO   l_dbid
   FROM   v$database;

   SELECT instance_number
   INTO   l_instance_number
   FROM   v$instance;
     
   FOR cur_snap IN (SELECT snap_id
                    FROM   dba_hist_snapshot
                    WHERE  instance_number = l_instance_number
                    AND    snap_id BETWEEN l_snap_start AND l_snap_end
                    ORDER BY snap_id)
   LOOP
     IF l_last_snap IS NOT NULL THEN
       l_file := UTL_FILE.fopen(l_dir, 'awr_' || l_last_snap || '_' || cur_snap.snap_id || '.htm', 'w', 32767);
      
       FOR cur_rep IN (SELECT output
                       FROM   TABLE(DBMS_WORKLOAD_REPOSITORY.awr_report_html(l_dbid, l_instance_number, l_last_snap, cur_snap.snap_id)))
       LOOP
         UTL_FILE.put_line(l_file, cur_rep.output);
       END LOOP;
       UTL_FILE.fclose(l_file);
     END IF;
     l_last_snap := cur_snap.snap_id;
   END LOOP;
   
EXCEPTION
   WHEN OTHERS THEN
     IF UTL_FILE.is_open(l_file) THEN
       UTL_FILE.fclose(l_file);
     END IF;
     RAISE;
END;
/

要类似这要的 要么自己挖掘下 awrrpt脚本

回复 只看该作者 道具 举报

5#
发表于 2013-7-2 12:53:09
kevinlin.ora 发表于 2013-7-2 10:29
select b.BEGIN_INTERVAL_TIME,a.resource_name,a.CURRENT_UTILIZATION from WRH$_RESOURCE_LIMIT a,WRM$_S ...

感谢你的回复,学习了!

回复 只看该作者 道具 举报

6#
发表于 2013-7-2 12:54:06
Ling.QIu 发表于 2013-7-2 10:34
-- -----------------------------------------------------------------------------------
-- File Name ...

这个也不错,很感谢!

回复 只看该作者 道具 举报

7#
发表于 2013-7-2 15:57:00
kevinlin.ora 发表于 2013-7-2 10:29
select b.BEGIN_INTERVAL_TIME,a.resource_name,a.CURRENT_UTILIZATION from WRH$_RESOURCE_LIMIT a,WRM$_S ...

还有个问题,用你的sql查询出来的值和用awrrpt.sql生产的html文件上的session数不一致,请问这个问题是怎么回事,感谢!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-29 17:57 , Processed in 0.046087 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569