自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 2014-8-21的一次性能诊断--应用服务器瓶颈

今天现场实施反馈系统整体慢,已经接到用户非常多的投诉,要求现场发回weblogic日志和Oracle 数据库报告。简要说下系统的架构:典型的B/S三层架构,开发语言是java,中间件用的是weblogic,数据库用的是Oracle,用的都是pc server。    1.分析weblogic日志和数据库报告。weblogic日志里面没有stuck的请求,也没有连接池方面的问题,也没有OS方面的

2014-08-27 15:05:44 1377

原创 Oracle 左外连接的一些测试

为了更加深入左外连接,我们做一些测试,外连接的写法有几种形式,我们可以通过10053跟踪到最终SQL转换的形式。--初始化数据create table A(  id number,  age number);create table b(  id number,  age number);insert into A values(1,10);in

2014-08-27 14:39:05 1296

转载 阿里双十一数据库技术

真的很抱歉,我的博客已经很久没有更新了,因为花了太多的时间在微博和微信上,当然最主要的原因还是工作实在太忙了,仅剩的那点业余时间都用来陪娃了。从2012年开始,工作重心转移到了淘宝和天猫,我的技术方向也发生了改变,2012年和2013年,经历了两次双十一,在这个过程中学到了很多东西。尤其是2013年的双十一,系统准备的非常充分,技术上有很多创新,团队也得到了成长。这篇文章是我为《程

2014-08-25 18:20:46 1105

原创 Oracle 11g ddl_lock_timeout

session1:SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Pr

2014-08-22 11:29:58 2294

原创 Oracle rownum影响执行计划

今天调优一条SQL语句,由于SQL比较复杂,用autotrace很难一眼看出哪里出了问题,直接上10046。SELECT AB.*FROM (SELECT A.*, rownum RNFROM (SELECT *        from (SELECT DISTINCT (D.DEVICE_ID), F.FUNCTION_LOCATION_ID                f

2014-08-20 19:42:40 2518

原创 Oracle 11g新特性invisible index(不可见的索引)

如果一张表上有十几个索引,你有什么感受?显然会拖慢增、删、改的速度,不要指望开发人员能建好索引。我的处理方法是先监控很长的一段时间,看哪些索引没有用到,然后删除。但删除以后,如果发现某一天有用,那又要重新建,如果是大表,那就有些麻烦。现在11g提供一个新特性,不可见索引,可以建索引设置为不可见索引,CBO在评估执行计划的时候会忽略它,如果需要的时候,设置回来即可。 还有一种用途,你在调试一条SQL语句,要建一个索引测试,而你不想影响其他的会话,用不可见索引正是时候。

2014-08-19 16:46:05 1953

原创 Oracle虚拟索引的运用

在做SQL调优的时候,有的时候需要加一个索引试试能不能见效,如果此时这张表非常大,建索引将会非常之麻烦,这种场景虚拟索引就该登场了。下面来做个试验:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g

2014-08-19 10:37:14 1499 2

原创 Oracle 11g对依赖的判断达到字段级

在Oracle 10g下,判断依赖性只达到了对象级,也就是说存储过程访问的对象一旦发生了变化,那么Oracle就会将存储过程置为INVALID状态。所以在为表做了DDL操作后,需要把存储过程重新进行编译。       在Oracle 11g下,对依赖的判断更加细化,判断到了字段级。虽然有这么好的特性,但我还是建议做了DDL后把存储过程再重新编译一下。Oracle 10g下:SQL>

2014-08-19 09:06:59 1659

原创 Oracle 11g新增not null的字段比10g快--新特性

在11g之前增加一个not null的字段非常慢,在11g之后就非常快了,我们先做一个测试,然后探究下原理。SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition

2014-08-18 12:38:03 1242

原创 mysql性能调试工具profile

我一直在找mysql中有没有类似Oracle 10046类似的工具,可以看到SQL执行的时间消耗在哪里。终于在网上找到一个profile,使用一些,觉得不错。mysql> select version();+-----------+| version() |+-----------+| 5.6.16    |+-----------+1 row in set (0.00

2014-08-14 19:58:53 1698

原创 java.net.SocketException: Too many open files

今天实施同事报现场有一个节点无法访问,把现场的weblogic日志拿回来,显示如下:                                 <Unable to create a server socket for

2014-08-13 18:25:51 5055 2

原创 having在Oracle和mysql中的一点不同点

在Oracle中,having一定要结合group by使用,但在mysql中,情况就不一样了,可以单独使用。C:\Documents and Settings\guogang>sqlplus test/testSQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 12 09:09:58 2014Copyright (c) 1982,

2014-08-12 09:13:44 1444

原创 Oracle 11g下重现library cache lock等待事件

从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象。如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题。SQL> select * from v$version;BANNER--------------

2014-08-11 11:43:50 2119

原创 mysql5.6.16下跟踪SQL查询转换的结果

当SQL执行时,会做一些查询转换,你看到的SQL很可能被转换为其他的形式的SQL执行(有视图重写,查询转换,谓词推进等)。在Oracle下,可以通过10053跟踪SQL语句。在mysql下,可以通过设置optimizer_trace来实现。mysql> select version();+-----------+| version() |+-----------+| 5.6.1

2014-08-08 14:26:30 1502

转载 互联网DBA需要干的一些事情

很早前就想写篇博文介绍一下互联网DBA需要干的一些事情,但苦于没有时间,忙于平台建设,最近,各个模块都初具规模,故有时间静下心来,介绍一下。        众所周知,互联网DBA与传统行业DBA有很大的不同,那就是管理的机器多,新技术更新快,面对的开发多、网络环境复杂、要求7*24待机;这样就导致互联网DBA的工作在传统DBA工作之上,增加了更多的复杂性,我们必须考虑如何大批量部署,如何集中化

2014-08-05 20:42:13 943

原创 Oracle中的DETERMINISTIC

多次看到DETERMINISTIC,一直很疑惑,今天做了一个实验。我们欺骗ORACLE说是一个DETERMINISTIC函数,它在SQL中只调用一次。如果不使用DETERMINISTIC,可以看到出来的值都不一样。使用DETERMINISTIC后,不同的会话都出来一样的值。SQL> create or replace function f_t(i_p int) return number DE

2014-08-05 17:19:57 2649

原创 Oracle 11g 的PL/SQL函数结果缓存

模仿Oracle性能诊断艺术中的例子做了两个试验,书上说如果不用RELIES_ON,则函数依赖的对象发生的变更操作就不会导致结果缓存的失效操作(result_cache RELIES_ON(test1,test2)),试验证明不对,函数f1()并没有使用RELIES_ON,但表上的变化影响到了函数。C:\Documents and Settings\guogang>sqlplus gg_tes

2014-08-04 19:59:58 1816

原创 oracle 11g 设置用户密码大小写敏感

11g通过一个参数设置密码大小写敏感,下面来做个试验:C:\Documents and Settings\guogang>sqlplus gg_test/[email protected]_ggSQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 4 17:54:19 2014Copyright (c) 1982, 2005, Or

2014-08-04 18:13:07 1960

编译原理及实践

一起来学编译原理,看看编译器内部的工作

2008-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除