日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

11g compression 新特性(1)

發(fā)布時間:2025/5/22 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11g compression 新特性(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
11g引入了大量compress相關(guān)的特性,其中之一便是dbms_compression包;GET_COMPRESSION_RATIO函數(shù)可以幫助我們了解壓縮某個表后各種可能的影響。換而言之,這個函數(shù)可以讓我們在具體實施表壓縮技術(shù)或者測試前,對于壓縮后的效果能有一個基本的印象。該包在11gr2中被首次引入,故而使用之前版本的包括11gr1都無緣得用。其次除OLTP壓縮模式之外的柱形混合壓縮只能在基于Exdata存儲的表空間上實現(xiàn)。使用DBMS_COMPRESSION包獲取的相關(guān)壓縮信息是十分準確的,因為在評估過程中Oracle通過實際采樣并建立模型表以盡可能還原逼真的數(shù)據(jù)。 我們可以通過trace來分析其評估過程中的具體操作,可以分成2步: 1. 建立原表的樣本表,其采樣值基于原表的大小: SQL> create table samp_dss_nation tablespace SCRATCH as select * from dss_nation sample block (50);Table created. 2. 基于采用表建立對應(yīng)壓縮類型的模型表: SQL> create table model_dss_nation tablespace SCRATCH compress for query high as select * from samp_dss_nation; create table model_dss_nation tablespace SCRATCH compress for query high as select * from samp_dss_nation * ERROR at line 1: ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage 可以看到在實際建立過程中Oracle將拒絕在非Exdata存儲的表空間上建立該類柱形混合壓縮(包括:COMP_FOR_QUERY_HIGH,COMP_FOR_QUERY_LOW,COMP_FOR_ARCHIVE_HIGH,CO MP_FOR_ARCHIVE_LOW)。但DBMS_COMPRESSION在進行評估時可以繞過Oracle對于該類操作的LOCK. 要在沒有Exdata存儲設(shè)備的情況下使用dbms_compression包評測OLTP壓縮模式外的柱狀混合壓縮模式時 (hybrid columnar compression is only supported in tablespaces residing on Exadata storage),首先需要打上patch 8896202: [oracle@rh2 admin]$ /s01/dbhome_1/OPatch/opatch lsinventory Invoking OPatch 11.1.0.6.6Oracle Interim Patch Installer version 11.1.0.6.6 Copyright (c) 2009, Oracle Corporation. All rights reserved.Oracle Home : /s01/dbhome_1 Central Inventory : /s01/oraInventory from : /etc/oraInst.loc OPatch version : 11.1.0.6.6 OUI version : 11.2.0.1.0 OUI location : /s01/dbhome_1/oui Log file location : /s01/dbhome_1/cfgtoollogs/opatch/opatch2010-06-02_23-08-33PM.logPatch history file: /s01/dbhome_1/cfgtoollogs/opatch/opatch_history.txtLsinventory Output file location : /s01/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2010-06-02_23-08-33PM.txt-------------------------------------------------------------------------------- Installed Top-level Products (1):Oracle Database 11g 11.2.0.1.0 There are 1 products installed in this Oracle Home.Interim patches (1) :Patch 8896202 : applied on Wed Jun 02 21:55:44 CST 2010 Unique Patch ID: 11909460 Created on 29 Oct 2009, 15:21:45 hrs US/Pacific Bugs fixed: 8896202該patch用以:ENABLE COMPRESSION ADVISOR TO ESTIMATE EXADATA HCC COMPRESSION RATIOS 接著我們還需要運行被修改后的DBMSCOMP包創(chuàng)建SQL,具體操作為: SQL> @?/rdbms/admin/prvtcmpr.plbPackage created.Grant succeeded.Package body created.No errors.Package body created.No errors.Type body created.No errors. SQL> @?/rdbms/admin/dbmscomp.sqlPackage created.Synonym created.Grant succeeded.No errors.DBMS_COMPRESSION包在對表壓縮進行評估時,默認表最少數(shù)據(jù)為1000000行,可能在你的測試庫中沒有這么多數(shù)據(jù),我們可以修改這個下限;通過將COMP_RATIO_MINROWS常數(shù)修改為1后,就可以分析最小為1行的表了:SQL>create or replace package sys.dbms_compression authid current_user isCOMP_NOCOMPRESS CONSTANT NUMBER := 1;COMP_FOR_OLTP CONSTANT NUMBER := 2;COMP_FOR_QUERY_HIGH CONSTANT NUMBER := 4;COMP_FOR_QUERY_LOW CONSTANT NUMBER := 8;COMP_FOR_ARCHIVE_HIGH CONSTANT NUMBER := 16;COMP_FOR_ARCHIVE_LOW CONSTANT NUMBER := 32;COMP_RATIO_MINROWS CONSTANT NUMBER := 10;COMP_RATIO_ALLROWS CONSTANT NUMBER := -1;PROCEDURE get_compression_ratio(scratchtbsname IN varchar2,ownname IN varchar2,tabname IN varchar2,partname IN varchar2,comptype IN number,blkcnt_cmp OUT PLS_INTEGER,blkcnt_uncmp OUT PLS_INTEGER,row_cmp OUT PLS_INTEGER,row_uncmp OUT PLS_INTEGER,cmp_ratio OUT NUMBER,comptype_str OUT varchar2,subset_numrows IN number DEFAULT COMP_RATIO_MINROWS);function get_compression_type(ownname IN varchar2,tabname IN varchar2,row_id IN rowid) return number;PROCEDURE incremental_compress(ownname IN dba_objects.owner%type,tabname IN dba_objects.object_name%type,partname IN dba_objects.subobject_name%type,colname IN varchar2,dump_on IN number default 0,autocompress_on IN number default 0,where_clause IN varchar2 default '');end dbms_compression;Package created.SQL> alter package dbms_compression compile body;Package body altered.接下來我們通過建立一個基于TPC-D的測試的Schema,保證各表上有較多的數(shù)據(jù),并且數(shù)據(jù)有一定的擬真度:SQL> select table_name,num_rows,blocks from user_tables ;TABLE_NAME NUM_ROWS BLOCKS ------------------------------ ---------- ---------- DSS_SUPPLIER 20000 496 DSS_PART 400000 7552 DSS_REGION 5 5 DSS_PARTSUPP 1600000 29349 DSS_LINEITEM 12000000 221376 DSS_ORDER 3000000 48601 DSS_CUSTOMER 300000 6922 DSS_NATION 25 5現(xiàn)在可以進行壓縮評估了,我們針對測試模型Schema編輯以下匿名塊并運行SQL> set serveroutput on; SQL> declarecmp_blk_cnt binary_integer;uncmp_blk_cnt binary_integer;cmp_rows binary_integer;uncmp_rows binary_integer;cmp_ratio number;cmp_typ varchar2(100); BEGINfor i in (SELECT TABLE_NAMEfrom dba_tableswhere compression = 'DISABLED'and owner = 'MACLEAN' and num_rows>1000000) loopfor j in 1 .. 5 loopdbms_compression.get_compression_ratio(scratchtbsname => 'SCRATCH',ownname => 'MACLEAN',tabname => i.table_name,partname => NULL,comptype => power(2, j),blkcnt_cmp => cmp_blk_cnt,blkcnt_uncmp => uncmp_blk_cnt,row_cmp => cmp_rows,row_uncmp => uncmp_rows,cmp_ratio => cmp_ratio,comptype_str => cmp_typ);dbms_output.put_line(i.table_name || '--' || 'compress_type is ' ||cmp_typ || ' ratio :' ||to_char(cmp_ratio, '99.9') || '%');end loop;end loop; end; / DSS_ORDER--compress_type is "Compress For OLTP" ratio : 1.1% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_ORDER--compress_type is "Compress For Query High" ratio : 2.7% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_ORDER--compress_type is "Compress For Query Low" ratio : 1.7% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_ORDER--compress_type is "Compress For Archive High" ratio : 2.9% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_ORDER--compress_type is "Compress For Archive Low" ratio : 2.7% DSS_PARTSUPP--compress_type is "Compress For OLTP" ratio : .9% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_PARTSUPP--compress_type is "Compress For Query High" ratio : 1.8% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_PARTSUPP--compress_type is "Compress For Query Low" ratio : 1.2% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_PARTSUPP--compress_type is "Compress For Archive High" ratio : 1.9% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_PARTSUPP--compress_type is "Compress For Archive Low" ratio : 1.8% DSS_LINEITEM--compress_type is "Compress For OLTP" ratio : 1.4% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_LINEITEM--compress_type is "Compress For Query High" ratio : 3.5% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_LINEITEM--compress_type is "Compress For Query Low" ratio : 2.3% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_LINEITEM--compress_type is "Compress For Archive High" ratio : 4.3% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows DSS_LINEITEM--compress_type is "Compress For Archive Low" ratio : 3.7%PL/SQL procedure successfully completed. 可以從上述測試看到,"Compress For Archive High"壓縮率最高,該類型最適合于數(shù)據(jù)歸檔存儲,但其算法復(fù)雜度高于"Compress For Archive Low",壓縮耗時亦隨之上升。 總體壓縮率都較低,這同TPC-D測試的數(shù)據(jù)建模有一定關(guān)聯(lián),我們再使用一組TPC-H的測試數(shù)據(jù)來模擬壓縮: SQL> conn liu/liu; Connected.SQL> select num_rows,blocks,table_name from user_tables;NUM_ROWS BLOCKS TABLE_NAME ---------- ---------- ------------------------------3000000 46817 H_ORDER300000 6040 H_CUSTOMER12000000 221376 H_LINEITEM25 5 H_NATION400000 7552 H_PART5 5 H_REGION1600000 17491 H_PARTSUPP20000 496 H_SUPPLIER8 rows selected.SQL> set serveroutput on; SQL> declarecmp_blk_cnt binary_integer;uncmp_blk_cnt binary_integer;cmp_rows binary_integer;uncmp_rows binary_integer;cmp_ratio number;cmp_typ varchar2(100); BEGINfor i in (SELECT TABLE_NAMEfrom dba_tableswhere compression = 'DISABLED'and owner = 'LIU' and num_rows>1000000) loopfor j in 1 .. 5 loopdbms_compression.get_compression_ratio(scratchtbsname => 'SCRATCH',ownname => 'LIU',tabname => i.table_name,partname => NULL,comptype => power(2, j),blkcnt_cmp => cmp_blk_cnt,blkcnt_uncmp => uncmp_blk_cnt,row_cmp => cmp_rows,row_uncmp => uncmp_rows,cmp_ratio => cmp_ratio,comptype_str => cmp_typ);dbms_output.put_line(i.table_name || '--' || 'compress_type is ' ||cmp_typ || ' ratio :' ||to_char(cmp_ratio, '99.9') || '%');end loop;end loop; end; / H_ORDER--compress_type is "Compress For OLTP" ratio : 1.1% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_ORDER--compress_type is "Compress For Query High" ratio : 5.2% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_ORDER--compress_type is "Compress For Query Low" ratio : 2.9% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_ORDER--compress_type is "Compress For Archive High" ratio : 7.2% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_ORDER--compress_type is "Compress For Archive Low" ratio : 5.5% H_PARTSUPP--compress_type is "Compress For OLTP" ratio : .9% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_PARTSUPP--compress_type is "Compress For Query High" ratio : 5.1% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_PARTSUPP--compress_type is "Compress For Query Low" ratio : 2.7% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_PARTSUPP--compress_type is "Compress For Archive High" ratio : 7.2% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_PARTSUPP--compress_type is "Compress For Archive Low" ratio : 5.3% H_LINEITEM--compress_type is "Compress For OLTP" ratio : 1.4% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_LINEITEM--compress_type is "Compress For Query High" ratio : 5.2% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_LINEITEM--compress_type is "Compress For Query Low" ratio : 3.0% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_LINEITEM--compress_type is "Compress For Archive High" ratio : 7.4% Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 1000001 rows H_LINEITEM--compress_type is "Compress For Archive Low" ratio : 5.6%PL/SQL procedure successfully completed. 可以看到相比TPC-D的測試用數(shù)據(jù),TPC-H建立的數(shù)據(jù)更具可壓縮性。 PS: TPC-D represents a broad range of decision support (DS) applications that require complex, long running queries against large complex data structures. Real-world business questions were written against this model, resulting in 17 complex queries. The TPC Benchmark?H (TPC-H) is a decision support benchmark. It consists of a suite of business oriented ad-hoc queries and concurrent data modifications. The queries and the data populating the database have been chosen to have broad industry-wide relevance. This benchmark illustrates decision support systems that examine large volumes of data, execute queries with a high degree of complexity, and give answers to critical business questions. The performance metric reported by TPC-H is called the TPC-H Composite Query-per-Hour Performance Metric (QphH@Size), and reflects multiple aspects of the capability of the system to process queries. These aspects include the selected database size against which the queries are executed, the query processing power when queries are submitted by a single stream, and the query throughput when queries are submitted by multiple concurrent users. The TPC-H Price/Performance metric is expressed as $/QphH@Size.

轉(zhuǎn)載于:https://www.cnblogs.com/macleanoracle/archive/2010/06/02/2967423.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的11g compression 新特性(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品国产三级国产播12软件 | 国产欧美综合一区 | 欧美成人免费 | 天天操天天摸天天干 | 最新av电影网站 | 色婷婷免费视频 | 免费国产羞羞网站视频 | 日韩精品视频一区二区三区 | 久青草免费视频 | 久久激情综合网 | 亚洲成人一区在线观看 | 最近中文字幕第一页 | 久久久性| 中文字幕11页中文字幕11页 | 无码av免费毛片一区二区 | 三年电影在线观看 | 成年免费视频 | 中文字幕日韩三级 | 高清av网址 | 碰碰色| 久久久99久久 | 日本特黄色片 | 国产视频综合 | 亚洲国产精品二区 | 欧美日韩国产免费 | wwwsss在线观看| 999午夜 | 18禁免费观看网站 | 理想之城连续剧40集免费播放 | 又爽又黄又无遮挡 | 天堂视频免费在线观看 | 亚洲激情在线观看视频 | 影音av资源 | 97人妻人人揉人人躁人人 | 我要看免费的毛片 | 综合激情伊人 | 国产色在线,com | 久久成人在线观看 | 污片免费网站 | 国内自拍视频在线播放 | 欧美日韩午夜激情 | 成人在线免费看片 | 国产亚洲精品久久久久久青梅 | 114国产精品久久免费观看 | 欧美精品偷拍 | 男女污污软件 | 国产激情av一区二区三区 | 色综合激情网 | 日一区二区 | 国产孕妇一区二区三区 | 放荡闺蜜高h苏桃情事h | 日韩高清一区 | 国产精品suv一区二区 | 五月婷婷小说 | 精品www久久久久久奶水 | 国产精品后入内射日本在线观看 | 日韩精品第一 | 亚洲不卡av一区二区 | 神宫寺奈绪一区二区三区 | 免费超碰在线 | 日p视频在线观看 | 中国爆后菊女人的视频 | 办公室荡乳欲伦交换bd电影 | 日韩在线观看视频一区 | 波多野一区 | 国产三级在线看 | 91色在线视频 | 熟女俱乐部一区二区 | 久久人人看 | 日韩欧美一区二区免费 | 国产精品天天av精麻传媒 | 性欧美8khd高清极品 | www.香蕉网 | 久草超碰在线 | 成人国产精品免费观看 | 色噜噜影院 | 在线观看亚洲欧美 | 国产伦精品 | 女生被男生桶 | 日韩视频在线免费 | 日本一区二区在线看 | av黄色免费网站 | 久久久久99精品成人片试看 | 亚洲精品久久久久久久久久久久久 | 国产夫妻av | 顶级毛片 | 国产在线中文字幕 | 亚洲国产av一区 | 国产人成一区二区三区影院 | 国产欧美日韩久久 | 快色在线观看 | 亚洲精品1区2区 | 国产精品不卡视频 | 欧美成人综合色 | 日韩在线91| 91久久精品一区二区 | 一级伦理片 | 永久免费无码av网站在线观看 | 9999免费视频 |