国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

Oracle的分區(qū)管理

2024-08-29 13:43:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  一、 分區(qū)概述:

為了簡(jiǎn)化數(shù)據(jù)庫(kù)大表的治理,Oracle8推出了分區(qū)選項(xiàng)。分區(qū)將表分離在若干不同的表空間上,用分而治之的方法來(lái)支撐無(wú)限膨脹的大表,給大表在物理一級(jí)的可治理性。將大表分割成較小的分區(qū)可以改善表的維護(hù)、備份、恢復(fù)、事務(wù)及查詢性能。 針對(duì)當(dāng)前社保及電信行業(yè)的大量日常業(yè)務(wù)數(shù)據(jù),可以推薦使用ORACLE8的該選項(xiàng)。

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

1 、增強(qiáng)可用性:假如表的一個(gè)分區(qū)由于系統(tǒng)故障而不能使用,表的其余好的分區(qū)仍然可以使用;

2 、減少關(guān)閉時(shí)間:假如系統(tǒng)故障只影響表的一部分分區(qū),那么只有這部分分區(qū)需要修復(fù),故能比整個(gè)大表修復(fù)花的時(shí)間更少;

3 、維護(hù)輕松:假如需要重建表,獨(dú)立治理每個(gè)分區(qū)比治理單個(gè)大表要輕松得多;

4 、均衡I/O:可以把表的不同分區(qū)分配到不同的磁盤(pán)來(lái)平衡I/O改善性能;

5 、改善性能:對(duì)大表的查詢、增加、修改等操作可以分解到表的不同分區(qū)來(lái)并行執(zhí)行,可使運(yùn)行速度更快;

6 、分區(qū)對(duì)用戶透明,最終用戶感覺(jué)不到分區(qū)的存在。

三、分區(qū)的治理:

1 、分區(qū)表的建立:

某公司的每年產(chǎn)生巨大的銷(xiāo)售記錄,DBA向公司建議每季度的數(shù)據(jù)放在一個(gè)分區(qū)內(nèi),以下示范的是該公司1999年的數(shù)據(jù)(假設(shè)每月產(chǎn)生30M的數(shù)據(jù)),操作如下:STEP1、建立表的各個(gè)分區(qū)的表空間:CREATE TABLESPACE ts_sale1999q1DATAFILE ‘/u1/oradata/sales/sales1999_q1.dat’SIZE 100MDEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)CREATE TABLESPACE ts_sale1999q2DATAFILE ‘/u1/oradata/sales/sales1999_q2.dat’SIZE 100MDEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)CREATE TABLESPACE ts_sale1999q3DATAFILE ‘/u1/oradata/sales/sales1999_q3.dat’SIZE 100MDEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)CREATE TABLESPACE ts_sale1999q4DATAFILE ‘/u1/oradata/sales/sales1999_q4.dat’SIZE 100MDEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)STEP2、建立基于分區(qū)的表:CREATE TABLE sales(invoice_no NUMBER,...sale_date DATE NOT NULL )PARTITION BY RANGE (sale_date)(PARTITION sales1999_q1VALUES LESS THAN (TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)TABLESPACE ts_sale1999q1,PARTITION sales1999_q2VALUES LESS THAN (TO_DATE(‘1999-07-01’,’YYYY-MM-DD’)TABLESPACE ts_sale1999q2,PARTITION sales1999_q3VALUES LESS THAN (TO_DATE(‘1999-10-01’,’YYYY-MM-DD’)TABLESPACE ts_sale1999q3,PARTITION sales1999_q4VALUES LESS THAN (TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)TABLESPACE ts_sale1999q4 );2 、分區(qū)表的擴(kuò)容:

到了1999年年底,DBA應(yīng)向表中加入2000年的表空間,同樣是每季度一個(gè)表空間,由于公司業(yè)務(wù)欣欣向榮,預(yù)計(jì)每個(gè)分區(qū)為40M,操作如下。STEP1、建立表空間:CREATE TABLESPACE ts_sale2000q1DATAFILE ‘/u1/oradata/sales/sales2000_q1.dat’SIZE 130MDEFAULT STORAGE (INITIAL 40m NEXT 40m MINEXTENTS 3 PCTINCREASE 0)其他表空間ts_sale2000q2,ts_sale2000q3,ts_sales2000q4如法炮制。STEP2、為表添加表空間:ALTER TABLE salesADD PARTITION sales2000_q1VALUES LESS THAN (TO_DATE(‘2000-04-01’,’YYYY-MM-DD’)TABLESPACE ts_sale2000q1;其他分區(qū)sales2000_q1,sales2000_q1,sales2000_q1如法炮制。3 、刪除不必要的分區(qū):

公司規(guī)定:銷(xiāo)售的明細(xì)數(shù)據(jù)兩年內(nèi)必須保存在線。到2001年,DBA必須將1999年的數(shù)據(jù)備份(備份方法見(jiàn)5、EXPORT分區(qū)),將1999年的分區(qū)刪除,將空間供后來(lái)的數(shù)據(jù)使用。如此循環(huán),永遠(yuǎn)保持兩年的銷(xiāo)售數(shù)據(jù)在線。 STEP1、DROP 分區(qū):ALTER TABLE salesDROP PARTION sales1999_q1;
ALTER TABLE salesDROP PARTION sales1999_q2;ALTER TABLE salesDROP PARTION sales1999_q3;ALTER TABLE salesDROP PARTION sales1999_q4;STEP2、利用操作系統(tǒng)的工具刪除以上表空間占用的文件 (表空間基于裸設(shè)備無(wú)須次步),UNIX系統(tǒng)為例:oracle$ rm /u1/oradata/sales/sales1999_q1.datoracle$ rm /u1/oradata/sales/sales1999_q2.datoracle$ rm /u1/oradata/sales/sales1999_q3.datoracle$ rm /u1/oradata/sales/sales1999_q4.dat4 、分區(qū)的其他操作:

分區(qū)的其他操作包括截短分區(qū)(truncate),將存在的分區(qū)劃分為多個(gè)分區(qū)(split),交換分區(qū)(exchange),重命名(rename),為分區(qū)建立索引等。DBA可以根據(jù)適當(dāng)?shù)那闆r使用。以下僅說(shuō)明分裂分區(qū)(split),例如該公司1999年第四季度銷(xiāo)售明細(xì)數(shù)據(jù)急劇增加(因?yàn)閼c國(guó)慶、迎千禧、賀回歸),DBA向公司建議將第四季度的分區(qū)劃分為兩個(gè)分區(qū),每個(gè)分區(qū)放兩個(gè)月份的數(shù)據(jù),操作如下:STEP1、按(1)的方法建立兩個(gè)分區(qū)的表空間ts_sales1999q4p1,ts_sales1999q4p2;STEP2、給表添加兩個(gè)分區(qū)sales1999_q4_p1,sales1999_q4_p2;STEP3、分裂分區(qū):ALTER TABLE salesSPLIT PARTITON sales1999_q4AT TO_DATE (‘1999-11-01’,’YYYY-MM-DD’)INTO (partition sales1999_q4_p1, partition sales1999_q4_p2)5 、查看分區(qū)信息:DBA要查看表的分區(qū)信息,可查看數(shù)據(jù)字典USER_EXTENTS,操作如下:SVRMGRL>SELECT * FROM user_extents WHERE SEGMENT_NAME=’SALES’;SEGMENT_NA PARTITION_ SEGMENT_TYPE TABLESPACE---------- ------------ --------------- --------------SALES SALES1999_Q1 TABLE PARTITION TS_SALES1999Q1SALES SALES1999_Q2 TABLE PARTITION TS_SALES1999Q2SALES SALES1999_Q3 TABLE PARTITION TS_SALES1999Q3SALES SALES1999_Q4 TABLE PARTITION TS_SALES1999Q4SALES SALES2000_Q1 TABLE PARTITION TS_SALES1999Q1SALES SALES2000_Q2 TABLE PARTITION TS_SALES1999Q2SALES SALES2000_Q3 TABLE PARTITION TS_SALES1999Q3SALES SALES2000_Q4 TABLE PARTITION TS_SALES1999Q45 、EXPORT分區(qū):

ORACLE8的EXPORT 工具可在表的分區(qū)以及導(dǎo)出數(shù)據(jù),例如到2001年,DBA必須將1999年的數(shù)據(jù)按分區(qū)導(dǎo)出,操作如下:oracle$ exp sales/sales_passWord tables=sales:sales1999_q1 rows=Yfile=sales1999_q1.dmporacle$ exp sales/sales_password tables=sales:sales1999_q2 rows=Yfile=sales1999_q2.dmporacle$ exp sales/sales_password tables=sales:sales1999_q3 rows=Yfile=sales1999_q3.dmporacle$ exp sales/sales_password tables=sales:sales1999_q4 rows=Yfile=sales1999_q4.dmp6 、IMPORT分區(qū):

ORACLE8的IMPORT 工具可在表的分區(qū)以及導(dǎo)入數(shù)據(jù),例如在2001年,用戶要查看1999年的數(shù)據(jù),DBA必須導(dǎo)入1999年的數(shù)據(jù),使之在線,操作如下:STEP1、建立表的1999年的四個(gè)表空間和相應(yīng)的分區(qū),參照(2);STEP2、導(dǎo)入數(shù)據(jù):oracle$ imp sales/sales_password FILE =sales1999_q1.dmpTABLES = (sales:sales1999_q1) IGNORE=yoracle$ imp sales/sales_password FILE =sales1999_q2.dmpTABLES = (sales:sales1999_q2) IGNORE=yoracle$ imp sales/sales_password FILE =sales1999_q3.dmpTABLES = (sales:sales1999_q3) IGNORE=yoracle$ imp sales/sales_password FILE =sales1999_q4.dmpTABLES = (sales:sales1999_q4) IGNORE=y

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大方县| 长沙市| 新郑市| 清原| 新巴尔虎左旗| 丽江市| 潮安县| 五指山市| 洞头县| 中西区| 应用必备| 泰和县| 绥阳县| 遂溪县| 西乌珠穆沁旗| 武隆县| 墨江| 中卫市| 江陵县| 巴林左旗| 宣城市| 马边| 修水县| 永州市| 通化县| 全椒县| 恩施市| 比如县| 安新县| 民权县| 布拖县| 柳林县| 山西省| 新干县| 清水河县| 图片| 扶风县| 延寿县| 渭南市| 贵德县| 忻州市|