oracle大表分区
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle大表分区
回答人:软界网友我来回答回答(3)
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