direct path write(USER I/0类)
- 从PGA写入数据文件,一个会话可以发布多个写入请求和连续的处理。
- 直接写入可以按同步或异步方式执行,取决于平台和DISK_ASYNC_IO参数的值。
- 通常用于在数据加载(APPEND提示、CTAS-CREATE TABLE AS SELECT)、并行DML操作时写入到临时段。
- 在使用异步IO时,direct path write事件产生的等待时间不准确,所以通过v$sesstat视图来获得直接写入次数来评估该事件的影响情况:
SELECT a.NAME,
b.sid,
b.VALUE,
round((SYSDATE - c.logon_time) * 24) hours_connected
FROM v$statname a, v$sesstat b, v$session c
WHERE a.statistic# = b.statistic#
AND b.sid = c.sid
AND b.VALUE > 0
AND a.NAME = 'physical writes direct'
- 参数说明:
事件号:213
事件名:direct path write
参数一:要写入的绝对文件号file number,可发现所进行的操作性质(如:排序/并行操作)
参数二:起始块号first dba
参数三:块数block cnt,可发现直接写入IO的大小
由参数P1与P2推得访问的数据对象:
select s.segment_name, s.partition_name
from dba_extents s
where between s.block_id and (s.block_id + s.blocks -1) and s.file_id =
注:
>> 1. 如果是Temp文件,则表示该会话正在写入临时表空间,查明使用临时段的类型,有助于了解会话所做的事情。
SELECT DISTINCT decode(t.ktssosegt,
1,'SORT',
2,'HASH',
3,'DATA',
4,'INDEX',
5,'LOB_DATA',
6,'LOB_INDEX',
'UNDEFINED')
FROM sys.x$ktsso t
WHERE t.inst_id = userenv('instance') AND
t.kssoses = AND
t.ktssosno =
>> 2. 如果是数据文件,则可能正在执行一项直接路径加载操作,通过P1值确定数据文件的名称:
select s.NAME from v$datafile s where s.FILE# =
union all
select a.name
from v$tempfile a, v$parameter b
where b.NAME = 'db_files'
and a.FILE# + b.VALUE =
- 等待时间:无超时
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/79291/viewspace-910229/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/79291/viewspace-910229/