前段时间网上都在讨论电信重组的后续发展,那个运营商利好,哪个运营商利空。偶毕业后先在联通,后到了移动的子公司,卓望科技,也算是一直没离开过电信行业,也来扯扯这次电信重组的事情。目前电信重组的消息已经确定:中国移动和中国铁通将组成新中国移动,中国电信、联通C网和中国卫通组成新中国电信,联通G网和中国网 […]
为什么不走hash join?
今天,某省的同事来告诉我,表重组后,他用于统计的一个sql脚本运行变慢了,之前只需要17、8分钟能出来的结果,现在1小时40分钟左右才能出来结果。 我们一起来看看脚本中的一个sql:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
SQL> explain plan for 2 select a.startdate,b.subsid from tab_1 a,tab_2 b where 3 a.servid='025001003681' and a.status!='C' and a.mid=b.mid; Explained. Elapsed: 00:00:00.03 SQL> select * from table(dbms_xplan.display) SQL> / PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Pstart| Pstop | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 369 | 23985 | 980 | | | | 1 | NESTED LOOPS | | 369 | 23985 | 980 | | | | 2 | PARTITION HASH ALL | | | | | 1 | 4 | |* 3 | TABLE ACCESS BY LOCAL INDEX ROWID| tab_1 | 369 | 14022 | 242 | 1 | 4 | |* 4 | INDEX RANGE SCAN | IDX_tab_1_SERVID | 492 | | 10 | 1 | 4 | | 5 | PARTITION HASH ITERATOR | | | | | KEY | KEY | | 6 | TABLE ACCESS BY LOCAL INDEX ROWID| tab_2 | 1 | 27 | 2 | KEY | KEY | |* 7 | INDEX UNIQUE SCAN | PK_tab_2_MID | 1 | | 1 | KEY | KEY | ---------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - filter("A"."STATUS"<>'C') 4 - access("A"."SERVID"='025001003681') 7 - access("A"."MID"="B"."MID") Note: cpu costing is off 22 rows selected. Elapsed: 00:00:00.56 |
我们看到这个sql是通过索引后在走nested l […]
职业生涯最严重的一次宕机
昨天,经历了职业生涯中最令人心惊胆颤的危机,差点要去买锄头准备回家种地去了。-_-!! 早上5点钟,被同事叫醒,说应用程序连数据库报TNS没响应。于是开始登录数据库主机。登录的时候,用常用的浮动IP连接,没响应,此时第一个反映就是是不是数据库主机挂了?难道要去机房?现在可是奥运前期,进出机房是件挺麻 […]
2008深圳车展
趁着粽子节的最后一天休假,去看了深圳2008车展。车展的整体规模还是比较大的,占据了会展中心的8个场馆,不过由于是车展的最后一天,又恰巧是中午吃饭时间,我看美女的愿望只达成了不到十分之一……T_T
误将对象创建在system表空间中
昨天一位同事在执行创建数据库全量对象脚本时,在sys用户下执行了,那些本来应该在应用用户下创建的对象,不小心创建在了sys用户下。由于创建的对象是一个脚本执行的,里面有近1500个对象,要是一个一个删除,那是不可能了。 由于测试部的同事急着要用,先在应用用户下重新把创建数据库对象的全量脚本再次执行了 […]
insert大量数据的一些经验
在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。 前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。 1. [crayon-6783a2e9 […]
一次可怕的crosscheck
某省有个数据库的备份坏了,同事采取的策略是每天定期的用脚本删除归档。于是,当备份恢复的时候,需要做一次crosscheck,以便验证那些归档是validate的,于是可怕的事情发生了:crosscheck运行了1小时,还是没动静——需要crosscheck的日志太多了!! 查了一下文档,原来cros […]
oracle的sysdba权限登录问题
最近的时间,在搞数据库的安全加固问题,关于数据库中关于sysdba权限的登录,通过最近的一些实践和测试,在这里记录一下: 数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要 […]
悼念5.12地震遇难的同胞
手牵手,难关总会度过去的! 根据陕西地震局网站17日0时最新数据: 发震时间 震级 震中位置 20050516 最大震级3.3 四川汶川地震序列(16日22时到17日00时) 20050516 最大震级4.2 四川汶川地震序列(16日18时到22时) 20080516 最大震级3.5 四川汶川地震序 […]
RAC的高可用也不是那么好用
oracle一直在“鼓吹”着他的rac是如何如何的高可用,如何如何的可以实现针对应用透明的failover,但是,在实际的使用过程中,要完全实现这样的透明,条件是何等的苛刻。 先从一次故障说起吧。某天中午正在吃饭的时候,突然接到电话做应用程序连接数据库挂死了,并且也在客户端测试连接数据库也是挂死,长 […]
5月8日,奥运火炬传递深圳站
5月8日,一个特别的日子,奥运会的火炬传递到了深圳,整个深圳可以说是万人空巷,大家都纷纷涌动到市民中心——深圳站火炬传递的起点。 下午14点,圣火途径深南大道,我们公司的同事也走上深南大道上夹道欢迎圣火的到来……
南京玄武湖
前段时间出差去了南京(感觉这段时间出差特别多,感觉好像去年没出差,今年来还债了。唉……应了那句老话,出来混,迟早要还的。),期间的间隙,去了南京的玄武湖一趟。还拍摄到了孔雀开屏的画面。嘿嘿嘿嘿……