关于统计信息过期的性能落差
今天客户反馈某一个应用部署补丁的时候,执行了一个脚本一个多小时还没有执行完。语句是下面这样的形式。insert into em1_rater_00068_01 (select * from em1_rater_00050_01_backup a where a.record_id
系统级alias vs Oracle ADR功能
Oracle在11g中推出的新特性ADR,即Automatic Diagnostic Repository个人理解这个工具就是能够高效的把一些日志文件轻松管理起来。比如查看数据库alert日志就不必麻烦去到对应的路径下去找一圈,直接使用show alert即可,比如查看现在数据库中出现了哪些错误,直接通过show problem命令即可。命令的使用也很方便。直接输入a...
关于收缩数据文件的尝试
在数据库中对于数据文件都是提前规划,不够就加的情况,很少会留意到其实有些数据文件那么大,其实条件允许也是可以收缩收缩的。这种情况在本地测试环境中尤为突出,本来就用虚拟机跑个数据库,硬盘空间就够紧张,几十M几百M都是空间,都得“兆兆”计较。今天在做dataguard的练习的时候,发现主库中的数据文件有些大,差...
使用strace诊断奇怪的sqlplus登录问题
今天刚到公司,印度同事就开始急忙找我,说客户有一个环境sqlplus连不上了。我第一反应是数据库是不是停了,连接资源满了等等,赶紧查收邮件,看到报错信息还是比较生疏的。>sqlplus CHIDB7/xxxx@TDB1SQL*Plus:Release 11.2.0.3.0 Production on Thu May 7 09:31:19 2015Copyright(c) 1982, 2011, Oracle.&nb...
深度解析dba_segments和sys.seg$中的细节差异(下)
继续昨天的内容 http://blog.itpub.net/23718752/viewspace-1624762/我们已经根据dba_segments和sys.seg$的不同发现最后的差距有2T左右,已经定位到了dba_segments的一些细节信息,可以发现其实还是一个层级的调用关系。我们把SYS_DBA_SEGS是一个处于中间层的角色,它的定义是3个union all,可以从定义中看到,差别...
深度解析dba_segments和sys.seg$中的细节差异(上)
今天在查看系统空间使用情况的时候,发现一个细节的问题,自己死磕了一把,还是发现了不少有价值的东西。事情的起因是我在使用脚本在某个环境中查看每个用户所占有的空间的时候,如果发现有些临时用户占用的空间过大,就需要协调开发去做一些清理,但是这次用户占用的空间表空间使用情况有很大的差异。查看用户占用空间的...
数据补丁中需要注意的几个问题
今天来感慨一下在工作中碰到的几处数据补丁问题,当然这些细节都是流程之外的控制和规范了,但是也或多或少出现了不少的问题,有些让人纠结,有些让人抓狂,有些让人无奈,但是不管怎么样,数据补丁是修复数据,完善业务的,DBA在这个关键时候就不能麻痹大意,把好这个关口还是很重要的。让人吐血的dump文件这是个真实的...
crontab导致的频繁发送邮件的问题
今天下午的时候客户发邮件反馈说,对于某个环境中的文件系统监控和表空间使用情况的邮件收到的比较频繁,感觉是1个小时发送一次,完全可以3个小时发送一次,接到这个问题后,最直接的联想就是使用crontab。结果登录到服务器端之后查看,得到的结果如下:> crontab -l# Minute Hour Month &nbs...
使用序列的错误ORA-02287
今天一个开发的同事问我一个问题,说在执行一条sql语句的时候报了ORA错误,脑海中删除了各种权限的问题之后,他提供给我的错误还是在我预料之外。ERROR at line 1:ORA-02287: sequence number not allowed here这个问题看错误信息是很明显和sequence有关的。但是为什么会报出这个错误呢,在几封邮件交流之后,问题就明...
一条简单的sql语句运行15天的原因分析
在测试环境中,可能一个测试库中会有几十上百套环境在运行,一般DBA不会去主动干涉测试环境中的一些使用细节,可能问题都是开发测试来反馈给DBA采取做一个被动的处理。今天也算主动了一把,在测试环境中发下了一个大案。首先通过ash查看了下正在运行的session情况,可以很明显看到有几条sql语句竟然已经执行了15天,没错不...
巧用flashback database实现灵活的数据回滚
之前写了一篇博文分享了使用flashback database的特性来在测试环境中避免重复导入大批量的数据,造成时间和存储空间的浪费。http://blog.itpub.net/23718752/viewspace-1584057/今天碰到的这个问题更有针对性和普遍性,在很多时候都需要一套独立的环境来作为客户的培训和演示需要,环境中的数据一旦配置完成,一般是很少需...
通过shell脚本来统计段大小
今天到公司之后,就收到客户的邮件,他们提供了一个列表,希望我们能够们配合提供一份比较详细的报告,得到某个表在生产环境中所占的空间大小,他们需要根据这些信息来分析一个需求做相应的处理,这个问题处理起来还是很容易的,感觉分分钟搞定,但是自己去查看的时候,发现还是要考虑一些细节,比如这个表如果是分区表,s...
由sqlplus中的一个小细节所做的折腾
sqlplus是Oracle DBA每天都要用到烂的工具了。如果没有sqlplus还真不知道怎么和oracle对话了。转念一想,自己已经很久没使用过toad了。我们知道在sqlplus登录的时候我们可以定义一些通用的设置,在每次登录sqlplus的时候都可以生效。$ORACLE_HOME/sqlplus/admin/gloin.sql的内容是下面的形式,---- Copyright (c) 1988,...
巧用flashback database实现灵活的数据切换
今天是DTCC第二天了,抽空去听了下,因为手头有一些活,听到一半只能赶回公司继续工作。客户今天有一个需求,因为开发现在在生产环境中遇到了一些困难,需要在测试生产环境中复现问题,这样就需要从生产环境抽取出一些数据,可能数据量相对比较小,有个1G左右。需要把这些数据加载到测试生产环境中,还是来张图更加清晰。...
一条简单的sql在11g和12c中的不同
今天在查看awr报告的时候,有一句很简单的sql语句引起了我的注意,因为它Physical ReadsExecutionsReads per Exec%TotalElapsed Time (s)%CPU%IOSQL IdSQL ModuleSQL Text...
使用impdp不当导致的数据丢失问题
今天有个朋友问我们一个问题,说他在使用了impdp导入数据的时候,使用了TABLE_EXISTS_ACTION=REPLACE这个选项,结果现在数据都给覆盖了。现在没有备份,想问问能不能做相应的恢复操作。对于这个选项,自己看着熟悉,不过很少用到,碰到了这个问题,首先想到的就是闪回。不过也不能敷衍,自己在本地做了一个测试,想看看...
曲折的10g,11g中EM的安装配置过程
今天在本地搭了一套oracle环境,首先安装数据库的时候顺带了EM,结果安装好之后想修改监听器的端口,把原本15521的端口换成别的,结果在目录中修改了几个参数文件,EM竟然直接起不来了。最后自己分析了,其实有好几种思路来完成密码的修改。一种是直接删除EM,然后重建,可以使用emca -deconfig dbcontrol db -repos drop...
关于date格式的两个案例
在工作中总是会碰到各种和date相关的问题,一般这种问题都是让人很纠结的。比如前几天一个朋友和我分享了他关于时间问题的两个案例。第一个是他在做impdp导入数据的时候,发现导入很顺利完成了,但是原本的timestamp数据类型的数据都变成了sysdate值了,这样数据就完全不对应了。timestamp的数据类型精度要高得多,可以精...
关于权限管理的实用脚本
在工作中,可能会接触到很多的环境问题,对于权限问题,总是感觉心有余力而力不足,环境太多了,可能在赋予权限的时候会出差错,比如下面的场景,数据都存储在owner schema上,如果要访问这些数据,需要创建一些连接用户,所有的操作不能直接在owner schema下进行。像下面的图形,我们可以根据访问的权限定义两个角色,通...
结合EM快速解决复杂的配置问题
图形工具在学习中一般是不作为推荐工具使用的,很多时候可能工作环境都是字符界面,远程连接,基本没有可能接触到图形工具,图形工具的好处真是一把双刃剑,功能丰富全面而且极其方面,这是优点也是缺点,如果一旦脱离了图形工具,可能就会发现自己会的东西越来越少。在工作中,有时候有些同事会问我 一些关于toad,SQLDevel...