佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ORACLE8的分區(qū)管理

ORACLE8的分區(qū)管理

熱門標(biāo)簽:Linux服務(wù)器 服務(wù)外包 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 百度競價排名
正在看的ORACLE教程是:ORACLE8的分區(qū)管理。 摘要:本篇文章介紹了ORACLE數(shù)據(jù)庫的新特性—分區(qū)管理,并用例子說明使用方法。
關(guān)鍵詞:ORACLE,分區(qū)


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


二、分區(qū)的優(yōu)點:
1 、增強(qiáng)可用性:如果表的一個分區(qū)由于系統(tǒng)故障而不能使用,表的其余好的分區(qū)仍然可以使用;
2 、減少關(guān)閉時間:如果系統(tǒng)故障只影響表的一部分分區(qū),那么只有這部分分區(qū)需要修復(fù),故能比整個大表修復(fù)花的時間更少;
3 、維護(hù)輕松:如果需要重建表,獨(dú)立管理每個分區(qū)比管理單個大表要輕松得多;
4 、均衡I/O:可以把表的不同分區(qū)分配到不同的磁盤來平衡I/O改善性能;
5 、改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區(qū)來并行執(zhí)行,可使運(yùn)行速度更快;
6 、分區(qū)對用戶透明,最終用戶感覺不到分區(qū)的存在。


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

1 、分區(qū)表的建立:
某公司的每年產(chǎn)生巨大的銷售記錄,DBA向公司建議每季度的數(shù)據(jù)放在一個分區(qū)內(nèi),以下示范的是該公司1999年的數(shù)據(jù)(假設(shè)每月產(chǎn)生30M的數(shù)據(jù)),操作如下:
STEP1、建立表的各個分區(qū)的表空間:
CREATE TABLESPACE ts_sale1999q1
DATAFILE ‘/u1/oradata/sales/sales1999_q1.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q2
DATAFILE ‘/u1/oradata/sales/sales1999_q2.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q3
DATAFILE ‘/u1/oradata/sales/sales1999_q3.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q4
DATAFILE ‘/u1/oradata/sales/sales1999_q4.dat'
SIZE 100M
DEFAULT 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_q1
VALUES LESS THAN (TO_DATE(‘1999-04-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q1,
PARTITION sales1999_q2
VALUES LESS THAN (TO_DATE(‘1999-07-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q2,
PARTITION sales1999_q3
VALUES LESS THAN (TO_DATE(‘1999-10-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q3,
PARTITION sales1999_q4
VALUES LESS THAN (TO_DATE(‘2000-01-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q4 );


2 、分區(qū)表的擴(kuò)容:

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


3 、刪除不必要的分區(qū):

公司規(guī)定:銷售的明細(xì)數(shù)據(jù)兩年內(nèi)必須保存在線。到2001年,DBA必須將1999年的數(shù)據(jù)備份(備份方法見5、EXPORT分區(qū)),將1999年的分區(qū)刪除,將空間供后來的數(shù)據(jù)使用。如此循環(huán),永遠(yuǎn)保持兩年的銷售數(shù)據(jù)在線。

STEP1、DROP 分區(qū):
ALTER TABLE sales
DROP PARTION sales1999_q1;
ALTER TABLE sales
DROP PARTION sales1999_q2;
ALTER TABLE sales
DROP PARTION sales1999_q3;
ALTER TABLE sales
DROP PARTION sales1999_q4;
STEP2、利用操作系統(tǒng)的工具刪除以上表空間占用的文件(表空間基于裸設(shè)備無須次步),UNIX系統(tǒng)為例:
oracle$ rm /u1/oradata/sales/sales1999_q1.dat
oracle$ rm /u1/oradata/sales/sales1999_q2.dat
oracle$ rm /u1/oradata/sales/sales1999_q3.dat
oracle$ rm /u1/oradata/sales/sales1999_q4.dat


4 、分區(qū)的其他操作:

分區(qū)的其他操作包括截短分區(qū)(truncate),將存在的分區(qū)劃分為多個分區(qū)(split),交換分區(qū)(exchange),重命名(rename),為分區(qū)建立索引等。DBA可以根據(jù)適當(dāng)?shù)那闆r使用。
以下僅說明分裂分區(qū)(split),例如該公司1999年第四季度銷售明細(xì)數(shù)據(jù)急劇增加(因為慶國慶、迎千禧、賀回歸),DBA向公司建議將第四季度的分區(qū)劃分為兩個分區(qū),每個分區(qū)放兩個月份的數(shù)據(jù),操作如下:
STEP1、按(1)的方法建立兩個分區(qū)的表空間ts_sales1999q4p1,
ts_sales1999q4p2;
STEP2、給表添加兩個分區(qū)sales1999_q4_p1,sales1999_q4_p2;
STEP3、分裂分區(qū):
ALTER TABLE sales
SPLIT PARTITON sales1999_q4
AT 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
---------- ------------ -------

[1] [2] 下一頁

正在看的ORACLE教程是:ORACLE8的分區(qū)管理。-------- --------------
SALES SALES1999_Q1 TABLE PARTITION TS_SALES1999Q1
SALES SALES1999_Q2 TABLE PARTITION TS_SALES1999Q2
SALES SALES1999_Q3 TABLE PARTITION TS_SALES1999Q3
SALES SALES1999_Q4 TABLE PARTITION TS_SALES1999Q4
SALES SALES2000_Q1 TABLE PARTITION TS_SALES1999Q1
SALES SALES2000_Q2 TABLE PARTITION TS_SALES1999Q2
SALES SALES2000_Q3 TABLE PARTITION TS_SALES1999Q3
SALES SALES2000_Q4 TABLE PARTITION TS_SALES1999Q4


5 、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=Y
file=sales1999_q1.dmp
oracle$ exp sales/sales_password tables=sales:sales1999_q2 rows=Y
file=sales1999_q2.dmp
oracle$ exp sales/sales_password tables=sales:sales1999_q3 rows=Y
file=sales1999_q3.dmp
oracle$ exp sales/sales_password tables=sales:sales1999_q4 rows=Y
file=sales1999_q4.dmp


6 、IMPORT分區(qū):

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

上一頁  [1] [2] 

標(biāo)簽:蘭州 崇左 仙桃 黃山 銅川 湘潭 湖南 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ORACLE8的分區(qū)管理》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    玉龙| 阿图什市| 东莞市| 松溪县| 赣榆县| 满洲里市| 大宁县| 从化市| 五莲县| 呼和浩特市| 莒南县| 仁怀市| 平陆县| 萨嘎县| 当涂县| 日土县| 万源市| 景东| 嫩江县| 澄迈县| 秦安县| 崇左市| 开鲁县| 上蔡县| 南充市| 泾川县| 马尔康县| 阿瓦提县| 监利县| 连山| 武功县| 遂宁市| 三明市| 贺兰县| 隆昌县| 迁西县| 蓬溪县| 铜梁县| 平定县| 姜堰市| 乌鲁木齐县|