- 浏览: 670328 次
- 性别:
- 来自: 中山
文章分类
最新评论
-
wuhuizhong:
jFinal支持Rest风格吗?可以想spring mvc那样 ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
在jfinal中应如何获取前端ajax提交的Json数据?ht ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
jfinal如何处理json请求的数据:问题: 在某些api接 ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
Ubuntu14.04 安装 Oracle 11g R2 Ex ...
Oracle 11g release 2 XE on Ubuntu 14.04 -
alanljj:
这个很实用,已成功更新,谢过了!
odoo薪酬管理模块l10n_cn_hr_payroll
1.認識V$ACTIVE_SESSION_HISTORY视图
从Oracle10g开始引入了V$ACTIVE_SESSION_HISTORY视图,用于查询用户活动会话的历史信息。
1.1.相關參數設置
ASH缺省每一秒收集一下活动会话的情况,间隔时间由_ash_sampling_interval 参数确定。
V$ACTIVE_SESSION_HISTORY中的数据在被新数据周期性地覆盖前保留30 分钟,当数据从这个动态性能视图中清除时,这些数据被送到活动工作负载信息库(Active Workload Repository,AWR)中,它是一个基于磁盘的信息库。被清除的ASH(活动会话历史)数据可以在 DBA_HIST_ACTIVE_SESSION_HIST视图中看到,能够看到过去的会话的等待事件,在默认状态下,AWR中的数据7天后即被清除。
SQL> show parameter statistics; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ optimizer_use_pending_statistics boolean FALSE statistics_level string TYPICAL timed_os_statistics integer 0 timed_statistics boolean TRUE
1.2.包含的內容
V$ACTIVE_SESSION_HISTORY包含top wait events, top SQL, top SQL command types,top sessions等等对于诊断故障非常有用的信息。
SQL> desc v$active_session_history; Name Null? Type ----------------------------------------- -------- ---------------------------- SAMPLE_ID NUMBER SAMPLE_TIME TIMESTAMP(3) --统计数字采集的时间 SESSION_ID NUMBER SESSION_SERIAL# NUMBER SESSION_TYPE VARCHAR2(10) FLAGS NUMBER USER_ID NUMBER SQL_ID VARCHAR2(13) SQL_CHILD_NUMBER NUMBER SQL_OPCODE NUMBER FORCE_MATCHING_SIGNATURE NUMBER TOP_LEVEL_SQL_ID VARCHAR2(13) TOP_LEVEL_SQL_OPCODE NUMBER SQL_PLAN_HASH_VALUE NUMBER SQL_PLAN_LINE_ID NUMBER SQL_PLAN_OPERATION VARCHAR2(30) SQL_PLAN_OPTIONS VARCHAR2(30) SQL_EXEC_ID NUMBER SQL_EXEC_START DATE PLSQL_ENTRY_OBJECT_ID NUMBER PLSQL_ENTRY_SUBPROGRAM_ID NUMBER PLSQL_OBJECT_ID NUMBER PLSQL_SUBPROGRAM_ID NUMBER QC_INSTANCE_ID NUMBER QC_SESSION_ID NUMBER QC_SESSION_SERIAL# NUMBER EVENT VARCHAR2(64) EVENT_ID NUMBER EVENT# NUMBER SEQ# NUMBER P1TEXT VARCHAR2(64) P1 NUMBER P2TEXT VARCHAR2(64) P2 NUMBER P3TEXT VARCHAR2(64) P3 NUMBER WAIT_CLASS VARCHAR2(64) WAIT_CLASS_ID NUMBER WAIT_TIME NUMBER SESSION_STATE VARCHAR2(7) TIME_WAITED NUMBER BLOCKING_SESSION_STATUS VARCHAR2(11) BLOCKING_SESSION NUMBER BLOCKING_SESSION_SERIAL# NUMBER CURRENT_OBJ# NUMBER CURRENT_FILE# NUMBER CURRENT_BLOCK# NUMBER CURRENT_ROW# NUMBER CONSUMER_GROUP_ID NUMBER XID RAW(8) REMOTE_INSTANCE# NUMBER IN_CONNECTION_MGMT VARCHAR2(1) IN_PARSE VARCHAR2(1) IN_HARD_PARSE VARCHAR2(1) IN_SQL_EXECUTION VARCHAR2(1) IN_PLSQL_EXECUTION VARCHAR2(1) IN_PLSQL_RPC VARCHAR2(1) IN_PLSQL_COMPILATION VARCHAR2(1) IN_JAVA_EXECUTION VARCHAR2(1) IN_BIND VARCHAR2(1) IN_CURSOR_CLOSE VARCHAR2(1) SERVICE_HASH NUMBER PROGRAM VARCHAR2(48) MODULE VARCHAR2(48) ACTION VARCHAR2(32) CLIENT_ID VARCHAR2(64)
1.3.生成ASH报表
V$ACTIVE_SESSION_HISTORY是生成ASH报表的来源,可以通过OEM来生成report,也可以通过Oracle新提供的一个脚本来完成这个工作,这个脚本是:$ORACLE_HOME/rdbms/admin/ashrpt.sql
1.4.查詢用戶在最近1小時內等待了多长时间
SELECT s.sid, s.username, SUM(h.wait_time + h.time_waited) "total wait time" FROM v$active_session_history h, v$session s, v$event_name e WHERE h.sample_time BETWEEN sysdate - 1 / 24 AND sysdate AND h.session_id = s.sid group by s.sid, s.username;
1.5.查詢用戶在最近1小時內执行SQL等待了多长时间
SELECT h.user_id, u.username, sql.sql_text, SUM(h.wait_time + h.time_waited) "total wait time" FROM v$active_session_history h, v$sqlarea sql, dba_users u, v$event_name e WHERE h.sample_time BETWEEN sysdate - 1 / 24 AND sysdate AND h.sql_id = sql.sql_id AND h.user_id = u.user_id group by h.user_id, u.username, sql.sql_text
1.6.查詢在最近1小時內引起最多等待时间的資料庫物件
SELECT o.owner, o.object_name, o.object_type, SUM(h.wait_time + h.time_waited) "total wait time" FROM v$active_session_history h, dba_objects o, v$event_name e WHERE h.sample_time BETWEEN sysdate - 1 / 24 AND sysdate AND h.current_obj# = o.object_id AND e.event_id = h.event_id group by o.owner, o.object_name, o.object_type
2.Oracle Session Tracing
2.1.建立用户登陆触发器设置客户端标识符
CREATE OR REPLACE TRIGGER LOGON_TRIGGER AFTER LOGON ON DATABASE DECLARE v_user_identifier varchar2(64); BEGIN SELECT SYS_CONTEXT('USERENV', 'OS_USER') || ':' || SYS_CONTEXT('USERENV', 'IP_ADDRESS') INTO v_user_identifier FROM dual; DBMS_SESSION.SET_IDENTIFIER(v_user_identifier); END; /
2.2.查詢會話
SELECT SID, CLIENT_IDENTIFIER, SERVICE_NAME, ACTION, MODULE FROM V$SESSION; SID CLIENT_IDENTIFIER SERVICE_NAME ACTION MODULE --- --------------------------- ------------ ---------------- -------------------- 150 Administrator:172.18.17.181 orcl PlSqlDev.exe 143 Administrator:172.18.17.181 orcl SQL Window - New PL/SQL Developer 142 Administrator:172.18.17.181 orcl Main session PL/SQL Developer
2.3.事件的等待時間
select session_id, client_id, event, sum(wait_time + time_waited) ttl_wait_time from v$active_session_history active_session_history where sample_time between sysdate - 60 / 2880 and sysdate group by session_id, client_id, event order by 2; SESSION_ID CLIENT_ID EVENT TTL_WAIT_TIME ---------- --------------------------- ----------------------- ------------- 150 Administrator:172.18.17.181 36493 150 Administrator:172.18.17.181 db file sequential read 8632 142 Administrator:172.18.17.181 7372
2.4.總的等待時間
select client_id, event, sum(wait_time + time_waited) ttl_wait_time from v$active_session_history active_session_history where sample_time between sysdate - 60 / 2880 and sysdate group by client_id, event order by 1; CLIENT_ID EVENT TTL_WAIT_TIME --------------------------- ----------------------- ------------- Administrator:172.18.17.181 db file sequential read 8632 Administrator:172.18.17.181 3865
2.5.查看客户端标识符
SQL> SELECT SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER') CLIENT_IDENTIFIER 2 FROM DUAL; CLIENT_IDENTIFIER ----------------------------- Administrator:172.18.17.181
2.6.清除客户端标识符
DBMS_SESSION.CLEAR_IDENTIFIER
发表评论
-
用函数unistr将Oracle数据库中的Unicode转换为中文
2016-07-19 11:51 7888例子: DECLARE V_EXT_DES V ... -
ORACLE APPLICATION EXPRESS 5.0 升级
2016-05-12 11:43 551Oracle11GR2 XE 缺省是安装了oracle ap ... -
Oracle ACL(Access Control List)
2016-05-12 11:36 856在oralce 11g中假如你想获取server的ip或者h ... -
了解systemstate dump
2016-04-26 14:09 464当数据库出现严重的性能问题或者hang了的时候,我们非常需要 ... -
通过ORACLE的UTL_HTTP工具包发送包含POST参数的请求
2016-03-18 16:25 5098DECLARE req utl_http. ... -
Shell: extract more from listener.log(分析监听日志)
2016-03-16 14:57 1116统计一天内每小时的session请求数 # fgrep ... -
ORA-01031: insufficient privileges 问题解决笔记
2016-02-01 15:53 1158A) File $Oracle_HOME/network/a ... -
listener.log中报Warning: Subscription For Node Down Event Still Pending问题的解决方法
2016-01-07 16:34 1608一套Oracle 10.2.0.1 for aix的数据库环 ... -
Oracle触发器和MySQL触发器之间的区别
2015-11-19 12:55 625Oracle触发器格式: CREATE [OR RE ... -
查询正在执行的存储过程
2015-11-13 09:27 20011、找正在执行的PROCEDURE的 sid ,serial# ... -
undo表空间损坏的处理过程
2015-10-14 13:49 1193磁碟陣列故障,分區/rman上包括undo和archivel ... -
登录oracle资料库时很久无反应的问题处理一例
2015-10-11 10:56 964原因是系统存在僵死的进程,促使session处于激活状态.首 ... -
TNS-12560问题解决
2015-10-01 19:52 584tnsping远程主机实例出现TNS-12560: TNS ... -
查看undo中sql语句的占用情况
2015-08-06 17:18 1718查看undo中sql语句的占用情况 select * ... -
Install Open System Architect And ODBC Instant Client
2015-05-21 14:03 721How to Install Open System Arc ... -
恢复oracle中用pl sql误删除drop掉的表
2015-04-03 16:12 529查看回收站中表 select object_name,or ... -
在Oracle Linux 6.6上安装Oracle 10gR2
2015-01-15 15:36 2611查看硬體配置 # df -h Filesystem ... -
kill
2015-01-03 11:36 433--根据某一对象查询进程 col owner fo ... -
Oracle 数据库Storage存储迁移笔记
2014-12-27 11:08 9491.确认数据文件、控制文件、临时文件、日志文件 位置 / ... -
異地備份資料庫的開啟步驟
2014-11-19 14:03 456使用EMC設備執行異地備份, 資料庫的複製是開啟的狀態下, ...
相关推荐
Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析
Oracle 12c ASH 学习手册
学用ORACLE AWR 和 ASH 特性
Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析
Oracle数据库,导出某时间段AWR与ASH性能报告操作日志,用于对oracle数据库进行性能分析。
Oracle 10g用ASH生成性能报告 Oracle 10g用ASH生成性能报告
Oracle模拟ASH___下载.zip
简单的Oracle ASH查看器 安装 克隆存储库 npm install && npm --prefix ./client install ./client 如果未安装Oracle客户端:从下载Instant Client Basic或Basic Light软件包并解压缩 设置LD_LIBRARY_PATH环境变量...
支持的数据库:Oracle,PostgreSQL目录快速开始 为您的数据库下载JDBC驱动程序( , ) 解压缩二进制存档并运行ASH-Viewer.jar 打开连接对话框,并用数据填充它们(Oracle数据库的URL: jdbc:oracle:thin:@host...
二、《Oracle数据库SQL执行计划的取得和解析》PPT(附SQL文件) 三、Oracle 常用脚本 2pc_clean.txt ash_sql_line_id.txt ash_top_sql_event.txt ash_used awr_db_time.txt awr_event_histogram.txt awr_metric_...
oracle报表生成器,自动生成AWR,ASH等报告
Oracle Active Session History 从 10g 开始可用,但它需要额外的许可,并且仅适用于企业版。 本项目是基于X$表和客户端-系统架构的ASH模拟
详细说明awr和ash的使用,oracle调优时用。
Oracle snapper ASH监控工具-附件资源
2013 Oracle技术嘉年华:RDBMS Forensics Troubleshooting Using ASH Session UGF-9740-Tim Gorm.pdf 2013 Oracle技术嘉年华:sql优化案例分析_郑隐.pdf 2013 Oracle技术嘉年华:Tariq_Exadata_DataWarehousing_Gold...
第2章 锁和阻塞 20 2.1 关于锁 20 2.2 锁和阻塞 22 2.3 引起阻塞的其他情况 30 2.3.1 select for update 30 2.3.2 外键和索引 36 第3章 latch和等待 44 3.1 共享池中的latch争用 45 .3.2 数据缓冲池latch争用 54 ...
BLOG_Oracle_lhr_【ASH】如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据.pdfBLOG_Oracle_lhr_【ASH】如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据.pdf
Hint.pdf Oracle中rowid与rownum的使用.pdf Oracle优化 之 索引.pdf Oracle优化器.pdf STATSPACK详解.pdf 学用ORACLE_AWR和ASH特性.pdf 执行计划.pdf