Tuning: Temporary table don’t collect statistics (临时表不要收集统计信息)
对于临时表不应该收集统计信息,TEMP TABLE是会话级数据,因为每个进程可以填充的数据不一样, 手动收集的统计信息如果不在insert的会话为0 ,影响了CBO生成正确执行计划
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
数据库oracle
对于临时表不应该收集统计信息,TEMP TABLE是会话级数据,因为每个进程可以填充的数据不一样, 手动收集的统计信息如果不在insert的会话为0 ,影响了CBO生成正确执行计划
元旦期间帮一朋友恢复了套数据库, 情景是这样的,25号0时有做RMAN 0级备份含datafile和当时的archivelog,25号白天删除了一个非常重要的表空间, 现在需要恢复那个表空间,是一套单实例的11.1.0.6 的WINDOWS平台的数据库, 接手时只有上面的6个备份集文件(只有DATAFILE AND ARCHIVELOG)和软件,和当前的control file
前天有套库发现表空间分了很大但是使用的非常少,想收回多余浪费的空间放回ASM,删了两个表空间应该可以释放1T左右的空间,但是ASM DISKGROUP的free space时,并没有增长, 也就是删除的空间没有释放, 开始以为遇到了BUG, 其实原因很简单, 只是在这简单记录这个问题的提个醒。
A web application using Tuxedo always keep 50 long connection to local database which then issues a SELECT from local db to remote db over shared db link(it’s created last weekend). But to run for a period of time after the found the remote db sessions become full(ora-18)
前段时间数据库出现了几次ORA 600 [ktspfmdb:objdchk_kcbnew_3]错误,引起该错误的是一条insert sql.
I faced a very interesting question today, An oracle database 11.2.0.3 RAC database ON hpux one had to many scheduler jobs , And the job’s owner is sys, All jobs name all like ‘KWQICPOSTMSGDEL_’, All these jobs has no start date as well no interval.
首先查看表的统计信息,分区表的统计信息分global stats(DBA_TABLE)和partition stats(DBA_TAB_PARTITION),发现该分区表是global stats 有,partition stats全为空, 查看该SQL发现有两个子游标有不同的执行计划
Problem Key: ORA 600 [k2srec: should be another instance]
Error: ORA-600 [k2srec: should be another instance] [2] [] [] [] [] [] [] [] [] [] [][00]
with the following stack :k2srec <- k2serv <- opiodr <- ttcpip
上个月有套库的listener总是自动stop, 因为是crs的资源又被agent重新拉起,前几次的监听故障中都提到过listener依赖于network资源, 以前也处理过网络打嗝可能会导致监听频繁重启的案例,本次参照该案例修改弱依赖的方式无法避免该问题
应该存在local SERVER process和remote LMS process通信, 原厂的工程师给我看了他们的白皮书来证明应该只有LMS和LMS通信,究竟是什么情况, LMS会不会直接和远程的SERVER进程通信?
listener会记录通过监听访问数据库的信息在listener.log,包括tnsping 监听的,但是如果listener.log不可写,监听会不会挂? 前几天清理目录发现了这个有个目录增长比较快,在listener的trace 目录下(11g的 ADR目录diag/tnslsnr/anbob1/listener/trace)生成了一些奇怪的trace文件如下
CPU + Wait for CPU CPU 21.64 41.99
log file sync Commit 21.63 41.97
enq: TX – row lock contention Application 19.71 38.23
buffer busy waits Concurrency 5.86 11.36
latch: cache buffers chains Concurrency 5.30 10.29
前几日一个数据库的负载非常高,查看数据库的活动会话发现大部分session在等待’wait for a undo record’的事件, 该事件通常发生在fast-start parallel rollback, 该特性通常是在SMON进程发现存在一个长时间的事务需要回滚,或遇到PARALLE DML需要回滚时,超过一定量的回滚任务时自动启动多个server process的并行回滚
ORA-00600: 内部错误代码, 参数: [kgh_heap_sizes:ds], [0x700000E82B30018], [], [], [], [], [], [], [], [], [], []
ORA-07445: 出现异常错误: 核心转储 [opiaba()+788] [SIGSEGV] [ADDR:0xF00000E161B7CD2] [PC:0x10662AFD4] [Address not mapped to object] []
是一套11GR2 的RAC 环境, CRSCTL CHECK CRS检查CRS 服务已无法通讯,当时也让他查询了crsd.bin 进程确认不存在了, 当时通知重启CRS便可以解决,但是后来通知客户端依旧有个节点无法连接,检查LISTNER 并没有注册任何SERVICE,而且当时也只监听在PUBLIC IP, 检查DB PARAMETER LOCAL_LISTENER 是绑定VIP,
Exception [type: SIGSEGV, Invalid permissions for mapped object] [ADDR:0x63] [PC:0x107C00D30, kkqteParseSqlForPG()+1840] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_ora_22283288.trc (incident=253347):
ORA-07445: 出现异常错误: 核心转储 [kkqteParseSqlForPG()+1840] [SIGSEGV] [ADDR:0x63] [PC:0x107C00D30] [Invalid permissions for mapped object] []
Exception [type: SIGIOT, unknown code] [ADDR:0x6CA9] [PC:0xC0000000003125F0, __lwp_kill()+48] [exception issued by pid: 27817, uid: 1024] [flags: 0x0, count: 1]
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lms3_27817.trc (incident=704134):
ORA-07445: exception encountered: core dump [__lwp_kill()+48] [SIGIOT] [ADDR:0x6CA9] [PC:0xC0000000003125F0] [unknown code] []
前几天帮助同事处理了个案例, 主机意外重启后数据库无法启动, 环境是11.2.0.3 standalone on aix, 用的是ASM.最后确认是OLR损坏, 因为当时没有记录具体流程,在这里只简单的记录. # check init.ohasd process is running ps -ef | grep init.ohasd # if not the run as root /etc/init.d/init.ohasd run >/dev/null 2>&1 到这步发现HAS已启动,但是cssd都没启动, cssd和一些local OCR做为资源是随HAS启动的, 如果没有数据库使用ASM, 默认是不会自动启动cssd和asm的。 但是使用crsctl start res ora.cssd -init又提示没有资源, 查看GI alert log 如下 # gi alert [ohasd(7210)]CRS-8017:location: /etc/oracle/lastgasp has 4 reboot advisory log files, … Read more
前几天有业务部门反应有个表的数据带上条件查询不出来,不带数据则可以,表没有做特殊处理,11.2.0.3 RAC on Exadata,后来找到了问题的原因,和圈里朋友Toms_zhang谈起此事, weibo圈子影响力就是大,张天师发weibo后引起不小风波,崔华和杨廷坤等大师也纷纷参于讨论, 今晚值班无事在这里把这个事件的源头生产库现实版分享一下。 SQL> select cycle,CODE from ANBOB.T_HIST where cycle=201507 and rownum<10; CYCLE CODE ———- ———- 201507 310 201507 310 201507 310 201507 310 201507 310 201507 310 201507 310 201507 310 201507 310 9 rows selected. SQL> select cycle,CODE from ANBOB.T_HIST where cycle=201507 and rownum<10 and CODE=310; no rows selected SQL> … Read more
ORA-00600: internal error code, arguments: [kmgs_pre_process_request_6], [6], [895], [0], [3], [0x459C1F3D8], [], []
Mon Dec 22 22:40:43 2014
MMAN: terminating instance due to error 822
Instance terminated by MMAN, pid = 31205