eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 恩墨科技第二次性能优化培训时间确定 | Blog首页 | 美东印象 之 尼亚加拉瀑布 - 浩荡之水天上来 »

工作日志:10 亿记录表的几个索引创建时间
modb.pro

记录一下最近完成的一个大表数据整理,在近10亿记录的表上创建了3个索引,使用NOLOGGING,COMPRESS选项。

第一个唯一约束:
ALTER TABLE "SMSMG" ADD CONSTRAINT
"UN_ISMG_NEW" UNIQUE ("SEQNO", "SUBMIT_YEAR")
USING INDEX compress PCTFREE 0  NOLOGGING ENABLE ;

大致耗时:3:11:06

单键值索引:
CREATE INDEX "IDX_MDN" ON "SMSMG" ("DEST_MDN" ) COMPRESS PCTFREE 0  NOLOGGING ;

大约耗时:
Index created.

Elapsed: 03:00:05.27

另外一个索引:
CREATE INDEX "IDX_SERVICE_ID" ON "SMSMG" ("SERVICE_ID" ) COMPRESS PCTFREE 0 NOLOGGING ;

大约耗时:

Index created.

Elapsed: 04:27:08.23
三个索引所用空间分别为40G,12G,12G.




历史上的今天...
    >> 2010-10-26文章:
    >> 2007-10-26文章:
    >> 2006-10-26文章:
    >> 2005-10-26文章:
           Why My server Down?
           你需要怎样的结局?

By eygle on 2009-10-26 08:15 | Comments (9) | Case | FAQ | 2431 |

9 Comments

如此庞大的数据,还没有机会接触过噢!
顺便问下Eygle,我的测试环境是VMware+CentOS+Oracle 10g,数据库处在归档模式下,每组重做日志都配置了两个成员,我想问的问题是,日志切换之后,ARCn产生归档日志的时候(在归档路径下,我只发现产生了一份归档日志),是怎么对待那两个日志成员的,是选择其中一个成员进行归档(产生一份归档)?还是其他途径?
不知道我的问题描述的清楚不?

每组online redo log group中的log file number的内容都是一样的,归档的时候当然就归档一份就够了

如果加上并行选项parallel (degree n),不知道有没有效果。

是啊,我也想知道为什么没用并行,是怕影响其它正常应用吗?

呵呵,谢谢2,3,4楼的热心解答。
我知道,同一重做日志组的各个成员是互为“镜像拷贝”的,也就是说它们的内容,大小都是相同的。我想问的是,日志切换后,ARCn在写归档的时候,Oracle内部是怎么识别的,也就是说ARCn是将哪一个日志成员写到归档路径下,形成一个归档日志文件?假定Group1有member1 和member2,日志切换时,ARCn是将member1内容写到归档日志,还是将member2写到归档日志?为什么?

有没有记录 iostat io busy 的情况,每秒的读多少,写多少
机器存储大致配置如何 :)

做过8亿的,不知道您为什么没有PARTITION(也许和APP有关).
另,我做的时候,加PARALLEL 会明显加快,但32 和64没有区别,修改过DB的各种PARALLEL_MAX_*参数。
OS HPUX11.31,32P,64C.

nologging 有什么影响啊?刚看了这个帖子,好奇一下

http://www.eygle.com/archives/2004/07/nologging_append.html


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com