
表空间
Richard-Han
库是死的,sql是活的。。
展开
-
Oracle Parallel使用
Oracle Parallel使用 oracle 并行(Parallel)使用 1.查询Sql代码 SELECT /*+ Parallel(t,8) */ * FROM emp t; SELECT /*+ Parallel(8) */ * FROM emp t; SELECT /*+ Parallel */ * FROM emp转载 2014-09-19 15:29:28 · 1343 阅读 · 0 评论 -
一次Oracle表空间100%的反思
Oracle表空间是需要手动扩的,这就有100%之后不可用的隐患 应用可能业务繁忙,data表空间迅速增加,dba来不及加表空间已经100%了 优化:1 数据文件添加直接size 30g,保证性能 2 可以为每个表空间添加一个自动扩展的数据文件 3 告警阈值建议不高于85%,并且是不包含自动扩展的空间的(留一条后路) ...原创 2019-02-02 12:04:04 · 605 阅读 · 0 评论 -
Oracle准确的评估表碎片方法
使用avg_row_len * num_rows评估占用空间往往不准确,特别是存在大对象和列太多的时候 如何能真实的评估占用块数select count(distinct substr(rowid,0,15)) from tb1 实际占用的块数select s.blocks from dba_segments s where s.segment_name='TB...原创 2018-09-14 19:09:30 · 855 阅读 · 0 评论 -
oracle dba_tables.blocks和dba_segments.blocks的区别
除了已知的Dba_Segments .blocks = Dba_Tables.Blocks+Dba_Tables.Empty_Blocks +1(segment header block) 测试还发现dba_tables.blocks不是实时的,收集统计信息之后才会接近真实值dba_segments.blocks是实时的,当做完shrink表等操作之后,会自动更新真实值...原创 2018-09-14 16:34:40 · 686 阅读 · 0 评论 -
使用Partitioned Outer Join实现稠化报表
背景介绍:在数据库表中,存储的数据经常是稀疏数据(sparse data),而不是稠密数据(dense data)。先来了解一下什么是稀疏数据,比如一个产品销售情况表(比如有产品名、销售时间(精确到年月)、销售量3个列),假设某个时间某些产品它没有销售,一般也不会将这些产品的销售量存储为0,而是不存储,这样在产品销售情况表中就会产生很多缺失的行(gap rows),导致的结果就是特定产品销售数据按转载 2016-01-28 11:46:25 · 413 阅读 · 0 评论 -
oracle11g复合分区创建方法(Interval版)
常见的分区类型range:常用于自增长的列,如时间列List:常用于唯一值较少的列,如省份Hash:常用于唯一值较多的id列,例如手机号由于Interval分区是针对range的range-list方法:partition by range (updatetime)interval(numtodsinterval(1,'day'))sub原创 2015-12-30 14:35:08 · 5747 阅读 · 0 评论 -
在线重定义
在线重定义是oracle改变表结构的高可用方案,即在线修改表结构,分为以主键和rowid2种定义方法它是一个刷新物化视图,瞬间锁表rename的过程,将原表的base数据和更新数据通过物化视图同步到中间表然后rename中间表成原表注意:1原表索引对应的中间表索引必须为全局,不然会报错 2对应归档的数据库,势必产生大量的归档,重建索引最好加上n原创 2015-09-12 17:59:41 · 672 阅读 · 0 评论 -
11g闪回数据归档功能
闪回数据归档可以使用查询过去规定时间段内,某个时间点的数据(穿越时光!)闪回数据是保存在特定表空间内的。当发生错误操作时就可以使用as of timestamp to_timestamp查询历史数据了。闪回数据归档为企业核心业务提供了一个简单强大的历史备份原创 2015-03-31 17:54:11 · 308 阅读 · 0 评论 -
oracle复合分区类型
在 10g 中,复合分区只支持 Range-List 和 Range-Hash,而在在 11g中复合分区的类型大大增加,现在 Range,List,Interval 都可以作为 Top level分区, 而 Second level 则可以是 Range, List, Hash, 也就是在 11g 中可以有 3*3=9种复合分区,满足更多的业务需求一:RANGE-RANGE建表原创 2015-02-27 19:20:45 · 2493 阅读 · 2 评论 -
Oracle拆分合并分区方法
A拆分alter table t split partition p1 values('2') into (partition p_2tablespace tbs, partition p1 tablespace tbs);提示:这样就把满足VALUES的数据分离到P_2这个新分区了B合并alter table t merge partit原创 2015-02-12 18:10:30 · 1311 阅读 · 0 评论 -
收缩数据文件占用空间大小方法
select /*+ ordered use_hash(a,c) */ 'alter database datafile '''||a.file_name||''' resize ' ||round(a.filesize - (a.filesize - c.hwmsize-100) *0.8)||'M;', a.filesize, c.hwmsizefro转载 2015-02-05 16:50:14 · 539 阅读 · 0 评论 -
oracle11G新特性区间分区(对时间或数字分区自动管理)
对时间类型和数字类型的支持:1.对于采用date类型或TIMESTAMP类型的Interval Partitioning可以支持按year、month、day、hour、minute、second六种类型的定长宽度分区,分别通过如下函数转换numtoyminterval ( n, { 'YEAR'|'MONTH'})numtodsinterval ( n, { 'DAY'|'H原创 2014-11-06 15:56:26 · 1679 阅读 · 0 评论 -
通过rowid逻辑并行抽取数据
开4个会话:通过createtime逻辑上进行4个时间区间的并行处理:比如一个月的话,分成1会话处理第一周,然后一直到4会话处理第4周,当然你也可以再细分:1会话写循环一小时一小时处理。方法3: 使用rowid并行:这里我重要说下使用rowid并行的方法:真实案例:[sql] view plaincopy转载 2014-11-20 21:33:43 · 836 阅读 · 0 评论 -
rowid方式在线重定义
1,建分区表create table WEB_AD( DATA_ID INTEGER, USER_FLAG VARCHAR2(100), AID VARCHAR2(4000), URL VARCHAR2(4000), REFERRER_URL VARCHAR2原创 2014-09-28 16:31:03 · 456 阅读 · 0 评论 -
删除数据详解!
我们先把上一篇的文章讲完:http://blog.youkuaiyun.com/changyanmanman/article/details/7767378是这样的:truncate先把原来的表重新命名一下,所以,就像我们之前测试的OBJECT_ID 是不会变化的。又重新创建了一个表,这个表的名字和被truncate的表的名字相同,但是他的段(也可以说地址)必定发生变化,所以又出现了新的dat转载 2014-09-27 23:51:22 · 760 阅读 · 0 评论 -
zabbix大表分区优化
history_uint表日增长5000w,分区表结构如下CREATE TABLE `history_uint` ( `itemid` bigint(20) unsigned NOT NULL, `clock` int(11) NOT NULL DEFAULT '0', `value` bigint(20) unsigned NOT NULL DEFAULT '0', `ns`...原创 2019-02-18 16:37:28 · 1040 阅读 · 0 评论