SQL> set autotrace traceonly statistics;
SQL> insert into big_table_dir_test1 select * from big_table_dir_test; 2853792 rows created. Statistics
----------------------------------------------------------
148 recursive calls
358348 db block gets
111261 consistent gets
2 physical reads
333542568 redo size
832 bytes sent via SQL*Net to client
817 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
2853792 rows processed SQL> commit; Commit complete. SQL> select f.owner,f.object_name,f.data_object_id,count(1),max(f.data_object_id),min(f.object_id) from big_table_dir_test1 f
group by f.owner,f.object_name,f.data_object_id; 2 87653 rows selected. Statistics
----------------------------------------------------------
7 recursive calls
1 db block gets
41034 consistent gets
0 physical reads -- 传统路径insert只写buffer cache, redo保证重做
176 redo size
4428645 bytes sent via SQL*Net to client
64793 bytes received via SQL*Net from client
5845 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
87653 rows processed SQL> truncate table big_table_dir_test1; Table truncated.
SQL> insert /*+ append nologging */ into big_table_dir_test1 select * from big_table_dir_test;

2853792 rows created.

Statistics
----------------------------------------------------------
228 recursive calls
44268 db block gets
42998 consistent gets
2 physical reads
376672 redo size
827 bytes sent via SQL*Net to client
841 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
2853792 rows processed SQL> SQL> commit; Commit complete. SQL> select f.owner,f.object_name,f.data_object_id,count(1),max(f.data_object_id),min(f.object_id) from big_table_dir_test1 f
group by f.owner,f.object_name,f.data_object_id;
2 87653 rows selected. Statistics
----------------------------------------------------------
5 recursive calls
1 db block gets
40831 consistent gets
40752 physical reads --直接路径插入后,不经过buffer cache
168 redo size
4413020 bytes sent via SQL*Net to client
64793 bytes received via SQL*Net from client
5845 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
87653 rows processed SQL> SQL> / 87653 rows selected. Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
40766 consistent gets
0 physical reads
0 redo size
4310178 bytes sent via SQL*Net to client
64793 bytes received via SQL*Net from client
5845 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
87653 rows processed
SQL> truncate table big_table_dir_test1;

Table truncated.

Elapsed: 00:00:00.62
SQL>
SQL> alter session enable parallel dml; Session altered. Elapsed: 00:00:00.00
SQL> SQL> insert /*+ parallel(c,4) */ into big_table_dir_test1 c select * from big_table_dir_test; 2853792 rows created. Elapsed: 00:00:03.69 Statistics
----------------------------------------------------------
13 recursive calls
2574 db block gets
43108 consistent gets
0 physical reads
119108 redo size -- insert中的parallel导致走了直接路径加载
830 bytes sent via SQL*Net to client
840 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
2853792 rows processed SQL> commit; Commit complete.
SQL> select f.owner,f.object_name,f.data_object_id,count(1),max(f.data_object_id),min(f.object_id) from big_table_dir_test1 f
group by f.owner,f.object_name,f.data_object_id; 2 87653 rows selected. Elapsed: 00:00:03.33 Statistics
----------------------------------------------------------
5 recursive calls
1 db block gets
40896 consistent gets
40752 physical reads -- 没有写buffer cache
168 redo size
4470876 bytes sent via SQL*Net to client
64793 bytes received via SQL*Net from client
5845 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
87653 rows processed
SQL> truncate table big_table_dir_test1;

insert into big_table_dir_test1 select /*+ parallel(b 4) */ * from big_table_dir_test b;
Table truncated. Elapsed: 00:00:00.05
SQL> SQL> 2853792 rows created. Elapsed: 00:00:04.66 Statistics
----------------------------------------------------------
139 recursive calls
358365 db block gets
110606 consistent gets
2 physical reads
333527468 redo size
846 bytes sent via SQL*Net to client
840 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
2853792 rows processed SQL> select /*+ parallel(4) */f.owner,f.object_name,f.data_object_id,count(1),max(f.data_object_id),min(f.object_id) from big_table_dir_test1 f
group by f.owner,f.object_name,f.data_object_id; 2 87653 rows selected. Elapsed: 00:00:02.07 Statistics
----------------------------------------------------------
38 recursive calls
1 db block gets
41750 consistent gets
0 physical reads -- parallel走了buffer cache
176 redo size
4557551 bytes sent via SQL*Net to client
64793 bytes received via SQL*Net from client
5845 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
87653 rows processed

目前暂时无法做到直接路径加载同时满足不生成redo,同时又写一份到buffer cache,这只能依赖于操作系统缓存,但是过多的并发append会导Disk file operations I/O致等待事件。

This event is used to wait for disk file operations (for example, open, close, seek, and resize). It is also used for miscellaneous I/O operations such as block dumps and password file accesses.

Wait Time: The wait time is the actual time it takes to do the I/O

Parameter

Description

FileOperation

Type of file operation

fileno

File identification number

filetype

Type of file (for example, log file, data file, and so on)

我们知道操作系统在操作文件的时候,需要打开文件、关闭文件、定位文件位置等,当这些操作在进行的时候,Oracle就处于等待状态。

操作系统的这些文件操作可以划分如下:

1.file creation
2 file open
3 file resize
4 file deletion
5 file close
6 wait for all aio requests to finish
7 write verification
8 wait for miscellaneous io (ftp, block dump, passwd file)
9 read from snapshot files

oracle insert、append、parallel、随后查询的redo与磁盘读写的更多相关文章

  1. Oracle insert /*+ APPEND */原理解析

    https://blog.csdn.net/xiaobluesky/article/details/50494101 关于insert /*+ append */我们需要注意以下三点: a.非归档模式 ...

  2. Oracle NoLogging Append 方式减少批量insert的redo_size

    业务处理中,很多时候使用实表临时表处理中间结果,而实表的Insert操作缺省会记录redo log,针对此问题收集相关测试总结信息如下: [转] 常见dml.ddl语句使用nologging选项所生成 ...

  3. 关于insert /*+ append*/ 各种insert插入速度比较

    来源于:http://www.cnblogs.com/rootq/archive/2009/02/11/1388043.html SQL> select count(*) from t;COUN ...

  4. insert /*+APPEND*/ 各种insert 插入速度比较

    SQL> select count(*) from t;COUNT(*)----------5442048****************************SQL> alter ta ...

  5. 快速向表中插入大量数据Oracle中append与Nologging

    来源于:http://blog.sina.com.cn/s/blog_61cd89f60102e7gi.html 当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候 ...

  6. Oracle中append与Nologging

    快速向表中插入大量数据Oracle中append与Nologging 2017-05-05 / VIEWS: 304 来源于:http://blog.sina.com.cn/s/blog_61cd89 ...

  7. Oracle ROWNUM用法和分页查询总结(转)

    [转载] Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278 ...

  8. Oracle DBA 必须掌握的 查询脚本:

    Oracle  DBA 必须掌握的 查询脚本: 0:启动与关闭 orcle 数据库的启动与关闭 1:连接数据库 2:数据库开启状态的实现步骤:       2-1:启动数据库           2- ...

  9. Oracle ROWNUM用法和分页查询总结

    **************************************************************************************************** ...

随机推荐

  1. Qt编写自定义控件7-自定义可拖动多边形

    前言 自定义可拖动多边形控件,原创作者是赵彦博(QQ:408815041 zyb920@hotmail.com),创作之初主要是为了能够在视频区域内用户自定义可拖动的多个区域,即可用来作为警戒区域,也 ...

  2. 怎么才能使服务器Nginx(或者Apache)支持字体文件

    为了在前端正确地显示字体,浏览器必须使用正确的http header来接受字体文件.如果服务器没有设置要求的头信息,那么有些浏览器就会在控制台报错或者直接不能显示. 可能你的服务器已经配置好了,你无须 ...

  3. 【C++ mid-term exerises】

    1. 用掷骰子方式,模拟班级每个学号被随机抽点的概率. (12分) 具体要求如下: (1)设计并实现一个骰子类Dice. ① 数据成员sides表示骰子面数.构造时,指定骰子是6面,8面,还是其它数值 ...

  4. Ubuntu 离线安装Mysql

    一.安装包 先从网络上,下载Mysql安装包,复制到U盘 下载地址:https://dev.mysql.com/downloads/mysql/ 二.挂载U盘 2.1查看分区 先输入命令  cat   ...

  5. openssl内核升级

    由于工作需要,防止安全漏洞需要对openssl升级现在整理出centos6.8和ubuntu14.4升级 centos升级openssl 1.首先去OpenSSL的网站 https://www.ope ...

  6. vue的属性样式绑定,

    <template> <div id="app"> <div v-html="H"></div>  //绑定ht ...

  7. DataGrid表格某单元格数据填入是否正确的验证---MiniUI使用

    示例: <div id="datagrid1" class="mini-datagrid" oncellvalidation="onCellVa ...

  8. Gym 101981J - Prime Game - [数学题][线性筛+分解质因数][2018-2019 ACM-ICPC Asia Nanjing Regional Contest Problem J]

    题目链接:http://codeforces.com/gym/101981/attachments 题意: 令 $mul(l,r) = \prod_{i=l}^{r}a_i$,且 $fac(l,r)$ ...

  9. Java ee第四周作业

    代码下载链接:https://github.com/javaee/tutorial-examples/tree/master/web/jsf/hello1 代码内容: /*** Copyright ( ...

  10. LeetCode 521 Longest Uncommon Subsequence I 解题报告

    题目要求 Given a group of two strings, you need to find the longest uncommon subsequence of this group o ...