使用shell脚本查看数据库负载情况
平时在查看数据库的问题时,会有种迷茫的感觉,如果没有任何人反馈问题,基本上没有主动查找问题的方向,awr,ash都是在得知问题发生的时间段或者一些时间戳来从历史记录中查找相关的信息,个人整理了如下的脚本,能够显示当天的时间段内数据库的负载信息,能够很好掌握数据库的忙闲情况。 来看一个简单的例子,比如我要查...
不走索引场景的一次分析优化
一般一个SQL查询数据量很大,且优化余地不大时,我们必然想开启并行,用并行的方式提高数据的查询速度,然后不是任何情况下开启并行都可以达到最佳运行效果,有时原本使用索引的执行计划,因为使用并行反而该走全表扫描,因此必须通过hint方式引导优化器采取正确的执行计划,对于如下SQLSELECT &nbs...
改写不走索引的SQL
如下SQL为保证所有数据都出自UP_LOAD_SERL10表(后面将以别名T3称呼此表,其他表也已别名称呼)SELECT T1.SERL_NO ,T1.SI_YMD ,T1.ST_YMD ,T1.ST...
对hint的调优
实际工作中经常遇到开发人员加hint为提高数据的批处理的速度,但为了提高处理速度经常遇到并行的hint随意使用,并行不是万能的,不合理的使用只能阻碍运行速度,使用如下SQL说明并行问题SELECT /*+ LEADING(T1) USE_HASH(T_LGIN) PARALLEL(T1,8) */ &nb...
sqlloader导入含有回车的字符数据
用Excel上传数据,其中有字段中有回车符,可以先找出有回车符的字段,去掉回车符,再用sqlloader导入到数据库找出回车符字段方法,存成txt,在txt里找有””号的数据,这行数据是分两行表示在txt的。然后在excel里用如下三种方法都可以去掉回车符方法1:查找替换,查找-格式选项里勾选自动换行...
Oracle DBA常用sql分享
Oracle DBA常用sql分享
hadoop集群多节点安装详解
经常使用工具自动构建大规模集群环境,小环境也有10几台的机器,虽然自动部署很省事,但自动构建的背后那些机器自动完成的工作让我们疏忽了,特别是要自己构建一个小集群用于了解搭建细节和原理还是很有帮助的,今天为复习和了解下搭建过程中的细节,搭建了一个3节点的机器,并记录自己的搭建过程。一 搭建集群...
plsql显示韩文乱码的处理方法
在用plsql查询有韩文数据的字段时,发现是乱码,中文没有问题于是在客户端做了些修改,记录下以供参考<br />为客户端显示正常,要保证在客户端的环境变量中设置nls_lang,这个值的格式是language_territory.charset 由三个部分组成语言,地域和字符集,每个成分控制了nls子集的特性。Language指定服务器消息的语言,territ...
详解表连接顺序和连接方式是否影响查询结果
<p>两张表连接时,不论A连接B表,还是B表连接A表,连接结果的总数都不会改变,但如果多张表连接,甚至又有外联结时连接结果的总数是否会发生变化,且原因是什么,带着这个问题抓取产品库中的一条典型SQL进一步分析。<br />有三张表HQ_READ.UP_LOAD_SERLNO_0721 ,MCS_HQ.HI_SALE_CHNL ,MCS_HQ.MA_CHNL 分别叫T1,T2,T3...
执行长达2分多钟的大型sql优化
在工作中,有些报表的展示较复杂,且需要统计的内容不断变化,开发的sql越来越长,运行越来越慢,这时优化必不可免,先来看下如下冗长的执行了2分多钟的sql,看看从中是否能找出些规律
多表外连接的使用
目前需要找的报表如下imie号,一级代理商进货日期,二级代理商发货日期,渠道销售日期,门店销售日期,型号,实际开机城市,经度,纬度等等需要查询的条件是根据一级代理商的code和门店销售日期(4,5月)找出对应条件内imie的渠道信息于是根据上述条件和报头,以及相应表关系需要将各表连接后取值,在连接时必须考...
不懂业务的SQL优化方法
看着如下长长的SQL,对于其要实现的功能一无所知,开发人员需要根据领导的需要调整该SQL并导出产生的数据,但每次运行都要5分钟左右,对对于开发,调试和领导确认都不能接受,开发人员直接将此SQL转给我优化,由于此SQL并不写入应用且手工执行频率很高,于是最直接的方法就是先并行加快sql的执行速度WITH T_MAST AS(&nbs...
数据仓库-按周的累加和统计月数据
公司要出一报表,计算某月数据,并按周数据的累加计算出月的数据,这里周的划分是自己规定,比如5.3号属于4月的18周,不是5月的周,格式类似这样model cd,流通类型code,客户类型code,總重點賣場數,week19%,week19因此在根据周的累加和统计月的数据方法如下SELECT /*+ FULL(T1) FULL(T2) USE_HASH(T1) */&nb...
数据仓库开发报表常用函数—ROLLUP和GROUPING
在报表开发中常用到小记,合计这样统计功能,经常看到网上谈论GROUPING,GROUPING SET,ROLLUP,CUBE等函数的使用,当时也没有足够的数据试验,目前在项目里也时常用到这样的报表函数,有些心得就记录下来与大家分享下其实各报表函数统计方法方式十分相似,掌握最基本的其他自然也就了然于胸。这里介绍下本...
unix中lun、pv、vg、lv等之间的关系
RAID NAME DISC SIZE*COUNT Usable Size MDI1 ...
分页查询重构
分页查询中要能根据当前页的页号和页面大小计算出每次分页的第一条数据行号,这样知道了当前要查询页的第一条数据行号和该页共几条记录就能确定分页需要查询的数据范围,在具体实现时可以按如下方式编写@Overridepublic Page<DataVo> ListByPage(Map params) { Integer currentPage = (...
查看ORACLE事务隔离级别方法
众所周知,事务的隔离级别有序列化(serializable),可重复读(repeatable read),读已提交(read committed),读未提交(read uncommitted)。根据隔离级别的等级,对事务隔离的严格度也不同,如序列化的隔离级别最严格,并发的效果就越不理想,各种数据库都有对事务隔离的支持,那么如何查看ORACLE对事务的隔离级别...