- 浏览: 460426 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
此去经年雪123:
为啥生成的是乱码 你好
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
alonglw:
zxf0089216 写道1.为什么每次都是10001RSAK ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
zxf0089216:
1.为什么每次都是10001RSAKeyPair(" ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
dunhanson:
后台的测试main方法都能加密解密。前台加密后的密文交给后台解 ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
map612:
wula0010 写道仔细看了下,可以运行RSAUtil.ma ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
一、 分区概述:
为了简化数据库大表的管理,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,操作如下。
到了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年的分区删除,将空间供后来的数据使用。如此循环,永远保持两年的销售数据在线。
公司规定:销售的明细数据两年内必须保存在线。到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向公司建议将第四季度的分区划分为两个分区,每个分区放两个月份的数据,操作如下:
分区的其他操作包括截短分区(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年的数据按分区导出,操作如下:
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年的数据,使之在线,操作如下:
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
发表评论
-
Oracle 百万行数据查询优化
2011-08-31 13:16 14491.对查询进行优化, ... -
【转载】ORACLE误删数据的恢复
2011-03-18 22:29 1710一、利用SCN恢复 ... -
利用数据库将字符串分割成Table函数
2011-03-14 15:54 15481、Oracle中 创建代码: create or rep ... -
oracle10如何查出历史记录中执行效率低的SQL语句
2011-03-01 18:56 2737解决oracle10g运行慢、 ... -
Oracle、SqlServer、MySql临时表小结
2011-01-22 12:04 24431、Oracle临时表 Oracle临时表分为两种 ... -
[转]Oracle的JDBC驱动的版本你了解吗?
2010-11-17 15:31 1006在使用Oracle JDBC驱动时,有些问题你是 ... -
(转)Oracle中PFILE和SPFILE的使用
2010-10-28 08:50 2509在9i以前,Oracle使用pfile存储初 ... -
关于Oracle10.2.0自行启动两个监听进程导致服务中断问题
2010-09-01 16:12 3140环境: AIX6.1 Oracle Database ... -
笔记:查看Oracle表空间使用率的sql
2010-07-14 17:41 1917SELECT UPPER(F.TABLESPACE ... -
Oracle中如何使用DBLink连接不同的实例
2010-05-22 10:06 4383实际生产过程中,通常会遇到不同数据库之间进行数据交换的问题,有 ... -
Oracle10g只有数据文件的恢复方式
2010-03-22 14:42 2332待完成。 1、首先安装一个全新的ORACLE,包 ... -
一个Oracle分页的存储过程
2010-02-03 16:54 1410Oracle下通用的分页脚本: CREATE OR R ... -
Oracle用户锁定/解锁
2009-12-28 09:40 3221解锁/锁定命令 ALTER USER ECODE ACCOU ... -
如何查看Oracle某时刻的客户端连接情况并显示客户端IP
2009-12-18 15:18 138891、查看每个oracle帐 ... -
Oracle存储过程中使用临时表
2009-12-18 08:51 13340一、Oracle临时表知识 在O ... -
深入浅出理解索引结构
2009-10-24 20:31 847深入浅出理 ... -
ORACLE单行函数
2009-10-24 09:15 1812可以作下列事情: 描述SQL中 ... -
Oracle修改存储空间相关sql
2009-09-23 11:23 14131、查看表空间情况: ... -
Linux下Oracle10g不能启动之 could not open parameter file
2009-08-19 18:00 5877今天开发服务器突然连接不上,sqlplus /nolog、co ... -
Oracle创建索引 小贴士
2009-06-12 15:46 2680索引( Index )是常见的数 ...
相关推荐
Oracle 分区管理篇
oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理
oracle 分区详细管理
Oracle数据库分区管理.docx
Oracle提供了分区技术以支持VLDB(Very Large DataBase)。将数据分散到各个分区中,减少了数据损坏的可能性;可以对单独的分区进行备份和恢复;可以将分区映射到不同的物理磁盘上,来分散IO ;提高可管理性、可用性和...
如何创建,管理分区,分区索引。
为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...
《Oracle分区技术和11g分区新特性》,53页,解决大表问题 为何要数据分区(Data Partitioning) • 表与索引数据的爆炸性增长 • 在大型数据库系统中 表数据量通常 >> 10GB • 现在表的数据量比以前中等规模的数据库...
为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...
Oracle表分区管理.pdf
具有Oracle分区功能的Oracle数据库 10g 可以显著增强几乎任何数据库应用程序的可管理性、性能和可用性。分区功能可用于前沿应用程序,分区功能确实能够成为保障这些应用程序成功的关键技术成分。 同时,分区功能也可...
支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...
Oracle分区表_(Partition_Table)_的创建及管理.doc
分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。 不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束; 但是可以有不同的物理属性,比如...
在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用。
官方资料:Oracle白皮书_Oracle数据库11g中的分区 分区的优势:分区的基本知识;使用分区提高可管理性;使用分区提岛性能;使用分区提高可用性;分区一为业务建模:基本分区策略;分区扩展;PARTITION ADVISOR;分区策略和...
Oracle 8i以后推出了分区选项。分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。
Oracle分区功能提高应用程序性能 79 Oracle数据库处理时间基本准则 81 入侵Oracle数据库常用操作命令 82 Oracle数据库优化及其应用程序研究 83 Instance实例和数据库 85 Oracle数据缓冲区内部机制 85 Oracle 9i...
第3部分:模式对象,内容包括管理模式对象空间、管理表、管理索引、管理分区表和分区索引、管理簇、管理散列、管理视图、序列和同义词、模式对象的常规管理、检测和修复数据块损坏。第4部分:数据库的安全,介绍...
Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据...