- 博客(73)
- 收藏
- 关注
新BLOG开张啦!!
:D :D 新BLOG开启,以后开始使用新BLOG了,希望大家多多交流!BLOG ADDRESS:http://www.kiddwyl.com
2009-02-03 10:02:21 233
原创 一次oracle无法open的解决
这几天因为公司的复杂查询出现性能的问题(说实话本来就没设计好,数据行数都在1000W左右),所以需要进行调优,其实问题很简单,在系统中都使用了exists来进行表关联,当然是不行的,我利用了表内联来解决问题恩,结果还算不错,从跑不出来到了第一次硬解析在10分钟以内,但是公司管理层还是希望请“大牛”来查看下(该说的我都说了,摆明了不相信我吗) “大牛”来的第一天: 一、调整过程...
2009-01-16 13:59:12 1090
原创 Oracle10g 自动共享内存管理
5.6 自动共享内存管理 从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调整各个组件的大...
2009-01-14 13:25:43 305
原创 如何改善Oracle的索引
1、速度因素 [b]PARALLEL选项[/b]:当创建索引时,Oracle首先会进行全表扫描来收集符号键和ROWID对,而PARALLEL选项允许多处理器并行扫描表,这样就会加速索引的创建过程。一般推荐的PARALLEL值为CPU数减1。 [b]NOLOGGING选项[/b]:NOLOGGING选项因为不写日志,所以大大提高了性能,比不使用NOLOGGING选项大约会...
2009-01-12 16:40:02 274
原创 利用JNI建立与C\C++的桥梁
javah - C 头文件和 stub 文件生成器javah 从 Java 类生成 C 头文件和 C 源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。 结构javah [ options ] fully-qualified-classname. . .javah_g [ options ] fully-qualified-classname. . ....
2009-01-08 21:05:43 168
Oracle latch竞争总结(一)
在Oracle中,Latch的概念是非常重要的,v$latch表的每一行包括了对不同类型latch的统计,每一列反映了不同类型的latch请求的活动情况。不同类型的latch请求之间的区别在于,当latch不可立即获得时,请求进程是否继续进行。按此分类,latch请求的类型可分为两类:willing-to-wait和immediate。 latch free,相信跟大家并不陌...
2009-01-07 11:38:24 240
原创 PX Deq: Execute Reply 案例说明
1 背景:Oracle 数据库在执行sql时,会自动的选择较优的执行计划。但有时oracle自动选择的执行计划不是最佳的执行计划,在执行的时候可能会造成效率问题,甚至会hang住。2 问题提出:A省近期20多天来在进行boss同步日志的生成时,经常出现程序长时间的运行没有相应,初步怀疑程序中的sql:SQL_TEXT--------------------------------------...
2009-01-03 09:55:55 890
Linux 常用C函数说明-内存及字符串操作篇
bcmp(比较内存内容)相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表头文件 #include定义函数 int bcmp ( const void *s1,const void * s2,int n);函数说明 bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。返回值...
2008-12-31 16:05:00 89
原创 MySQL优化经验——第一讲
今天突然想起自己在运营的PtoP影院中的mysql优化经历,就大致总结了一下,正巧在网上看到类似的文章,深有体会,在这里发一下给大家共享,也给自己做一个总结,这次作为MySQL优化的第一讲,以后会陆续往下写,大家有问题也可以互相沟通================================开始==================================随着同时在线...
2008-12-28 19:41:54 123
oracle中对workarea_size_policy和sort_area_size的总结
在实际的工作中,想必很多人会对SORT_AREA_SIZE和sga、pga搞得头晕脑胀,对workarea_size_policy采用auto还是manual也不太明白,或者是使用设置为auto,那么sort_area_size还是否有效呢?以下对以上几个问题作了综合的说明:1: 10g里还用SORT_AREA_SIZE 这个参数。if ( 数据库版本 >= 10gR1 )...
2008-12-19 12:06:52 249
原创 Oracle专用服务器与共享服务器的区别
在建立Oracle数据库的时候,应该会在数据库建立助手向导上面看到这么一个选项,就是数据库的连接模式采用什么方式。在Oracle9i或者10g中,可以看到有2种连接模式,一种叫做专用服务器连接(dedicated server) ,另外一种叫做共享服务器连接(shared server)。下面我们来分类说一下这两种连接方式的不同点。 专用服务器模式就是说每次在对Oracle进行访问的时候,O...
2008-12-19 11:51:13 101
原创 CBO学习笔记
cost of b-tree access这一节我们看看CBO是如何来计算最普通的b-tree索引的访问的cost的。我们知道B-tree索引的结构是一个树状结构,索引中包括root block,branch block, leaf block,这些结构分别相当与树的根,茎和叶。当我们使用一个索引的时候,我们首先访问索引的root block,确定需要访问大branch block。然...
2008-12-18 23:09:05 134
原创 Oracle高级SQL调优:CLUSTER_FACTOR案例研究
大家在大型数据库生产系统的运维中可能会遇到这样一个问题,一条查询语句,操作的是相同的表和数据,为什么在生产数据库上执行起来就很慢,而在备份数据库反而会很快。这其中一个重要原因就在于索引CLUSTER_FACTOR的不同。 Oracle数据库下,索引在做完统计分析后,会获得很多重要信息,其中之一就是CLUSTER_FACTOR,CLUSTER_FACTOR表示索引数据顺序和表数据顺序的一致性,...
2008-12-18 22:27:41 152
原创 Oracle分析函数RANK()|ROW_NUMBER()|LAG()使用详解
ROW_NUMBER()的使用方法: ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 详细说明: 根据COL1分组 在分组内部根据 COL2排序 而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的) RANK():排序的时候跟派名次一样,可以并列2个第一名之后 是第3名 LAG:分组...
2008-12-16 14:58:45 127
原创 index和rowid的一点关系
相信很多朋友在rowid和index之间都会有些疑问,今天在warehouse大师的blog中看到一片简单扼要的文章,在这里跟大家共享一下,相信以下的说法可以解开不少开发人员的心结。唯一index和非唯一index的index entry中尽管都存在rowid,但是其实有一点细微的差别,在唯一index中index_column就是index_column, 数据通过index_colum...
2008-12-16 14:18:01 336
原创 关于MySQL的查询缓存收
关于MySQL的查询缓存收原理QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用 QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CAC...
2008-12-13 21:21:59 95
oracle 被锁,解锁,阻塞语句
//查询被锁的表select A.sid, b.serial#,decode(A.type, 'MR', 'Media Recovery', 'RT','Redo Thread', 'UN','User Name', 'TX', 'Transaction', 'TM', 'DML', 'UL', 'PL/SQL Use...
2008-12-12 18:35:03 146
通过Oracle10g的FLASHBACK_TRANSACTION_QUERY指定事务的历史信息
在数据库操作中,我们经常会遇到余下情况:1.莫名其妙数据被DML了,不知道是谁DML的2.想知道某张表某个时间段中被那个用户操作了什么SQL以上问题我相信大家都遇到过,当然我们可以通过v$sql、v$sqltext、v$session找到我们需要的答案,我们更加可以通过FLASHBACK_TRANSACTION_QUERY中获得指定事务的历史信息以及Undo_SQL,通过这个UND...
2008-12-12 13:05:08 162
对于Oracle中DML使用UNDO的一些看法
insert操作回滚段中只记录这些记录的ROWIDupdate需要记录相关字段的undo信息delete是使用回滚段最大的操作,记录了所有删除的记录的详细信息以便于rollback对大量的记录更新的话,还会对表长时间加锁,代价比较高以上是针对DML操作使用UNDO的一些看法,大家分享...
2008-12-11 17:53:03 138
原创 Linux中/proc/[pid]/status详细说明
[root@localhost ~]# cat /proc/self/statusName: catState: R (running)SleepAVG: 88%Tgid: 5783Pid: 5783PPid: 5742TracerPid: 0Uid: 0 0 0 0Gid: 0 0 0 0FDSize: 256Groups: 0 1 2 3 4 6 1...
2008-12-10 13:05:55 330
原创 oracle中x$ksppi和x$ksppcv详解
SQL> desc x$ksppi名称 是否为空? 类型------------ -------- ---------------ADDR RAW(4) --内存地址INDX NUMBER --序号,从0开始INST_ID NU...
2008-12-09 17:22:57 438
原创 ORA-600 [2103]错误及CF enqueue竞争
昨天,客户的一套Oracle 10.2.0.3 RAC环境遇到了一个严重故障,数据库最后以ORA-600 [2103]错误中止了一个实例。日志信息大致如下:Tue Dec 2 17:21:06 2008Errors in file /u01/admin/erpdb/bdump/erpdb2_lgwr_127968.trc:ORA-00600: internal error...
2008-12-09 17:21:58 256
原创 Linux下C连接MySQL出现错误解决一例
在Linux下C连接MySQL出现问题如下: 编译成功后,运行程序,出现./connect: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory. 出现上面的错误是因为系统运行的时候没有找到程序运...
2008-12-05 16:38:36 145
原创 Oracle的redo 和undo的区别
redo--> undo-->datafileinsert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据.redo->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件...
2008-12-05 15:26:30 83
JDBC中Class12.jar和ojdbc4.jar的区别
最近在项目中仅常遇到,在这家客户那里邮件发送没问题,可是跑到另外一家客户那里缺发不出去,觉得很奇怪,通过一番折腾之后,把问题落在了Oracle JDBC Driver上,因为在客户现场,用的oracle版本不统一,有些客户使用的是oracle9i,有些使用的是Oracle10g,但是项目中同意使用了ojdbc4.jar做为驱动,那当然就有问题了,以下列出在2个驱动之间的区别: ...
2008-11-26 15:35:06 194
原创 从 v$session 视图获取客户端 IP 地址
缺省从 v$session 中不能直接获得客户端 IP,可以在数据库中创建一个追踪客户端IP地址的触发器:create or replace trigger on_logon_trigger after logon on databasebegin dbms_application_info.set_client_info(sys_context('userenv',...
2008-11-18 19:42:00 267
perl导出CSV
在现在互联网的时代,如果有些东西你清楚地,google或者baidu一下,都可以找到一大堆你要的东东,但是相信大家都有这样的经历,找到的东东或者是教程,未必能用用的得心应手,或者是说“怎么文档上这块就顺利通过了,我这里怎么就抱错呀” 今天花了很长的时间搞了一下利用perl导出CSV文件的过程,挺有感触,在这里给大家分享下 因为机器装的是RedHat AS4,2....
2008-11-18 16:30:57 658
oracle中聚合函数RANK和dense_rank的使用
聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值。在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_clause子句中的value_exprs指定字段的。其语法为:RANK ( ) OVER ( [query_partition_clause] order_by_clause )在...
2008-04-18 17:23:39 92
java的重写、重载、覆盖的区别
多态性 通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性 重载 每个类型成员都有一个唯一的签名。方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。当定义两种或多种具有相同名称的方法时,就称作重载。即重载时相同名称成员的参数列表是不相同的(参数顺...
2008-04-03 17:10:23 195
Linux下Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是...
2008-01-03 02:06:03 88
原创 Oracle 分区索引详解
语法:Table Index CREATE [UNIQUE|BITMAP] INDEX [schema.]index_nameON [schema.]table_name [tbl_alias](col [ASC | DESC]) index_clause index_attribsindex_clauses:分以下两种情况1. Local Index ...
2008-01-01 13:00:49 90
python中string的操作函数
在python有各种各样的string操作函数。在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。...
2007-12-27 11:46:05 530 1
Truncate,Delete,Drop的比较
注意:这里说的delete是指不带where子句的delete语句相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函...
2007-12-18 14:05:28 75
JAVA集合说明
Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不...
2007-12-08 15:57:04 93
JAVA复习1
这几天我在重新复习Java语言基础,虽然和团队一起,自己个人都进行了实际项目的开发,但越往上面走越觉得自己应该花点时间看看Java的基础知识,巩固一下基础。今天复习的是多态,同时写下自己的学习心得。数据抽象、继承和多态是面向对象程序设计语言的三大特性。多态,我觉得它的作用就是用来将接口和实现分离开,改善代码的组织结构,增强代码的可读性。在某些很简单的情况下,或许我们不使用多态也能开发出满足...
2007-12-08 13:03:21 104
ORACLE SQL TUNING
一.优化器模式 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须定期更新统计信息,以保证数据库中的对象统计信息(object statistics)的准确性. 如果数据库的优化器模式设置为选择性...
2007-12-06 21:49:39 210
linux头文件说明
验证程序断言 c p i o归档值 字符类型 目录项 出错码 文件控制 浮点常数 文件树漫游< g r p . h > 组文...
2007-12-03 16:48:47 117
Java 中利用管道实现线程间的通讯
在Java 语言中,提供了各种各样的输入输出流(stream),使我们能够很方便的对数据进行操作,其中,管道(pipe)流是一种特殊的流,用于在不同线程(threads)间直接传送数据。一个线程发送数据到输出管道,另一个线程从输入管道中读数据。通过使用管道,实现不同线程间的通讯。 无需求助于类似临时文件之类的东西。本文在简要介绍管道的基本概念后,将以一个具体的实例pipeapp加以详细说明。 ...
2007-11-30 13:57:57 97
Struts标签-Logic
Struts标签-Logic2007-11-06 22:28 Struts的Logic标签可以根据特定的逻辑条件来判断网页的内容,或者循环遍历集合元素,它和HTML,Bean标签是Struts应用种最常用的三个标签.它的功能主要是比较运...
2007-11-28 16:52:44 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人