通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>sql专区>>正文 新版上线![旧版]
注:打开慢时请稍等
oracle8的分区管理

http://www.iyit.net  日期:2006-5-3 19:19:48  来源:  点击:
参加讨论】 摘要:本篇文章介绍了oracle数据库的新特性—分区管理,并用例子说明使用方法。
关键词:oracle,分区


一、 分区概述:
  为了简化数据库大表的管理,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 )
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


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:mysql 的邮件列表
下一篇:mysql中的sql-- text、date、和set数据类型
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
sql server 7.0与以前的版本相比,安全
设置proxy server和sql server实现互联
microsoft sql server 7.0安全问题   
mysql安全性指南(3)(转)           
mysql安全性指南 (2)(转)          
在frontpage 2000中插入flash动画
用frontpage 2000使图像“减肥”
提高frontpage 2002使用效率
用frontpage 2000创建网页动画
用frontpage 2000巧做样式表
用frontpage 2000制作鼠标光照特效
用frontpage轻松转换图片格式
frontpage10全透视教程(9)
frontpage10全透视教程(8)
frontpage10全透视教程(7)
sql server 7.0与以前的版本相比,安全
sql简明教程(6)
sql简明教程(5)
sql简明教程(4)
sql简明教程(3)
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
sql简明教程(1)
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息