电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle?range時間范圍自動分區的創建方式

瀏覽:167日期:2023-05-30 16:13:54
目錄
  • Oracle range時間范圍自動分區
  • 1.創建測試表,分區字段CDAT NUMBER()
  • 2.執行增加分區語句
  • 3.創建新的分區測試空表
  • ----------使用企業版ORACLE進行測試分區以及分區自增長---------
    • 1.使用固定的分區,每月新增數據需要手工增加對應分區
      • 1.1創建相應固定分區表
      • 1.2 將原有表中2022年底數據插入(原表有202201-202205的月底數據)
      • 1.3 新增一份分區
      • 1.4 插入大于20220501的數據實際就是原表中CDAT是20220531的數據
      • 1.5 刪除新增的分區,再次新建分區日期是20230501
      • 1.6 再次插入大于20220501的數據實際就是原表中CDAT是20220531的數據
    • 2.自增長分區
      • 2.1創建一張表,分區字段為CDAT,字段類型為NUMBER;
      • 2.2使用insert語句將原未分區表數據插入分區測試表。

Oracle range時間范圍自動分區

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

分區的優點:

1.改善查詢性能:對分區對象的查詢可以僅搜索自己關心的分區,提高檢索速度。

2.增強可用性:如果表的某個分區出現故障,表在其他分區的數據仍然可用;

3.維護方便:如果表的某個分區出現故障,需要修復數據,只修復該分區即可;可單獨備份某分區;

4.均衡I/O:可以把不同的分區映射到磁盤以平衡I/O,改善整個系統性能。

分區的缺點:

1.已經存在的表不能直接轉化為分區表。不過 Oracle 提供了在線重定義表的功能。

分區的特殊性:

1.含有 LONG、LONGRAW 數據類型的表不能進行分區,一般分區類型為varchar,varchar2,number,date
2.每個表的分區或子分區數的總數不能超過 1023 個。

使用分區的場景:

1.單表過大,當表大小超過2G,或對于OLTP(On-Line Transaction Processing聯機事務處理過程(OLTP),也稱為面向交易的處理過程,其基本特征是前臺接收的用戶數據可以立即傳送到計算中心進行處理,并在很短的時間內給出處理結果,是對用戶操作快速響應的方式之一)系統,表的記錄超過1000萬。

2.歷史數據需要分離出來,新的數據被加到新的分區中。

3.表數據被使用時特征明顯,例如當年,整月之類。

4.基于這類表大部分的查詢都是只查詢其中一部分數據。

5.按時間段刪除成批的表數據。

6.經常執行并行查詢的表

7.對其中一部分分區表數據可用性要求高

1.創建測試表,分區字段CDAT NUMBER()

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

2.執行增加分區語句

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

提示報錯:

經過分析:提示ORA-14501: object is not partitioned對象未分區。

3.創建新的分區測試空表

--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));

報錯:

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

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

值為FALSE則不支持。注意標準版是不支持分區操作的,企業版才支持。

----------使用企業版ORACLE進行測試分區以及分區自增長---------

1.使用固定的分區,每月新增數據需要手工增加對應分區

1.1創建相應固定分區表

----創建分區表drop table    rp_report_test_xy;-- Create tablecreate 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年底數據插入(原表有202201-202205的月底數據)

報錯原因:由于原表有20220531的數據不在已有的分區內插入數據報錯,將數據限制在20220501之前重新插入。

---查詢現有分區select * from user_tab_partitions where table_name="RP_REPORT_TEST_XY"

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

1.3 新增一份分區

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

1.4 插入大于20220501的數據實際就是原表中CDAT是20220531的數據

1.5 刪除新增的分區,再次新建分區日期是20230501

--刪除分區ALTER TABLE rp_report_test_xy DROP PARTITION P4;---重新插入分區ALTER TABLE rp_report_test_xy ADD PARTITION P4 VALUES LESS THAN("20230501");

1.6 再次插入大于20220501的數據實際就是原表中CDAT是20220531的數據

--查詢當前新分區數據select distinct cdat from rp_report_test_xy  partition(P4)---20220531

2.自增長分區

2.1創建一張表,分區字段為CDAT,字段類型為NUMBER;

原有未分區的表數據基數為3000多萬

執行報錯:

將創建表語句中CDAT由NUMBER改為DATE則創建成功。

2.2使用insert語句將原未分區表數據插入分區測試表。

---查詢現有分區select * from user_tab_partitions where table_name="RP_REPORT_TEST_XY"

插入數據:注意原NUMBER在插入時要TO_DATE轉換。原表取CDAT是2022年的所有數據插入。

--查看當前分區的數據select * from  rp_report_test_xy partition(SYS_P76);

發現20220131的數據劃分到了20220201的區間,20220228劃分到了20220301的區間。

--查看當前分區的數據select * from  rp_report_test_xy partition(SYS_P76);

結果 :cdat是20221130的數據。

--刪除某分區ALTER TABLE  rp_report_test_xy DROP PARTITION SYS_P76;

到此這篇關于ORACLE分區(range時間范圍自動分區)的文章就介紹到這了,更多相關oracle分區內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
相關文章:
主站蜘蛛池模板: 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | 软膜天花_软膜灯箱_首选乐创品牌_一站式天花软膜材料供应商! | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 杭州双螺杆挤出机-百科 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 硬齿面减速机[型号全],ZQ减速机-淄博久增机械 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 苏州教学设备-化工教学设备-环境工程教学模型|同科教仪 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 |