Oracle8的分区管理
Oracle教程中你看到的是Oracle分区管理。摘要:本文介绍了Oracle数据库,新的功能分区管理,并用实例说明了该方法的使用。关键词:oracle,分区
第一,分区概述:
为了简化大型数据库表的管理,本书介绍了分区,分区是从几个不同的表空间,表分离,分而治之的方法是用来支持无限扩张的大表,可在物理层上使大表管理。大成较小的分区表可以提高维护、备份、恢复、事务和表的查询性能。这个选项可以被推荐用于Oracle8使用大量的日常业务数据在社会保障和电信行业。
二、分区优势:
1。增强的可用性:如果系统故障时没有使用表的一个分区,那么表的其余部分仍然可以使用。
2,减少关闭时间:如果系统故障只影响表的一部分分区,则只需要修复分区的这一部分,这样可以节省比整个大表更少的时间。
三.简单的维护:如果您需要重建表,那么管理每个分区比管理一个大的表要容易得多。
4,平衡I/O可以将表的不同分区分配给不同的磁盘,以平衡I/O的性能。
5,提高性能:将大表的查询、添加、修改等操作分解为并行执行的表的不同分区,使操作速度更快。
6。分区对用户是透明的,最终用户不觉得分区的存在。
三,分区管理:
1。分区表的建立:
一家公司每年生产大量的销售记录。DBA建议将季度数据放在公司的一个分区中。下面的例子是公司在1999的数据(假设每个月生成3000米的数据)。
第一步,设置表的不同分区的表空间:
创建表空间ts_sale1999q1
可以 / / /销售oradata U1 / sales1999_q1 DAT。
大小
默认存储(初始的3000万美元援助下30m minextents 3 pctincrease 0)
创建表空间ts_sale1999q2
可以 / / /销售oradata U1 / sales1999_q2 DAT。
大小
默认存储(初始的3000万美元援助下30m minextents 3 pctincrease 0)
创建表空间ts_sale1999q3
可以 / / /销售oradata U1 / sales1999_q3 DAT。
大小
默认存储(初始的3000万美元援助下30m minextents 3 pctincrease 0)
创建表空间ts_sale1999q4
可以 / / /销售oradata U1 / sales1999_q4 DAT。
大小
默认存储(初始的3000万美元援助下30m minextents 3 pctincrease 0)
再建立一个分区的表:
创建表的销售
(invoice_no数,
…
sale_date日期不为空)
按范围分区(sale_date)
(分区sales1999_q1
值小于(to_date('1999-04-01 ','yyyy-mm-dd)
表空间ts_sale1999q1,
分区sales1999_q2
值小于(to_date('1999-07-01 ','yyyy-mm-dd)
表空间ts_sale1999q2,
分区sales1999_q3
值小于(to_date('1999-10-01 ','yyyy-mm-dd)
表空间ts_sale1999q3,
分区sales1999_q4
值小于(to_date('2000-01-01 ','yyyy-mm-dd)
表空间ts_sale1999q4);
2。分区表的扩展:
到1999年底,DBA应该向表中添加2000个表空间,这也是一个季度表空间。随着公司业务的蓬勃发展,估计每个分区都是4000万个,操作如下。
第一步,建立表空间:
创建表空间ts_sale2000q1
可以 / / /销售oradata U1 / sales2000_q1 DAT。
大小130m
默认存储(初始40m下40m minextents 3 pctincrease 0)
其他表空间ts_sale2000q2,ts_sale2000q3,ts_sales2000q4仿照。
第二步,添加表的表空间:
修改表的销售
添加分区sales2000_q1
值小于(to_date('2000-04-01 ','yyyy-mm-dd)
表空间ts_sale2000q1;
其他分区sales2000_q1,sales2000_q1,sales2000_q1仿照。
三.删除不必要的分区:
公司规定销售数据必须在网上保存两年,到2001时,DBA必须备份1999的数据(备份方法为5,导出分区),删除1999的分区,并为以后的数据使用空间,这个循环将使销售数据在网上保持两年。
第一步,删除分区:
修改表的销售
我sales1999_q1滴;
修改表的销售
我sales1999_q2滴;
修改表的销售
我sales1999_q3滴;
修改表的销售
我sales1999_q4滴;
第二步,使用操作系统工具来删除文件,由上表所占用的空间(表空间是基于裸设备无需步),UNIX系统为例:
Oracle为RM / / /销售oradata U1 / sales1999_q1.dat
Oracle为RM / / /销售oradata U1 / sales1999_q2.dat
Oracle为RM / / /销售oradata U1 / sales1999_q3.dat
Oracle为RM / / /销售oradata U1 / sales1999_q4.dat
4。分区的其他操作:
其他业务包括分区的分区截断(截断),将现有的分区成多个分区(分割),交换分区(交换),改名(重命名),为分区建设指标,etc.dba可以根据适当的情况下使用。
下图只分割分区(分割),例如,在1999第四季度的销售公司大幅增加(因为千年的具体数据,为庆祝国庆节,他回到公司),DBA建议第四节分为两个分区,每个分区上的两个月的数据,操作如下:
第一步,建立两个分区表空间ts_sales1999q4p1由(1)的方法。
ts_sales1999q4p2;
再加两分区sales1999_q4_p1的表,sales1999_q4_p2;
第三步,分割分区:
修改表的销售
拆分分区sales1999_q4
在to_date('1999-11-01 ','yyyy-mm-dd)
为(分区sales1999_q4_p1,分区sales1999_q4_p2)
5,查看分区信息:
查看表中的分区信息,管理员可以查看数据字典user_extents。操作如下:
重建>选择*从user_extents哪里segment_name = 'sales;
segment_na partition_ segment_type表空间
Oracle教程,是在----------------------------- { 1 } { 2 }见下页是Oracle8进行分区管理。
销售sales1999_q1表分区ts_sales1999q1
销售sales1999_q2表分区ts_sales1999q2
销售sales1999_q3表分区ts_sales1999q3
销售sales1999_q4表分区ts_sales1999q4
销售sales2000_q1表分区ts_sales1999q1
销售sales2000_q2表分区ts_sales1999q2
销售sales2000_q3表分区ts_sales1999q3
销售sales2000_q4表分区ts_sales1999q4
5,导出分区:
Oracle8的导出工具可以分区表和出口的数据,例如,2001,DBA必须分区中的1999个数据口,如下:
Oracle为口销售/ sales_password表=销售:sales1999_q1行= Y
sales1999_q1.dmp文件=
Oracle为口销售/ sales_password表=销售:sales1999_q2行= Y
sales1999_q2.dmp文件=
Oracle为口销售/ sales_password表=销售:sales1999_q3行= Y
sales1999_q3.dmp文件=
Oracle为口销售/ sales_password表=销售:sales1999_q4行= Y
sales1999_q4.dmp文件=
6、导入分区:
Oracle8的导入工具可以分区表中的数据导入。例如,在2001中,用户希望在1999看到数据。DBA必须从1999导入数据使其联机。
第一步,在1999四的表空间和相应的分区,参考(2);
第二步,导入数据:
美元/ sales_password Oracle IMP销售文件= sales1999_q1.dmp
表=(销售:sales1999_q1)忽略= Y
美元/ sales_password Oracle IMP销售文件= sales1999_q2.dmp
表=(销售:sales1999_q2)忽略= Y
美元/ sales_password Oracle IMP销售文件= sales1999_q3.dmp
表=(销售:sales1999_q3)忽略= Y
美元/ sales_password Oracle IMP销售文件= sales1999_q4.dmp
表=(销售:sales1999_q4)忽略= Y
{ 1 } { 2 }的最后一页