当前位置:  数据库>oracle

Oracle 12c In-Memory in Tablespaces

    来源: 互联网  发布时间:2017-06-20

    本文导语: 上篇文章讲了,其实在Tablespaces也可指定开启Tablespaces ,在Tablespaces 级别指定后,存储在这个Tablespaces 上的表也都开启了In-Memory。下面我们来测试一下。 1.建立一个表空间,并指定INMEMORY字句SQL> CREATE TABLESPACE tbs1 datafile 'tbs1' SIZE 4...

上篇文章讲了,其实在Tablespaces也可指定开启Tablespaces ,在Tablespaces 级别指定后,存储在这个Tablespaces 上的表也都开启了In-Memory。下面我们来测试一下。

1.建立一个表空间,并指定INMEMORY字句
SQL> CREATE TABLESPACE tbs1 datafile 'tbs1' SIZE 40M  DEFAULT INMEMORY;

2.在新建立的表空间上建立一张表,且表不指定INMEMORY
SQL> create table bmw.tt tablespace tbs1 as select * from dba_objects ;
Table created.

3.可以看到新建立的表也都开启了INMEMORY,这是因为我们在表空间级别开启了INMEMORY。
SQL> l
  1* select TABLE_NAME,INMEMORY_PRIORITY,INMEMORY_DISTRIBUTE,INMEMORY_COMPRESSION from dba_tables where table_name='TT'
SQL> /

TABLE_NAME          INMEMORY_PRIORITY        INMEMORY_DISTRIBUTE                          INMEMORY_COMPRESSION
-------------------- ------------------------ --------------------------------------------- ------------------------------
TT                  NONE                    AUTO                                          FOR QUERY LOW

SQL> l
  1  SELECT * FROM V$INMEMORY_AREA
  2*
SQL> /
POOL      ALLOC_BYTES USED_BYTES POPULATE_S    CON_ID
---------- ----------- ---------- ---------- ----------
1MB POOL    837812224    4194304 DONE                3
64KB POOL    201326592    131072 DONE                3

当表没有查询时,我们可以看到并未分配内存

4.查询表
SQL> set autot trace
SQL> SELECT * FROM bmw.tt;
90935 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 264906180
-----------------------------------------------------------------------------------
| Id  | Operation                  | Name | Rows  | Bytes | Cost (%CPU)| Time    |
-----------------------------------------------------------------------------------
|  0 | SELECT STATEMENT          |      | 90935 |    9M|    32  (16)| 00:00:01 |
|  1 |  TABLE ACCESS INMEMORY FULL| TT  | 90935 |    9M|    32  (16)| 00:00:01 |
-----------------------------------------------------------------------------------
Statistics
----------------------------------------------------------
          6  recursive calls
          0  db block gets
      7485  consistent gets
      1527  physical reads
          0  redo size
    4945264  bytes sent via SQL*Net to client
      67234  bytes received via SQL*Net from client
      6064  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
      90935  rows processed


以上虽然使用了TABLE ACCESS INMEMORY FULL,但由于表未在内存中,还是产生了大量的 consistent gets


5.再查询测试一下,可以看到consistent gets降到了3
SQL> /
90935 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 264906180
-----------------------------------------------------------------------------------
| Id  | Operation                  | Name | Rows  | Bytes | Cost (%CPU)| Time    |
-----------------------------------------------------------------------------------
|  0 | SELECT STATEMENT          |      | 90935 |    9M|    32  (16)| 00:00:01 |
|  1 |  TABLE ACCESS INMEMORY FULL| TT  | 90935 |    9M|    32  (16)| 00:00:01 |
-----------------------------------------------------------------------------------
Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          3  consistent gets
          0  physical reads
          0  redo size
    4945264  bytes sent via SQL*Net to client
      67234  bytes received via SQL*Net from client
      6064  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
      90935  rows processed
SQL> set autot off
SQL> SELECT * FROM V$INMEMORY_AREA;
POOL      ALLOC_BYTES USED_BYTES POPULATE_S    CON_ID
---------- ----------- ---------- ---------- ----------
1MB POOL    837812224    8388608 DONE                3
64KB POOL    201326592    262144 DONE                3

在V$INMEMORY_AREA视图中也可以看到已经分配了多少内存。

如果取消表空间级别的INMEMORY,可以使用 ALTER TABLESPACE tbsname NO INMEMORY 子句.


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • oracle12c安装报错:PRVF-0002的解决方法
  • Oracle 12c的九大最新技术特性介绍
  • oracle 11g最新版官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 虚拟机装Oracle R12与Oracle10g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • ORACLE日期相关操作
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE数据库常用字段数据类型介绍
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE中DBMS_RANDOM随机数生成包
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3