最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle?range時(shí)間范圍自動(dòng)分區(qū)的創(chuàng)建方式

 更新時(shí)間:2023年04月18日 10:33:27   作者:PAO_PAOHAHA  
這篇文章主要介紹了Oracle??range時(shí)間范圍自動(dòng)分區(qū)的創(chuàng)建方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Oracle  range時(shí)間范圍自動(dòng)分區(qū)

Oracle11G之前的版本,分區(qū)大概分為4種:范圍分區(qū):range 、列表分區(qū):list、哈希分區(qū):hash、復(fù)合分區(qū):range+list or hash);

分區(qū)的優(yōu)點(diǎn):

1.改善查詢性能:對(duì)分區(qū)對(duì)象的查詢可以僅搜索自己關(guān)心的分區(qū),提高檢索速度。

2.增強(qiáng)可用性:如果表的某個(gè)分區(qū)出現(xiàn)故障,表在其他分區(qū)的數(shù)據(jù)仍然可用;

3.維護(hù)方便:如果表的某個(gè)分區(qū)出現(xiàn)故障,需要修復(fù)數(shù)據(jù),只修復(fù)該分區(qū)即可;可單獨(dú)備份某分區(qū);

4.均衡I/O:可以把不同的分區(qū)映射到磁盤(pán)以平衡I/O,改善整個(gè)系統(tǒng)性能。

分區(qū)的缺點(diǎn):

1.已經(jīng)存在的表不能直接轉(zhuǎn)化為分區(qū)表。不過(guò) Oracle 提供了在線重定義表的功能。

分區(qū)的特殊性:

1.含有 LONG、LONGRAW 數(shù)據(jù)類型的表不能進(jìn)行分區(qū),一般分區(qū)類型為varchar,varchar2,number,date
2.每個(gè)表的分區(qū)或子分區(qū)數(shù)的總數(shù)不能超過(guò) 1023 個(gè)。

使用分區(qū)的場(chǎng)景:

1.單表過(guò)大,當(dāng)表大小超過(guò)2G,或?qū)τ贠LTP(On-Line Transaction Processing聯(lián)機(jī)事務(wù)處理過(guò)程(OLTP),也稱為面向交易的處理過(guò)程,其基本特征是前臺(tái)接收的用戶數(shù)據(jù)可以立即傳送到計(jì)算中心進(jìn)行處理,并在很短的時(shí)間內(nèi)給出處理結(jié)果,是對(duì)用戶操作快速響應(yīng)的方式之一)系統(tǒng),表的記錄超過(guò)1000萬(wàn)。

2.歷史數(shù)據(jù)需要分離出來(lái),新的數(shù)據(jù)被加到新的分區(qū)中。

3.表數(shù)據(jù)被使用時(shí)特征明顯,例如當(dāng)年,整月之類。

4.基于這類表大部分的查詢都是只查詢其中一部分?jǐn)?shù)據(jù)。

5.按時(shí)間段刪除成批的表數(shù)據(jù)。

6.經(jīng)常執(zhí)行并行查詢的表

7.對(duì)其中一部分分區(qū)表數(shù)據(jù)可用性要求高

1.創(chuàng)建測(cè)試表,分區(qū)字段CDAT NUMBER()

---建表
create table FQ_TEST 
(contract_no varchar2(20),
loan_st varchar2(8),
amt  decimal(20,6)
);
--創(chuàng)建自增序列contract_no
create sequence SEQ_FQTEST_con 
 minvalue 1 
 maxvalue 999999   
 increment by 1    
 start with 1;
--創(chuàng)建觸發(fā)器
create or replace trigger TRIG_FQTEST_con
before insert on FQ_TEST /*觸發(fā)條件:當(dāng)表FQ_TEST執(zhí)行插入操作時(shí)觸發(fā)此觸發(fā)器*/
 for each row   /*對(duì)每一行都檢測(cè)是否觸發(fā)*/
begin
/*觸發(fā)后執(zhí)行的動(dòng)作,在此是取得序列SEQ_FQTEST_con的下一個(gè)值插入到表BC_ES_IK_HOT_WORD中的id字段中*/
select SEQ_FQTEST_con.nextval into :new.CONTRACT_NO from dual;
end;

2.執(zhí)行增加分區(qū)語(yǔ)句

ALTER TABLE FQ_TEST ADD PARTITION P1 VALUES LESS THAN (20220131); 

提示報(bào)錯(cuò):

經(jīng)過(guò)分析:提示ORA-14501: object is not partitioned對(duì)象未分區(qū)。

3.創(chuàng)建新的分區(qū)測(cè)試空表

--DROP  TABLE FQ_TEST_partition;
create table FQ_TEST_partition
(contract_no varchar2(20),
loan_st varchar2(8),
amt  decimal(20,6)
)
partition by range (loan_st)
(
  partition P1 values less than (20220131)
);

報(bào)錯(cuò):

分析:Oracle未啟用Partitioning功能,查詢當(dāng)前版本是否支持

SELECT VALUE FROM V$OPTION WHERE UPPER(PARAMETER)= 'PARTITIONING';

值為FALSE則不支持。注意標(biāo)準(zhǔn)版是不支持分區(qū)操作的,企業(yè)版才支持。

----------使用企業(yè)版ORACLE進(jìn)行測(cè)試分區(qū)以及分區(qū)自增長(zhǎng)---------

1.使用固定的分區(qū),每月新增數(shù)據(jù)需要手工增加對(duì)應(yīng)分區(qū)

1.1創(chuàng)建相應(yīng)固定分區(qū)表

----創(chuàng)建分區(qū)表
drop table    rp_report_test_xy;
-- Create table
create table rp_report_test_xy
(
  contract_code           VARCHAR2(300),
  cdat                     NUMBER(8)
)
partition by range(cdat)-- interval (NUMTOYMINTERVAL(1,'MONTH'))
(
partition p1 values less than('20150101'),
partition p2 values less than('20220201'),
partition p3 values less than('20220501')
);

1.2 將原有表中2022年底數(shù)據(jù)插入(原表有202201-202205的月底數(shù)據(jù))

報(bào)錯(cuò)原因:由于原表有20220531的數(shù)據(jù)不在已有的分區(qū)內(nèi)插入數(shù)據(jù)報(bào)錯(cuò),將數(shù)據(jù)限制在20220501之前重新插入。

---查詢現(xiàn)有分區(qū)
select * from user_tab_partitions where table_name='RP_REPORT_TEST_XY'

---查詢插入的數(shù)據(jù)具體分區(qū)
select distinct cdat from rp_report_test_xy  partition(P2);---20220131
select distinct cdat from rp_report_test_xy  partition(P3)---20220430,20220228,20220331

1.3 新增一份分區(qū)

ALTER TABLE rp_report_test_xy ADD PARTITION P4 VALUES LESS THAN('20220531');

1.4 插入大于20220501的數(shù)據(jù)實(shí)際就是原表中CDAT是20220531的數(shù)據(jù)

1.5 刪除新增的分區(qū),再次新建分區(qū)日期是20220601

--刪除分區(qū)
ALTER TABLE rp_report_test_xy DROP PARTITION P4;
---重新插入分區(qū)
ALTER TABLE rp_report_test_xy ADD PARTITION P4 VALUES LESS THAN('20220601');

1.6 再次插入大于20220501的數(shù)據(jù)實(shí)際就是原表中CDAT是20220531的數(shù)據(jù)

--查詢當(dāng)前新分區(qū)數(shù)據(jù)
select distinct cdat from rp_report_test_xy  partition(P4)---20220531

2.自增長(zhǎng)分區(qū)

2.1創(chuàng)建一張表,分區(qū)字段為CDAT,字段類型為NUMBER;

原有未分區(qū)的表數(shù)據(jù)基數(shù)為3000多萬(wàn)

執(zhí)行報(bào)錯(cuò):

將創(chuàng)建表語(yǔ)句中CDAT由NUMBER改為DATE則創(chuàng)建成功。

2.2使用insert語(yǔ)句將原未分區(qū)表數(shù)據(jù)插入分區(qū)測(cè)試表。

---查詢現(xiàn)有分區(qū)
select * from user_tab_partitions where table_name='RP_REPORT_TEST_XY'

插入數(shù)據(jù):注意原NUMBER在插入時(shí)要TO_DATE轉(zhuǎn)換。原表取CDAT是2022年的所有數(shù)據(jù)插入。

--查看當(dāng)前分區(qū)的數(shù)據(jù)
select * from  rp_report_test_xy partition(SYS_P76);

發(fā)現(xiàn)20220131的數(shù)據(jù)劃分到了20220201的區(qū)間,20220228劃分到了20220301的區(qū)間。

--查看當(dāng)前分區(qū)的數(shù)據(jù)
select * from  rp_report_test_xy partition(SYS_P76);

結(jié)果 :cdat是20221130的數(shù)據(jù)。

--刪除某分區(qū)
ALTER TABLE  rp_report_test_xy DROP PARTITION SYS_P76;

到此這篇關(guān)于ORACLE分區(qū)(range時(shí)間范圍自動(dòng)分區(qū))的文章就介紹到這了,更多相關(guān)oracle分區(qū)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Oracle對(duì)于死鎖的處理方法

    Oracle對(duì)于死鎖的處理方法

    這篇文章主要介紹了Oracle對(duì)于死鎖的處理方法,需要的朋友可以參考下
    2014-07-07
  • 全新感受Oracle 9i

    全新感受Oracle 9i

    全新感受Oracle 9i...
    2007-03-03
  • Oracle11g audit審計(jì)配置全過(guò)程

    Oracle11g audit審計(jì)配置全過(guò)程

    Oracle審計(jì)功能是數(shù)據(jù)庫(kù)安全管理的重要組成部分,能夠幫助管理員監(jiān)控和記錄數(shù)據(jù)庫(kù)操作,確保安全和合規(guī),審計(jì)分為標(biāo)準(zhǔn)審計(jì)、細(xì)粒度審計(jì)和統(tǒng)一審計(jì)等類型,可通過(guò)設(shè)置AUDIT_TRAIL參數(shù)和相關(guān)命令開(kāi)啟和配置,同時(shí),審計(jì)記錄需要定期查看和清理,以維護(hù)系統(tǒng)性能和存儲(chǔ)空間
    2024-10-10
  • 自動(dòng)備份Oracle數(shù)據(jù)庫(kù)

    自動(dòng)備份Oracle數(shù)據(jù)庫(kù)

    自動(dòng)備份Oracle數(shù)據(jù)庫(kù)...
    2007-03-03
  • Oracle在PL/SQL中使用子查詢

    Oracle在PL/SQL中使用子查詢

    這篇文章介紹了Oracle在PL/SQL中使用子查詢的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Oracle解決ORA-01034:?ORACLE?not?available問(wèn)題的辦法

    Oracle解決ORA-01034:?ORACLE?not?available問(wèn)題的辦法

    這篇文章主要給大家介紹了關(guān)于Oracle解決ORA-01034:?ORACLE?not?available問(wèn)題的辦法,今天連接oracle出現(xiàn)如下錯(cuò)誤,在網(wǎng)查了相關(guān)資料說(shuō)出現(xiàn)ora-01034錯(cuò)誤的原因是因?yàn)閿?shù)據(jù)庫(kù)的控制文件沒(méi)有加在startup mount后,需要的朋友可以參考下
    2024-02-02
  • Oracle Instr函數(shù)實(shí)例講解

    Oracle Instr函數(shù)實(shí)例講解

    instr函數(shù)為字符查找函數(shù),其功能是查找一個(gè)字符串在另一個(gè)字符串中首次出現(xiàn)的位置,instr函數(shù)在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置,這篇文章主要介紹了Oracle Instr函數(shù)實(shí)例講解,需要的朋友可以參考下
    2022-11-11
  • Oracle隨機(jī)函數(shù)之dbms_random使用詳解

    Oracle隨機(jī)函數(shù)之dbms_random使用詳解

    dbms_random是oracle提供的一個(gè)隨機(jī)函數(shù)包,本文將詳細(xì)介紹函數(shù)的使用,需要的朋友可以參考下
    2012-12-12
  • Oracle中死事務(wù)的檢查語(yǔ)句

    Oracle中死事務(wù)的檢查語(yǔ)句

    本節(jié)主要介紹了Oracle中死事務(wù)的檢查語(yǔ)句,需要的朋友可以參考下
    2014-07-07
  • oracle數(shù)據(jù)庫(kù)索引失效

    oracle數(shù)據(jù)庫(kù)索引失效

    這篇文章主要介紹了oracle數(shù)據(jù)庫(kù)索引失效的原因及如何避免索引失效,有需要的小伙伴參考下。
    2015-02-02

最新評(píng)論

略阳县| 女性| 棋牌| 郎溪县| 沙坪坝区| 龙江县| 禹州市| 肥东县| 冷水江市| 青浦区| 亳州市| 永泰县| 启东市| 黄骅市| 曲阳县| 成安县| 洱源县| 宁乡县| 龙岩市| 汾阳市| 略阳县| 仁化县| 儋州市| 梨树县| 东乌| 寿阳县| 玉溪市| 龙里县| 望江县| 桃园县| 景宁| 通渭县| 澄江县| 铜陵市| 元阳县| 广东省| 唐海县| 来安县| 贺州市| 稷山县| 龙岩市|