Oracle 12C下的表壓縮

2021-07-30 04:15:49 字數 1480 閱讀 5792

oracle12c支援以下三種表壓縮方法

⑴基本表壓縮:(compress base)壓縮比率高,cpu開心最小,適用於直接路徑插入操作。常用於dss

注:這樣型別的壓縮,除了直接路徑插入會壓縮外,普通的插入要是讓資料塊達到pctfree設定的標準,也會自動壓縮資料塊,以減少其原來佔據的空間。

⑵高階行壓縮:(row store compress advanced)壓縮比率高,cpu開心最小,適用於所有dml操作。常用於oltp,dss。

⑶hybrid columnar壓縮:通過exadata實現

表壓縮對資料庫應用程式是透明的

⑴表壓縮子句僅對按堆組織的表有效,【compress】關鍵字用於啟動壓縮,【nocompress】關鍵字用於禁用表壓縮。預設是【nocompress】

⑵使用基本壓縮時,oracle資料庫伺服器將在使用諸如直接載入或【create table as select】等操作執行批量載入時壓縮資料。

⑶使用高階行壓縮時,oracle資料庫在對錶執行所有dml操作期間都會壓縮資料。

啟用基本壓縮:建議為批量載入資料倉儲使用這種方法,最大化塊中的連續空閒空間。

create table....compress basic;  --12c使用【compress】或【compress basic】都是啟用基本的表壓縮。

alter table 表名 compress for direct_load operations;  --12c之前的使用方法

注:原始匯入程式(imp)不支援直接路徑insert,因此無法匯入壓縮格式的資料。壓縮消除了塊中因刪除操作而形成的空隙,使塊中的連續空閒空間達到最大化。

啟用高階行壓縮:建議為活動的oltp環境使用這種壓縮方法。

create table...row store compress advanced...;  --12c的方法

alter table 表名 compress for all operations; --12c之前的方法,也可以是【compress for oltp】

壓縮對pctfree的影響:

⑴採用基本壓縮的表使用pctfree值為0,以實現最大化壓縮,除非顯示設定pctfree子句的值,否則就是0.

⑵才用高階行壓縮的表或不壓縮的表,pctfree預設值是10,以便在最大化壓縮的同時扔允許以後對資料進行一些dml更改,除非顯示覆蓋該預設值。

指定表壓縮的限制:

⑴可以為堆表,分割槽表的分割槽和巢狀表的儲存指定表壓縮。

⑵無法為列數多餘255的表指定基本壓縮和高階壓縮。

⑶如果表是針對直接載入而壓縮的,則無法刪除列。

⑷如果表使用的高階行壓縮,則可以刪除列。

dbms_compression程式包:通過它可以知道要壓縮表的預期壓縮比率

⑴dbms_compression.get_compression_ratio  --針對未壓縮的表給出可行的壓縮比率

⑵dbms_compression.get_compression_type  --函式,針對給定行返回壓縮型別

Windows下安裝Oracle12C(二)

參考 windows下安裝oracle12c 一 1.安裝完成後,啟動sqlplus,然後輸入內建的使用者名稱和密碼 使用者名稱 sys 密碼 as sysdba 2.正常登陸後輸入如下 注意分號不能缺失 oracle的sql也應該如此,否則會報2,其實是提示這是第二行的意思 create user...

Windows下安裝Oracle12C(一)

2,解壓之後,如下圖,點選setup.exe稍等一會兒 3,開始安裝 不選點選下一步,或者直接點選下一步,彈出提醒的會選是就可以了。4,建立和配置資料庫,直接點選下一步 5,預設桌面類,直接點選下一步 6,選中建立新的windows使用者,使用者名稱跟密碼自己取,取個簡單的比較好,容易記住。填好之後...

oracle12c建立使用者

本人在centos7安裝好資料庫 oracle12c 準備建立乙個使用者的時候 報錯了,如下 sql create user bpmx3 identified by bpmx3 create user bpmx3 identified by bpmx3 error at line 1 ora 650...