- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 set autotrace 到底有没有执行SQL?
下面我们来做实验,观察v$sql中的信息,结论是: set autotrace trace exp没有执行SQL,只是解析SQL; set autotrace trace stat执行SQL; set autotrace trace traceonly执行SQL; SQL> create table test as select * f
2013-06-25 20:15:39 1977
原创 必须声明标识符 'DBMS_SYSTEM.SET_EV'
在用10046事件trace其他会话时,报错SQL> exec dbms_system.set_ev(148,46,10046,12,'');BEGIN dbms_system.set_ev(148,46,10046,12,''); END; *第 1 行出现错误:ORA-06550: 第 1 行, 第 7 列:PLS-00201: 必须声明标识符 'DBMS_S
2013-06-24 22:03:36 5222
转载 打鼾的治疗偏方
最近我回家时,听我爸说我妈打了几十年的呼噜治好了,我很奇怪。因为以前听说过:打呼噜只能手术才能治好,不然任何办法没有。可是我妈确实是好了,而且没动手术。虽然因为睡姿不对偶而打一下,但跟以前完全不同。如果您或您的家人有打呼噜的,不妨用这个偏方试一试,小偏方治大病呢。方法1. 龙胆草、当归各十克。 熬药方法:浸泡1小时以上,快火浇开,慢火20分钟,倒出药水后再用同样方法熬第二遍。两遍药
2013-06-24 06:16:36 1368
原创 autotrace 安装
用sys用户运行脚本ultxplan.sql(UNIX:$ORACLE_HOME/rdbms/admin, Windows:%ORACLE_HOME%/rdbms/admin)ultxplan.sql。SQL> connect sys/sys as sysdba;SQL> @?/rdbms/admin/utlxplan.sql;SQL> create public synonym pl
2013-06-20 16:39:27 1309
原创 10g下使用参数skewonly收集直方图的缺陷
数据库版本是10g收集直方图使用参数skewonly有缺陷,11g已经解决,实验如下:SQL> create table test 2 ( 3 id varchar2(60) primary key, 4 name varchar2(100) 5 );表已创建。SQL> insert into test 2 select rpa
2013-06-17 20:03:59 1347
原创 收集直方图AUTO和SKEWONLY的区别
收集列的直方图在官方文档中,Oracle® Database PL/SQL Packages and Types Referencemethod_optAccepts:· FOR ALL [INDEXED | HIDDEN] COLUMNS[size_clause]· FOR COLUMNS [size clause] column|attribut
2013-06-17 19:24:14 2214
转载 oracle数据库巡检
1.数据库概要2. 参数文件(是spfile还是pfile)3. 非默认的参数4. 控制文件及其状态5. 表空间及数据文件6. 重做日志文件信息7. 内存分配概况8. Library Cache Reload Ratio(9. Data Dictionary Miss Ratio(10. 共享池使用概况11. 共享池建议12. DB Buffer Cac
2013-06-17 17:58:28 1127
原创 查看表、视图、索引、存储过程、触发器和包的定义
查看表的定义: set long 999999 select dbms_metadata.get_ddl('TABLE',upper('&table_name') from dual ;查看视图的定义: select text from user_views where view_name=upper('&view_name') ;查看index的定
2013-06-17 16:11:38 1351
原创 Cache buffers chains latch 与Cache buffers LRU chain latch
Cache buffers chains latch官方解释: This latch is acquired whenever a block in the buffer cache is accessed (pinned).Reducing contention for the cache buffer chains latch will usually require red
2013-06-15 10:35:31 1560
原创 weblogic数据库连接池disabled
现场报系统卡住了,看当时的weblogic(版本9.2)后台日志,有大量的连接池不可用,这种以前也见过,是网络状况不佳造成的,报错如下:weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool DataSource is disa
2013-06-14 17:44:11 5219 3
原创 OEM大量占用cpu解决方法
今天用pl/sql连数据库很慢,执行SQL也很慢,使用的数据库是10.2.0.1.0 。 1. 登陆到数据库服务器上,使用top命令,看到有一个进程perl占用CPU为100%,是属于oracle用户的。 2. 直接kill -9,可惜的是过了几秒钟此进程有启动了,又占用了100%的CPU。 3. 关闭emctl stop dbconsole,然后再ki
2013-06-14 12:41:16 6601
转载 Oracle JDBC内存管理--Oracle白皮书2009年8月 .
原文:http://www.oracle.com/technetwork/database/enterprise-edition/memory.pdf介绍Oracle JDBC驱动程序可能会使用大量的内存。这是一种有意识的设计选择,在使用大量内存与提高性能之前做出权衡。在大多数情况下,对于大多数用户,这已被证明是一个不错的选择。一些用户已经经历了JDBC驱动程序使用的大量内存的问题
2013-06-13 20:06:50 1022
原创 weblogic错误之weblogic.rjvm.RJVMImpl
6月9日现场反馈上午10点左右系统卡了一会。我首先分析了下当时的AWR报告,没有任何问题。再分析了当时的weblogic日志,有很多报错:java.io.IOException: The connection manager to ConnectionManager for: 'weblogic.rjvm.RJVMImpl@174c25f1 - id: '5508187429651368410
2013-06-13 14:49:24 9951 1
原创 arraysize 对性能的影响
arraysize 和 fetch size 参数都是客户段的一个参数,需要在客户段来设置,arraysize 是在sqlplus 中设置的,如果通过程序去连数据库,那么这个参数就是fetch size 。Arraysize specifies how manyrows SQL*Plus will fetch in a call. The number n can be between 1 an
2013-06-12 21:58:15 1705
原创 nested loops以选择驱动表实验
如果两表都没有索引,那nested loops如何选择驱动表呢?下面我们来做个实验SQL> create table t_xiao(a1 number(10));SQL> create table t_da(a2 number(10));SQL> begin 2 for i in 1 .. 10 loop 3 insert into t_xiao values
2013-06-11 23:04:29 1767
转载 分享:从100PV到1亿级PV网站架构演变
【IT168 评论】一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的 架构师不是一天练成的。 1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布
2013-06-09 17:04:40 1527
原创 全局索引与本地分区索引的一个重要区别
全局索引和本地分区索引的概念很简单,全局索引,把索引建在一个段中,本地分区索引,按照每个分区来建索引,分区有多少个,分区索引就有多少个。DDL会使全局索引失效,而本地分区索引不受影响,这个对数据的维护意义重大。下面来做一个实验:SQL> create table TEST 2 ( 3 OWNER VARCHAR2(30) not null, 4
2013-06-09 08:25:09 2297
原创 sort group by和hash group by性能比较
在10gR2中,group by由以前的sort group by改成了hash group by,这种算法上的改进,取消了sort group by必须进行的排序操作。官方文档上说hash group by的性能强于sort group by,但经过我的测试,不管是逻辑读和cost都是一样的。SQL>create table test as select * from dba_objects
2013-06-08 14:45:58 9328
原创 trunc()函数用法
1. 日期select trunc(sysdate) from dual --2013-6-18 今天的日期为2013-6-18select trunc(sysdate, 'mm') from dual --2013-6-1 返回当月第一天.select trunc(sysdate,'yy') from dual --2013-1-1 返回当年第一天
2013-06-08 08:43:39 1825
原创 字段类型设计与实际业务不符引发的问题2
开发组同事发了一条SQL语句,说执行报错ORA-017220: 无效数字。 我看了下语句,没有类型转换的函数,判断一定是发生了隐形的类型转换。果然,查到一张表的字段有为null,有空格,有'/',由于发生了隐身转换,所以报错。 问题是解决了,但为什么造成这种问题呢,是我们的程序写的不好,页面端控制不严。这不是根源,根源是在做数据库设计的时候就要把握字段的类型,要让这
2013-06-07 18:35:24 1510
原创 字段类型设计与实际业务不符引发的问题1
在表的设计过程中,开发人员总是对字段的类型不以为然,下面来演示一个例子,按照应该设计为number的,结果设计成了varchar2,那会导致什么问题呢?下面我们来做一个实验。SQL> create table test(id varchar2(10));表已创建。SQL> declare 2 i number; 3 begin 4 for i in 1.
2013-06-07 16:10:19 1483
原创 SQL执行过程
SELECT1. 语法分析: 1.1 从共享池的库缓冲区搜索,该语句是否执行过,凡是执行过的sql语句,oracle会使用HASH函数计算,产生一个很小的文本记录,如果是第一次执行则进入2 ; 1.2. 检查语法、对象名、权限(权限的信息放在oracle的数据字典当中)oracle先从共享池的数据字典缓冲区中搜素,如果没有,再从数据文件(system表空间的
2013-06-07 15:58:00 936
原创 10046trace 中不显示执行计划的解决方案
今天在调优一条SQL,看执行计划不知道哪里出了问题,用10046跟踪了一下,但始终找不到执行语句的执行计划,但是其他的执行计划是看的到的。在网络上找了下,解决方法如下: 1. alter session set session_cached_cursors =0; 2. alter session set events '10046 trace name context for
2013-06-07 15:00:34 1312
原创 dump b*tree内容解析
SQL> create table test as select * from dba_objects;SQL> create index ind_object_name on test(object_name);SQL> select index_name,s.blevel from user_indexes s where s.index_name='IND_OBJECT_NAME';
2013-06-06 13:04:46 1744
原创 如何解决绑定变量造成执行计划不准的问题?
我们一直都在强调用绑定变量,它可以减少SQL分析,节约共享池的空间。在我的上一篇blog中,讨论了绑定变量会使执行计划不准http://blog.csdn.net/guogang83/article/details/8175633 。 正如上一篇的所说的,如果第一次执行是走的索引,那以后一直都走索引;如果第一次不走索引,那以后一直都不走索引。使用了绑定变量后,优
2013-06-03 08:49:35 1949
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人