[20130409]Data file init write等待事件.txt

[20130409]Data file init write等待事件.txt

清明前几天帮别人解决数据库问题,就是高峰的时候有点慢。

仔细看awr报表,除了发现几条sql语句没有建立索引外,发现等待事件里Data file init write。
很明显主要数据文件next设置太小,当我看数据文件发现next竟然是8k,将它修改128M后问题消失。

我自己感到奇怪的是无论如何前面的安装人员都不应该把next设置为8k(难道是笔误应该是8M还有可能)。

今天自己在11G上做一个测试,原来问题在于建立的表空间语句上。

测试如下:
1.测试环境:

SQL> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
--建立表空间:
CREATE TABLESPACE aaa DATAFILE  '/u01/app/oracle11g/oradata/test/aaa01.dbf' SIZE 88K AUTOEXTEND ON  MAXSIZE UNLIMITED
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
--注意我没有使用next 参数。
SQL> select dbms_metadata.get_ddl('TABLESPACE','AAA') from dual;
DBMS_METADATA.GET_DDL('TABLESPACE','AAA')
----------------------------------------------------------------------
  CREATE TABLESPACE "AAA" DATAFILE
  '/u01/app/oracle11g/oradata/test/aaa01.dbf' SIZE 90112
  AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO

--可以发现next=8K.这样在业务高峰,如果数据文件扩展8k这样的速度明显太慢。出现Data file init write等待事件。

SQL> column file_name format a50
SQL> select tablespace_name, file_name, bytes, autoextensible, increment_by from dba_data_files order by file_id;
TABLESPACE_NAME                FILE_NAME                                            BYTES AUT INCREMENT_BY
------------------------------ ----------------------------------------------- ---------- --- ------------
SYSTEM                         /u01/app/oracle11g/oradata/test/system01.dbf     807403520 YES         1280
SYSAUX                         /u01/app/oracle11g/oradata/test/sysaux01.dbf     880803840 YES         1280
UNDOTBS1                       /u01/app/oracle11g/oradata/test/undotbs01.dbf   1073741824 YES          640
USERS                          /u01/app/oracle11g/oradata/test/users01.dbf      536870912 YES         2048
EXAMPLE                        /u01/app/oracle11g/oradata/test/example01.dbf    104857600 YES           80
RMAN                           /u01/app/oracle11g/oradata/test/rman01.dbf        67108864 YES         2048
TOOLS                          /u01/app/oracle11g/oradata/test/tools01.dbf       67108864 YES         2048
TEST                           /u01/app/oracle11g/oradata/test/test01.dbf        67108864 YES         2048
TESTMSSM                       /u01/app/oracle11g/oradata/test/testmssm01.dbf    67108864 YES         2048
UNDOTBS2                       /u01/app/oracle11g/oradata/test/undotbs02.dbf      1048576 NO             0
AAA                            /u01/app/oracle11g/oradata/test/aaa01.dbf            90112 YES            1
11 rows selected.

--从视图也可以看出来。

时间: 2024-07-29 17:15:06

[20130409]Data file init write等待事件.txt的相关文章

[20161228]奇怪log file sync等待事件.txt

[20161228]奇怪log file sync等待事件.txt --这个来自链接:http://www.itpub.net/thread-2073857-1-1.html的讨论,很奇怪的问题: Top 10 Foreground Events by Total Wait Time Event                                              Waits    Total Wait Time (sec)    Wait Avg(ms)    % DB t

详解 db file sequential read 等待事件

db file sequential read (本文由thomaswoo_dba翻译,转载请注明出处) db file sequential read 事件有三个参数:file#,first block#, block count, 在oracle 10g里,此等待事件在归于 User I/O wait class 下面的. 处理db file sequential read 事件要牢牢把握下面三个主要思想: 1)oracle 进程需要访问的block不能从SGA 中获取,因此oracle 进

[20150520]使用gdb查看等待事件.txt

[20150520]使用gdb查看等待事件.txt -- 昨天开始重看vage-- 使用gdb 看等待事件这部分内容跳过了,今天测试看看.如何操作. -- 实际上设置断点在gdb下,11g等待事件的起始函数是kslwtbctx函数.还是通过演示来说明: 1.测试环境: SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------

[20160205]大量子光标引起的等待事件.txt

[20160205]大量子光标引起的等待事件.txt --测试大量子光标引起的等待事件(11G): 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -----------------------------------------------------------------------

db file sequential read等待事件

最近某个应用的AWR中总显示"db file sequential read"等待事件位于top 5之首,下面检索下MOS关于这个等待事件的说明. 等待事件: "db file sequential read" Reference Note (文档 ID 34559.1)         这种等待事件是一种IO读请求相关的等待.与"db file scattered read"不同,因为"sequential read"是将数

db file async I/O submit 等待事件优化

db file async I/O submit 等待事件优化   一.数据发生db file async I/O submit 我们从数据库awr报告中经常会看到很高db file async I/O submit的等待事件: SQL> select event,wait_class,wait_time from v$session_wait where wait_class<>'Idle' EVENT WAIT_CLASS WAIT_TIME --------------------

ORACLE等待事件: log file parallel write

log file parallel write概念介绍 log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将日志缓冲区(log_buffer)中的重做日志信息写入联机重做日志文件组的成员文件,LGWR在该事件上等待该写入过程的完成.该事件的等待表示重做日志所处的磁盘设备缓慢或存在争用.下面看看官方一些资料是如何解释log file parallel write等待事件的.   log file parallel write   Writing red

&quot;log file sync&quot;等待事件-2

"log file sync"有三个参数: P1 = buffer# P2 = 未使用 P3 = 未使用 buffer# 这个buffer编号(在日志缓冲区中)的所有改变必须刷新到磁盘,写操作的完成保证了交易COMMIT的执行,即使实例crash也会保证COMMIT.因此LGWR的等待就是刷新这个buffer#. 等待时间: 这种等待完全依赖于LGWR写出所有必要的redo块,确保完成后返回给用户session.等待时间包括了日志缓冲写操作和提交操作.等待的时候,每秒都会增加序列号.

Statspack之十四-&amp;amp;quot;log file sync&amp;amp;quot; 等待事件

原文出处: http://www.eygle.com/statspack/statspack14-LogFileSync.htm 当一个用户提交(commits)或者回滚(rollback),session的redo信息需要写出到redo logfile中.用户进程将通知LGWR执行写出操作,LGWR完成任务以后会通知用户进程.这个等待事件就是指用户进程等待LGWR的写完成通知. 对于回滚操作,该事件记录从用户发出rollback命令到回滚完成的时间. 如果该等待过多,可能说明LGWR的写出效率