- 博客(19)
- 资源 (1)
- 收藏
- 关注
转载 原来sql_id可以转化成hash value
看了Tanel Poder的blog: http://blog.tanelpoder.com/2009/02/22/sql_id-is-just-a-fancy-representation-of-hash-value/select trunc(mod(sum((instr('0123456789abcdfghjkmnpqrstuvwxyz',
2014-12-26 17:16:05 1188
转载 Oracle查看表中每个字段的统计信息脚本
脚本可以很方便地看到表中每个字段的统计,优化器生成执行计划的时候也是看这个。SQL> @d:/stat_sanity.sql pub_userCOLUMN_NAME DISTINCT DENSITY NULLS BKTS LO HI------------------------------ -----
2014-12-26 16:55:02 1376
原创 Oracle 执行计划中的buffer sort
Oracle 执行计划中的buffer sort实际上没有排序,只是把数据加载到内存,不扫描多次表。--制造数据drop table test purge;drop table test1 purge;create table test as select * from dba_objects where rownumcreate table test1 as select *
2014-12-26 16:16:33 10362
原创 Oracle中如何判断SQL是否真正做了排序
在Oracle中,有时候在执行计划中看到sort关键字,就有人认为是做了排序,其实不一定。可以用下面的方法实验:drop table test purge;create table test as select * from dba_objects;exec dbms_stats.gather_table_stats(user,'test');select /*+gg_test
2014-12-26 10:18:44 1495
原创 11g下使用参数skewonly收集直方图的缺陷已修复
之前在10g下验证过使用参数skewonly收集直方图的缺陷,11g下已经修复。直方图在大数据量上显的越来越重要了,如果不准,执行计划很可能不准。SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Orac
2014-12-24 17:34:24 1287
原创 DML过程中记录错误日志
当你插入几百万数据时,因为有几条脏数据而导致插入失败,是不是非常恼火。10g R2之后有个新功能,将插入过程中失败的记录插入到另一张表中。SQL> drop table test purge;SQL> drop table test_bad purge;SQL> create table test as select * from dba_objects where 1SQL>
2014-12-22 09:17:02 1386
原创 oracle hint inline materialize
当我们使用with的时候,oracle可能会把with里面的结果转换为临时表,这是只是可能,因为CBO会判断。 inline是不转换成临时表,materialize是强制转换成临时表。制造数据drop table test1 purge;drop table test2 purge;drop table test3 purge;create table test1 as se
2014-12-16 14:57:16 4000
原创 ORA-07445 第一参数为:kkqljpmpr
在版本11.2.0.1.0上,在pl/sql developer中执行一条SQL会导致连接中断,这种错误要到trace目录下找到错误日志文件,再定位。查了一下资料,是这个版本的bug。Dump continued from file: d:\app\gcp\diag\rdbms\orcl\orcl\trace\orcl_ora_6040.trcORA-07445: 出现异常错误: 核心转储
2014-12-16 11:38:59 2266
原创 Oracle 11.2.0.1.0下ACS测试
在版本11.2.0.1.0,ACS(adaptiver cursor sharing)很令我失望,测试的结果是: 1. 在绑定窥探有效的情况下,直方图准确的情况下,CBO总是以第一条SQL的执行计划为准。 2. 在绑定窥探失效的情况下,CBO完全忽略直方图。 在这个版本下的SQL,如果是偏于OLAP的SQL,还是不用使用绑定变量为佳,跟10g一样的处理方式。SQL>
2014-12-10 16:46:21 1158
原创 java.sql.SQLException:ORA-24778:无法打开连接
weblogic日志中报:java.sql.SQLException:ORA-24778:无法打开连接。分析功能是有多次对远程表的操作,先查看关于db_link的参数:SQL> show parameter open_linksNAME TYPE VALUE--------------------------
2014-12-10 10:10:55 4161
原创 Oracle一条SQL语句时快时慢
今天碰到一个非常奇怪的问题问题,一条SQL语句在PL/SQL developer中很慢,需要9s,问题SQL: SELECT * FROM GG_function_location f WHERE f.parent_id ='03000000000001'; 表GG_function_location有5千万的数据,parent_id上是有索引的。 诊断第一步:就在PL/SQL
2014-12-09 18:43:46 10293
原创 Oracle存储过程记录异常
对于Oracle的存储过程,抛出异常可以抛向代码或是用表记录。如果你的系统应用有很多节点,像我们40个节点,如果抛错抛到代码里面,错误根本就无法找到,最好是错误用表记录。记录错误的这个功能最好是通用的。--建立错误日志表create table PUB_PROC_ERR_LOG( LOG_ID NUMBER, MODULE_NAME VARCHAR2(100),
2014-12-08 14:43:11 2105
原创 weblogic 12 套接字泄露处理方法
现场weblogic报 > 处理方法有两种:BEA-002631 - Reached Maximum Open Sockets / Leak of Sockets in CLOSE_WAIT state (文档 ID 1673969.1)转到底部In th
2014-12-05 18:45:53 4214
原创 ORA-03249: 自动段空间管理的表空间大小都应至少具有 5 个块
做一个测试需要建一个表空间,报错。SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -
2014-12-04 08:51:06 2152
原创 解决不能连接远程postgresql
在远程服务器上安装了postgresql,用 pgAdmin添加服务器始终不行。 解决办法: 在远程的postgresql数据库上的pg_hba.conf中添加 host all all 0.0.0.0/0 trust 并保证postgresql.conf 中参数设置为listen_addresses = '*' 修改完毕后重启:
2014-12-03 20:25:59 3665
原创 Oracle下批量生成ADDM报告
使用方法: 在E盘下面建立addm的目录,将三个文件放入到其中addm.cmd、addm.sql、myaddm.sql. 前提连上的用户需要被赋予两个权限。 grant select any dictionary to user;-----user为生产数据库账号 grant advisor to user;-------user为生产数据库账号
2014-12-02 17:13:02 1923 1
原创 Oracle 11g pivot列转行
之前写过一篇行转列的文章:Oracle 简单的列转行 SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.
2014-12-02 10:04:19 2385
原创 Oracle FGA细粒度审计
如果你想要审计表上,在某个时间,哪些人,操作哪些DML语句,用FGA是个不错的选择。SQL> select * from v$version;Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE ...
2014-12-01 09:21:27 2254
原创 Oracle用spool导出数据
使用spool导出数据有时候也是一个比较好的选择,7万条数据导出需要10s,注意的是需要用@d:/spool.txt调用,set termout off才会生效不显示到屏幕。SQL语句和spool off后面要加分号。SQL> drop table test purge;SQL> create table test as select * from dba_objects;SQL> s
2014-12-01 08:42:37 4817
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人