国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何估算表In-Memory需要內存大小

來源:懂視網 責編:小采 時間:2020-11-09 13:01:44
文檔

如何估算表In-Memory需要內存大小

如何估算表In-Memory需要內存大小:對于12.1.0.2的In-Memory特性很多朋友都已經知曉,現(xiàn)在可能有這個困惑我一張表啟用In-Memory大概需要多少內存呢?該如何估算這個值呢?這里我告訴你通過dbms_compression可以完成你想做的事情 啟用In-Memory功能 [oracle@www.xifenfei
推薦度:
導讀如何估算表In-Memory需要內存大小:對于12.1.0.2的In-Memory特性很多朋友都已經知曉,現(xiàn)在可能有這個困惑我一張表啟用In-Memory大概需要多少內存呢?該如何估算這個值呢?這里我告訴你通過dbms_compression可以完成你想做的事情 啟用In-Memory功能 [oracle@www.xifenfei

對于12.1.0.2的In-Memory特性很多朋友都已經知曉,現(xiàn)在可能有這個困惑我一張表啟用In-Memory大概需要多少內存呢?該如何估算這個值呢?這里我告訴你通過dbms_compression可以完成你想做的事情 啟用In-Memory功能 [oracle@www.xifenfei.com u02]$ sqlplus / as

對于12.1.0.2的In-Memory特性很多朋友都已經知曉,現(xiàn)在可能有這個困惑我一張表啟用In-Memory大概需要多少內存呢?該如何估算這個值呢?這里我告訴你通過dbms_compression可以完成你想做的事情
啟用In-Memory功能

[oracle@www.xifenfei.com u02]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu Aug 7 17:50:47 2014
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 0
inmemory_query string ENABLE
inmemory_size big integer 0
inmemory_trickle_repopulate_servers_ integer 1
optimizer_inmemory_aware boolean TRUE
SQL> alter system set inmemory_size=400M;
alter system set inmemory_size=400M
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set inmemory_size=400M scope=spfile;
System altered.
SQL> show pdbs;
 CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
 2 PDB$SEED READ ONLY NO
 3 PDB1 READ WRITE NO
 4 PDB2 READ WRITE NO
SQL> alter session set container=pdb1;
Session altered.
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 0
inmemory_query string ENABLE
inmemory_size big integer 0
inmemory_trickle_repopulate_servers_ integer 1
optimizer_inmemory_aware boolean TRUE
SQL> alter system set inmemory_size=200M;
alter system set inmemory_size=200M
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set inmemory_size=200M scope=spfile;
alter system set inmemory_size=200M scope=spfile
 *
ERROR at line 1:
ORA-02096: specified initialization parameter is not modifiable with this
option
SQL> !oerr ora 2096
02096, 00000, "specified initialization parameter is not modifiable with this option"
// *Cause: Though the initialization parameter is modifiable, it cannot be
// modified using the specified command.
// *Action: Check the DBA guide for information about under what scope
// the parameter may be modified
SQL> select 200*1024*1024 from dual;
200*1024*1024
-------------
 209715200
SQL> alter system set inmemory_size=209715200;
 alter system set inmemory_size=209715200
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02095: specified initialization parameter cannot be modified
SQL> shutdown immediate;
Pluggable Database closed.
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 2929936 bytes
Variable Size 360712944 bytes
Database Buffers 50331648 bytes
Redo Buffers 5455872 bytes
In-Memory Area 419430400 bytes
Database mounted.
Database opened.
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 1
inmemory_query string ENABLE
inmemory_size big integer 400M
inmemory_trickle_repopulate_servers_ integer 1
optimizer_inmemory_aware boolean TRUE
SQL> alter session set container=pdb1;
Session altered.
SQL> alter database open;
Database altered.
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 1
inmemory_query string ENABLE
inmemory_size big integer 400M
inmemory_trickle_repopulate_servers_ integer 1
optimizer_inmemory_aware boolean TRUE
SQL> alter system set inmemory_size=100M;
System altered.
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 1
inmemory_query string ENABLE
inmemory_size big integer 100M
inmemory_trickle_repopulate_servers_ integer 1
optimizer_inmemory_aware boolean TRUE

這里可以發(fā)現(xiàn)inmemory_query默認為true,但是inmemory_size默認為0,也就是說In-Memory Option默認是關閉的,如果啟用直接設置inmemory_size值即可(該值最小值為100M),但是需要注意在cdb中需要重啟后生效,pdb需要待cdb生效后才能夠設置

估算表設置In-Memory默認需要內存空間

SQL> create user chf identified by xifenfei;
User created.
SQL> grant dba to chf;
Grant succeeded.
SQL> create table chf.t_xifenfei as select * from dba_objects;
Table created.
SQL> select sum(bytes), sum(blocks) from DBA_segments where segment_name = 'T_XIFENFEI';
SUM(BYTES) SUM(BLOCKS)
---------- -----------
 13631488 1664
SQL> set serveroutput on
DECLARE
l_blkcnt_cmp binary_integer;
l_blkcnt_uncmp binary_integer;
l_row_cmp binary_integer;
l_row_uncmp binary_integer;
l_cmp_ratio number;
SQL> 2 3 4 5 6 7 l_comptype_str varchar2(100);
 8 BEGIN
 9 dbms_compression.get_compression_ratio(
 10 scratchtbsname => upper('&ScratchTBS'),
 11 ownname => upper('&ownername'), 
 12 objname => upper('&TableName'), 
 13 subobjname => NULL, 
 14 comptype => DBMS_COMPRESSION.COMP_INMEMORY_QUERY_LOW, 
 15 blkcnt_cmp => l_blkcnt_cmp,
 16 blkcnt_uncmp => l_blkcnt_uncmp, 
 17 row_cmp => l_row_cmp,
 18 row_uncmp => l_row_uncmp,
 19 cmp_ratio => l_cmp_ratio, 
 20 comptype_str => l_comptype_str 
 21 );
 22 dbms_output.put_line('.');
 23 dbms_output.put_line('OUTPUT: ');
 24 dbms_output.put_line('LINEORDER '||l_comptype_str||' ratio: '||to_char(l_cmp_ratio,'99.999'));
 25 end;
 26 /
Enter value for scratchtbs: USERS
old 10: scratchtbsname => upper('&ScratchTBS'),
new 10: scratchtbsname => upper('USERS'),
Enter value for ownername: CHF
old 11: ownname => upper('&ownername'),
new 11: ownname => upper('CHF'),
Enter value for tablename: T_XIFENFEI
old 12: objname => upper('&TableName'),
new 12: objname => upper('T_XIFENFEI'),
.
OUTPUT:
LINEORDER "In-memory Memcompress Query Low" ratio: 2.800
PL/SQL procedure successfully completed.
SQL> SELECT 13631488/2.800 FROM DUAL;
13631488/2.800
--------------
 4868388.57
SQL> alter table CHF.T_XIFENFEI inmemory;
Table altered.
SQL> select COUNT(*) FROM CHF.T_XIFENFEI;
 COUNT(*)
----------
 90923
SQL> select inmemory_size from v$im_segments where segment_name = 'T_XIFENFEI';
INMEMORY_SIZE
-------------
 4325376
SQL> select (4868388.57-4325376)/4325376 from dual;
(4868388.57-4325376)/4325376
----------------------------
 .125541125

這里使用大家在ehcc中熟悉的dbms_compression.get_compression_ratio來估算In-memory需要的大概空間,例如本測試中,創(chuàng)建T_XIFENFEI表占用磁盤空間為13631488byte,使用dbms_compression估算在In-memory默認的壓縮比例(Query Low)情況下,大概壓縮比例為2.8,也就是通過合理估算,表啟用In-memory cache之后,大概需要空間為13631488/2.800=4868388.57byte,最終通過實際測試需要空間為4325376byte,整體誤差為(4868388.57-4325376)/4325376=12.5%左右
因此我們在使用In-memory cache一個表之時,如果不確定其需要內存大小,可以通過dbms_compression包來估算.另外In-memory還可以配置不同的壓縮級別實現(xiàn)不同的壓縮比例,其他壓縮比例請見下圖
compress-in_memory-1
compress-in_memory-2
詳細link請見:https://docs.oracle.com/database/121/ARPLS/d_compress.htm#ARPLS65599

  • ORACLE 12C In-Memory組件初試
  • 對于IN Memory Option 部分細節(jié)測試—主要當inmemory_size不足之時
  • ORACLE 12C In-Memory功能性能測試
  • In-Memory整體匯總
  • 查找V$PARAMETER 基表
  • ORACLE 12C varchar2支持32k長度字符串
  • 設置_smu_debug_mode實現(xiàn)指定session級別使用特定回滾段
  • 關于9I中sga_max_size參數(shù)描述
  • 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何估算表In-Memory需要內存大小

    如何估算表In-Memory需要內存大小:對于12.1.0.2的In-Memory特性很多朋友都已經知曉,現(xiàn)在可能有這個困惑我一張表啟用In-Memory大概需要多少內存呢?該如何估算這個值呢?這里我告訴你通過dbms_compression可以完成你想做的事情 啟用In-Memory功能 [oracle@www.xifenfei
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日本a级免费| 亚洲午夜久久久久中文字幕 | 日韩专区一区 | 亚洲三级在线播放 | 欧美日韩亚洲国产一区二区三区 | 久久亚洲欧美综合激情一区 | 国产成人久久精品亚洲小说 | 99精品在免费线视频 | 看全色黄大色大片免费久久久 | 国产精品一区二区三区四区五区 | 国产欧美亚洲精品 | 欧美成人高清视频 | 久久精品国产精品亚洲综合 | 91久久国产综合精品女同我 | 成人亚洲欧美日韩在线 | 天天躁日日躁狠狠躁中文字幕老牛 | 女人18毛片a级毛片一区②区 | 久久亚洲精品国产亚洲老地址 | 九九国产精品九九 | 欧美 亚洲 另类 热图 | 精品国产电影在线看免费观看 | 国产中文在线观看 | 欧美色图亚洲天堂 | 免费永久在线观看黄网 | 免费一区视频 | 亚洲国产精品免费观看 | 欧美大色 | 国产精品久久久久久永久牛牛 | 99久久国产亚洲综合精品 | 国产精品ⅴ视频免费观看 | 日本成本人观看免费fc2 | 国产视频久久 | 国产真实乱人视频在线看 | 国产精品久久久久久久久久久久 | 亚洲欧美日本另类 | 欧美在线观看日韩欧美在线观看 | 99精品欧美一区二区三区综合在线 | 国产精品国产三级国产普通话一 | 美国美女一级毛片免费全 | 欧美日韩一区二区三 | 中文字幕欧美在线观看 |