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

首頁 > 數據庫 > Oracle > 正文

ORACLE8的分區管理(zt)

2024-08-29 13:43:56
字體:
來源:轉載
供稿:網友

Oracle8的分區治理
 
1 分區概述

2 分區的優點

3 分區的治理 

  分區表的建立 
  分區表的擴容 
  刪除不必要的分區 
  分區的其他操作 
  查看分區信息 
  EXPORT分區 
  IMPORT分區 
---- 一、 分區概述: 

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

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

---- 三、分區的治理: 

---- 1 、分區表的建立: 
---- 某公司的每年產生巨大的銷售記錄,DBA向公司建議每季度的數據放在一個分區內,
以下示范的是該公司1999年的數據(假設每月產生30M的數據),操作如下: 
STEP1、建立表的各個分區的表空間:
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、建立基于分區的表:
CREATE TABLE sales
(invoice_no NUMBER,
... 
sale_date DATE NOT NULL ORACLE8的分區治理(zt)(圖一)
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 、分區表的擴容: 
---- 到了1999年年底,DBA應向表中加入2000年的表空間,同樣是每季度一個表空間,
由于公司業務欣欣向榮,預計每個分區為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; 
其他分區sales2000_q1,sales2000_q1,
sales2000_q1如法炮制。

---- 3 、刪除不必要的分區: 
---- 公司規定:銷售的明細數據兩年內必須保存在線。到2001年,DBA必須將1999年的數據備份
(備份方法見5、EXPORT分區),將1999年的分區刪除,將空間供后來的數據使用。如此循環,永遠保持兩年的銷售數據在線。 
STEP1、DROP 分區:
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、利用操作系統的工具刪除以上表空間占用的文件
(表空間基于裸設備無須次步),UNIX系統為例:
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 、分區的其他操作: 
---- 分區的其他操作包括截短分區(truncate),將存在的分區劃分為多個分區(split),
交換分區(exchange),重命名(rename),為分區建立索引等。DBA可以根據適當的情況使用。 
---- 以下僅說明分裂分區(split),例如該公司1999年第四季度銷售明細數據急劇增加
(因為慶國慶、迎千禧、賀回歸),DBA向公司建議將第四季度的分區劃分為兩個分區,
每個分區放兩個月份的數據,操作如下: 
STEP1、按(1)的方法建立兩個分區的表空間ts_sales1999q4p1,
ts_sales1999q4p2;
STEP2、給表添加兩個分區sales1999_q4_p1,sales1999_q4_p2;
STEP3、分裂分區:
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 、查看分區信息: 
---- DBA要查看表的分區信息,可查看數據字典USER_EXTENTS,操作如下: 
SVRMGRL >SELECT * FROM user_extents WHERE SEGMENT_NAME=’SALES’;
SEGMENT_NA PARTITION_ SEGMENT_TYPE TABLESPACE 
---------- ------------ --------------- --------------
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分區: 
---- ORACLE8的EXPORT 工具可在表的分區以及導出數據,例如到2001年,DBA必須
將1999年的數據按分區導出,操作如下: 
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分區: 
---- ORACLE8的IMPORT 工具可在表的分區以及導入數據,例如在2001年,用戶要查看1999年
的數據,DBA必須導入1999年的數據,使之在線,操作如下: STEP1、建立表的1999年的四個
表空間和相應的分區,參照(2); STEP2、導入數據: 
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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华蓥市| 哈尔滨市| 景泰县| 开远市| 阿拉尔市| 施甸县| 澄城县| 融水| 仪征市| 乌兰察布市| 驻马店市| 大理市| 长阳| 读书| 镇康县| 晋江市| 朝阳区| 罗定市| 辽宁省| 秭归县| 左云县| 安阳县| 塔城市| 张家港市| 伊通| 巴青县| 鹿邑县| 马山县| 大田县| 阿尔山市| 河曲县| 任丘市| 滕州市| 泗水县| 成武县| 武乡县| 邯郸县| 安溪县| 阿尔山市| 东丰县| 佛坪县|