博学,审问,慎思,明辨,笃行

导航

03 2014 档案

30岁以上工程师——无法说出的悲哀与迷茫!(转)
摘要:本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你和我一样加入这个被其它人认为是风光无限的“白领”吧。如果你不是特别的与人世隔绝,我想你一定看过金老先生的名著《笑傲江湖》吧,里面有一门十分奇特的武功叫做"辟邪剑法",你看这个小说第一次看到这种功夫的练法时,我想你当时一定笑歪了牙“呵呵,真好玩!”,可是现在我很痛心的告诉你:你选择的开发工作就是你人生路上的"辟邪剑法",而你现在已经 阅读全文

posted @ 2014-03-25 23:26 pengdaijun

从30岁到35岁:为你的生命多积累一些厚度(转)
摘要:你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇;你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担那些似乎命中已经注定的代价。在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变着一切。”我始终相信一句话:出来混,迟早要还的。虽然你我皆是凡人,只是这芸芸众生中的普通一员,但我依然希望每个人的生命都能够迎着太阳开花结果。不管以你现在的阅历是否能够理解这段话的涵义,请先记下来。我相信总有一天,你会明白。因为,时间能解释一切,时间能证明一切,时间能解决一切。——题记我的那本写给职场新人的书《 阅读全文

posted @ 2014-03-25 22:29 pengdaijun

Oracle 表的分析统计(转)
摘要:Oracle表的分析统计===========================================================作者: tolywang(http://tolywang.itpub.net)发表于:2008.09.03 15:19分类: Oracle数据库管理出处:http://tolywang.itpub.net/post/48/470117---------------------------------------------------------------讨论一:使用dbms_stats还是analyze自从Oracle8.1.5引入dbms_stat 阅读全文

posted @ 2014-03-23 22:53 pengdaijun

Oracle 锁(转)
摘要:Oracle锁的分类1、按用户与系统划分(1)自动锁:当进行一项数据操作时,默认情况下,系统自动为此数据库操作获得所有有必要的锁。自动锁又分为DML锁、DDL锁、内部锁和闩(shuan)。(2)显示锁:某些情况下,需要用户显示的锁定数据库操作要用到的数据,使数据库操作执行得更好。显示锁是用户为数据库对象设定的。提示:内部锁和闩:一种资源,如果可能发生多个进程同时访问的情况,造成资源的破坏,那么就需要给这种资源上一个锁,如果这种资源很简单,如就是内存的分配和释放,那么就是用内部锁和闩。2、按锁级别划分(1)排他锁(Exclusive Lock,X锁):事务设置排他锁后,该事务单独获得此资源,另一 阅读全文

posted @ 2014-03-23 20:10 pengdaijun

Oracle XML函数(转)
摘要:1介绍XML(eXtended Markup Language可扩展标记语言)是一种基于文本,用于结构化任何可标记文档的格式语言。它是一种轻便的,可扩展的,标准的且简学易懂的保存数据的语言。它起源于SGML,并可模拟为树型。正因为这样,Oracle提供了一些函数来使用这种实用的语言来在数据库中保存文档。因此,学习这些函数来使得保存的数据更加具有可读性是很必要的。 通过使用内置XMLType类型,Oracle允许将XML文档存放在数据库中,为了加强对XML的支持,Oracle还提供了一些XML函数。1 .1准备阶段在介绍这些XML函数之前,请读者首先建立表XMLTABLE,并为其插入数据,SQL 阅读全文

posted @ 2014-03-23 20:03 pengdaijun

Oracle LOB类型学习(转)
摘要:一、LOB类型分类CLOB:字符LOB.用于存储大量的文本信息.采用默认字符集存储NCLOB:用于存储字符LOB,采用数据库的国家字符集来存储字符.而不是数据库的默认字符集.BLOB:二进制LOB,存储二进大量的二进制信息.存储时不会进行字符集转换.CLOB和BLOG在ORACLE 10G中可存储8TB字节.BFILE:二进制文件LOB,只是一个文件指针.具体的文件存储在操作系统中.二、存储create table lob_table(id number(10) primary key,in_lob clob ,out_lob clob)lob (in_lob) store as (enabl 阅读全文

posted @ 2014-03-23 20:00 pengdaijun

Oracle DBMS_LOB包基础应用(转)
摘要:DBMS_LOB包应用1、dbms_lob.compare(lob_1 in blob/clob/bfile, lob_2 in blob/clob/bfile,amount in integer:=4294967295,offset_1 in integer:=1,offset2 in integer:=1) return integer;如果比较结果相同则返回0,不同则返回其他非0整数。select id,in_lob,out_lob,dbms_lob.compare(in_lob,out_lob)from nyytest.lob_tablewhere id=1;IDIN_LOBOUT_L 阅读全文

posted @ 2014-03-23 19:55 pengdaijun

Java 存储和读取 oracle CLOB 类型字段 (转)
摘要:packageoracle.clob;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;importjava.io.Reader;importjava.io.StringReader;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLExc 阅读全文

posted @ 2014-03-23 15:57 pengdaijun

Oracle 数据库主键外键和索引(转)
摘要:主键:1. 单列键;2. 多列键;3.主键上都可以建立唯一索引,oracle需手工创建;sql server会自动为主键创建唯一索引4.B表的主键在A表里成为外键,建立外键,就自动建立外键的约束(各种约束见链接)5.多列索引的最做前缀-------------------------------------------------------------------------------引用了博文:http://blog.csdn.net/xrt95050/article/details/5556411数据库的几个概念:主键,外键,索引,唯一索引主键:主键是数据表的唯一索引,比如学生表里有学 阅读全文

posted @ 2014-03-23 15:50 pengdaijun

GRE逆序词典第1组
摘要:meccareplicabarrancaarmadagravidaagendapanaceadiarrhoeanauseasagaapocryphaphobiaxenophobiaacrophobiaclaustrophobiafasciaacedianostalgiamyalgiabranchiasaturnaliapenetraliahaemophiliaanemiamaniamegalomaniapyromaniadipsomaniakleptomaniagardeniaschizophreniainsigniaactiniainsomniapneumoniaparanoiacornuc 阅读全文

posted @ 2014-03-21 23:06 pengdaijun

Oracle 组合分区(转)
摘要:Oracle 11g以前:Rang - List, Rang - HashOracle 11g:add Rang - Rang, List - List, List - Range, List - Hash简要测试了range,hash,list分区的语法及维护操作;oracle也提供了组合分区的功能,详细资料请参考:http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_7002.htm#i2201774大致分为: 组合范围分区 组合列表分区 组合哈希分区本文我们主要测试组合范围分区,奉上实例----测试情景: SQL 阅读全文

posted @ 2014-03-18 21:44 pengdaijun

Oracle 段的概念总结(转)
摘要:段概述段(segment)由一组数据扩展(extent)构成,其中存储了表空间内各种逻辑存储结构的数据。例如,Oracle能为每个表的数据段(data segment)分配数据扩展,还能为每个索引的索引段(index segment)分配数据扩展。数据段简介在Oracle数据库中,一个数据段可以供以下方案对象(或方案对象的一部分)容纳数据:1、非分区表或非簇表2、分区表的一个分区3、一个簇表当用户使用CREATE语句创建表或簇表时,Oracle创建相应的数据段。表或簇表的存储参数(storage parameter)用来决定对应数据段的数据扩展如何被分配。用户可以使用CREATE或ALTER语 阅读全文

posted @ 2014-03-17 00:23 pengdaijun

Oracle 深入理解Oracle中的latch(转)
摘要:转自:http://czmmiao.iteye.com/blog/1473965串行化概述串行化 - 数据库系统本身是一个多用户并发处理系统,在同一个时间点上,可能会有多个用户同时操作数据库, 多个用户同时在相同的物理位置上写数据时,不能发生互相覆盖的情况,这叫做串行化,串行化会降低系统的并发性,但这对于保护数据结构不被破坏来说则是必需的。在Oracle数据库中,通过闩锁(latch)和锁定(lock)来解决这两个问题。闩锁和锁定既有相同点又有不同点。相同点在于它们都是用于实现串行化的资源。而不同点则在于闩锁(Latch)是一个低级别、轻量级的锁,获得和释放的速度很快,以类似于信号灯的方式实现 阅读全文

posted @ 2014-03-16 23:04 pengdaijun

Oracle 的data block内容研读(转)
摘要:转自:http://blog.itpub.net/758322/viewspace-688379DataBlock是Oracle中存储数据块的最小存储单元,由多个os数据块组成。主要由三个逻辑层组成(通过c语言描绘的结构,如下图一所示):the cache layer,the transaction layer,data layer。如果再细化,data layer又分为很多结构,如table directory,row directory,free space,row data等。所有数据最终都是存储在block中。它也被称为逻辑blocks或是页(pages)。每个操作系统都有自己的blo 阅读全文

posted @ 2014-03-16 22:58 pengdaijun

Oracle中的rownum和rowid(转)
摘要:对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇。rowid与rownum 虽都被称为伪列,但它们的存在方式是不一样的,rowid 可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中是唯一的。只要记录没被搬动过,rowid是不变的。rowid 相对于表来说又像表中的一般列,所以以 rowid 为条件就不会有ro 阅读全文

posted @ 2014-03-16 22:51 pengdaijun

Oracle 临时表空间组(转)
摘要:临时表空间组概述在 oracle 10g 中,可以创建多个临时表空间,并把它们组成一个临时表空间组,这样应用数据用于排序时可以使用组里的多个临时表空间,一个临时表空间组至少有一个临时表空间,其最大个数没有限制,组的名字不能和其中某个表空间的名字相同。临时表空间组是在创建临时表空间时通过指定group字句创建的,如果删除组中的全部临时表空间,那么这个组也将消失。我们将可以将一个表空间从一个组移动另一个组,或是从一个组中删除临时表空间,或是往组里添加新的表空间。使用临时表空间组,有如下的优点:1.数据库层面可以同时指定多个临时表空间,避免当临时表空间不足时所引起的磁盘排序问题;2.当一个用户同时有 阅读全文

posted @ 2014-03-16 22:35 pengdaijun

Oracle 收集统计信息(转)
摘要:1.理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划。优化器统计信息包括:表的统计信息行数Block数行平均长度列的统计信息列中不同值的数量列中null的数量数据分布(柱状图/直方图)索引的统计信息叶子块的数量索引的高度聚簇因子(clustering factor)系统的统计信息I/O性能和利用CPU性能和利用优化器统计信息存储在下列数据字典中DBA_TABLESDBA_OBJECT_TABLESDBA_TAB_STATISTICSDBA_TAB_COL_STATISTICSDBA_TAB_HIS 阅读全文

posted @ 2014-03-16 22:20 pengdaijun

Oracle 行连接和行迁移(转)
摘要:行迁移:当一个行上的更新操作(原来的数据存在且没有减少)导致当前的数据不能在容纳在当前块,我们需要进行行迁移。一个行迁移意味着整 行数据将会移动,仅仅保留的是一个转移地址。因此整行数据都被移动,原始的数据块上仅仅保留的是指向新块的一个地址信息。 产生:update行链接:当一行数据太大而不能在一个单数据块容纳时,行链接由此产生。举例来说,当你使用了4kb的Oracle 数据块大小,而你需要插入一行数据是8k, Oracle则需要使用3个数据块分成片来存储。因此,引起行链接的情形通常是,表上行记录的大小超出了数据库Oracle块的大小。 产生:insert 表上使用... 阅读全文

posted @ 2014-03-16 21:31 pengdaijun

Oracle 数据块 Block 说明(转)
摘要:转自:http://www.cnblogs.com/spring3mvc/archive/2011/05/12/2414623.html Oracle Database manages the logical storage space in the data files of a database in units calleddata blocks, also calledOracle blocks or pages.A data block is the minimum unit of database I/O.一. Data Blocks and Operating System B. 阅读全文

posted @ 2014-03-16 21:02 pengdaijun

Linux性能测试工具(转)
摘要:在测试中,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来关注某些地方,如内存、CPU等。在Linux系统中,所有的运行参数保存在虚拟目录/proc中,换句话说,我们使用的性能监控工具取到的数据值实际上就是源自于这个目录,下面就让我们了解一下这些常用的性能监控工具。工具功能描述uptime系统平均负载率dmesg硬件/系统信息top进程进行状态iostatCPU和磁盘平均使用率vmstat系统运行状态sar实时收集系统使用状态free内存使用率traffic-vis网络监控(只有SUSE有)pmap进程内存占用率ulimit系统资源使用限制mpstat多处理器使用率uptimeu 阅读全文

posted @ 2014-03-10 23:43 pengdaijun

Linux性能监控 ps & top (转)
摘要:性能数据的监控,除了针对整机进行外,还要求我们对某一运行的程序单独进行。常用的程序监控命令有ps和top。Psps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以假如需要检测其情况,便能够使用ps命令了。ps是用来报告程序执行状况的指令,可以搭配kill指令随时中断,删除不必要的程序。使用方式:ps [options] [--help]ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义。参数说明-A列出所有的程序-w显示加宽可以显示较多的资讯-au显示较详细的资讯-aux显示所有包含其他使用者的进程-e显示任何进程(此参数的 阅读全文

posted @ 2014-03-10 23:42 pengdaijun

Oracle 几个常用的监控视图(转)
摘要:v$process视图:v$process视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。常用列:ADDR:进程对象地址PID:oracle进程IDSPID:操作系统进程IDV$PROCESS中的连接列Column View Joined Column(s)ADDR V$SESSION PADDRv$session视图V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。常用列:SID:SESSION标识,常用于连接其它列SERIAL#:如果某个SI 阅读全文

posted @ 2014-03-10 23:36 pengdaijun

Linux Vi 命令详解(转)
摘要:进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+.. 阅读全文

posted @ 2014-03-10 23:30 pengdaijun

Linux 内存机制(转)
摘要:一.内存使用说明Free命令相对于top提供了更简洁的查看系统内存使用情况:[root@rac1 ~]# freetotalusedfreesharedbufferscachedMem:10351081008984261240124212413000-/+ buffers/cache:471772563336Swap:20964728423201254152这里显示的单位是KB。在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。M 阅读全文

posted @ 2014-03-10 23:29 pengdaijun

Linux 性能监控(转)
摘要:公司有个测试服务器,上面跑了几个应用和一个DB。DB被这个几个应用使用。最近老是被挂掉。CPU使用率100%。搞到最后大家都不能用。敲个命令都没反应。TOP命令显示的是一些Oracle session占用CPU资源太多。杯具的是在服务器上连sqlplus都进不去了,命令都没反应。只好把服务器重启了。重启之后再看了一下,是一个同事测试的SQL有问题。一条SQL占用CPU就30%。在研究这个问题的时候,也google到了一些Linux下的监控事项,整理如下。一.Linux性能监控的概述系统由若干子系统构成,通常修改一个子系统有可能影响到另外一个子系统,甚至会导致整个系统不稳定、崩溃。所以说优化、监 阅读全文

posted @ 2014-03-10 23:12 pengdaijun

linux top详解(转)
摘要:分类:Linuxtop命令和ps命令的基本作用是相同的,显示系统当前的进程和其它状况;但是top是 一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供 了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的 很多特性都可以通过交互式命令或者在个人定制文件中进行设定。在后面的介绍中将把命令参数和交互命令分开讲述。#toptop - 22:19:58 up 24 days, 4:31, 1 user, load av 阅读全文

posted @ 2014-03-10 22:56 pengdaijun

让英语水平暴涨的超棒方法(转)
摘要:网络时代学英语其实很简单,但是大部分人花在找英语学习资料上的时间比学英语本身还多,下面是我自己的一些结合网络学习的方法,信不信由你,我三年间从四级勉强及格到高级口译笔试210,口试232。找工作面试时给我口试的老外考官听我说了一分钟就说你的英语不用考了。我不敢说我的方法一定是最好的,但是我敢保证从现在开始随便谁不要再去找学习资料,每天花两个钟头照我说的做,坚持三个月的提高会超过你过去三年。不废话了,就按照听说读写一个个来。听: 网上比较有代表性的论坛是普特 www.putclub.com 上面的听力资源很丰富,沪江www.hjenglish.com 和旺旺www.wwenglish.com上一 阅读全文

posted @ 2014-03-09 23:27 pengdaijun

Oracle SQL性能优化常识(转)
摘要:(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2) WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必.. 阅读全文

posted @ 2014-03-09 19:08 pengdaijun

Oracle中的软解析和硬解析(转)
摘要:问题一:哪个进程负责硬解析?shared pool设置不合理除了命中率低外还有哪些现象? 说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程: 1、语法检查(syntax check) 检查此sql的拼写是否语法。 2、语义检查(semantic check) 诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限。 3、对sql语句进行解析(prase) 利用内部算法对sql进行解析,生成解析树(pa... 阅读全文

posted @ 2014-03-09 18:44 pengdaijun

ORACLE 分区与索引 (转)
摘要:引言:oracle的分区和索引可以说是它自己的亮点,可能你会说在其他数据库上也有,嗯是的,但oracle的种类性能便利性可以说是比较人性化的,下面我们通过实验来阐述它们的特性和功能。1.分别给出一个B-tree索引针对全表扫描性能高和低的例子。索引定义:oracle数据库中索引就是为了加快数据访问速度的一种目录结构B-tree索引特点:(1)二叉树结构(2)用比较大小方式查找索引块(3)适合创建在键值重复率低的字段例如主键字段:强调表的参照关系,即可以被外键引用 唯一性约束字段:强调字段键值的唯一性(4)第一次扫描时,从root根节点进入,后面就不在返回进入了(5)叶子与叶子之间有指针链,.. 阅读全文

posted @ 2014-03-09 00:25 pengdaijun

Oracle11新特性——SQL缓存结果集(转)
摘要:SQL语句的缓存结果集功能是Oracle11g中最吸引我的一个新功能。DB_BUFFER只能缓存访问过的BLOCK,部分解决了物理读的问题,查询仍然需要大量的逻辑读。物化视图提供的是查询重写的功能,对于大部分的情况,只是简化了SQL的复杂度,即使是完全满足查询的条件,物化视图的扫描也是不可避免的。而缓存结果集——RESULT CACHE则截然不同,它缓存的是查询的结果。不在需要大量的逻辑读,不在需要任何的复杂计算,而是直接将已经缓存的结果返回。Oracle新增了两个HINT,RESULT_CACHE和NO_RESULT_CACHE。通过这两个提示,可以明确的指出下面的语句是否进行RESULT 阅读全文

posted @ 2014-03-09 00:20 pengdaijun

Oracle 执行计划详解(转)
摘要:简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录--- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectivity) 二.oracle访问数据的存取方法 1) 全表扫描(Full Table Scans, FTS) 2) 通过ROWID的表存取(Table Access by ROWID或rowid looku 阅读全文

posted @ 2014-03-08 23:11 pengdaijun

Oracle 浅析oracle嵌套表(转)
摘要:/*以前在做报表的时候会经常用到oracle的内存表(其实是oracle嵌套表的部分功能,这里在下边介绍)来提高性能。利用oracle内存表进行临时运算通过ref cursor来返回我们想要的结果集。open cur for select * from table(fun_to_table_rb1_1(cur_qc,cur_qm));关于这部分的一些测试可以参看:http://www.itpub.net/showthread.php?threadid=617298最近把oracle嵌套表的其他功能仔细看了看并做了个简单整理。oracle提供两种使用嵌套表的方法:1. PL/SQL代码中作为扩展 阅读全文

posted @ 2014-03-08 23:03 pengdaijun

Oracle Trace文件生成及查看(转)
摘要:1.Trace file简介:Trace file(追踪文件)是以trc为后续的文本文件,它记录了各种sql操作及所消耗的时间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优.2.怎么生成trace file:1.首先用sqlplus登陆Oracle.show parameter sql_traceName Type Value-------------------------------------------sql_trace boolean false如果value是false表示系统当前不会产生trace文件.采取如下操作让系统产生trace文 阅读全文

posted @ 2014-03-08 22:45 pengdaijun

ORACLE 参数文件(转)
摘要:参数文件:spfile / pfile查看目前系统使用的参数文件信息:show parameter spfile;动态参数文件spfile文件:二进制文件位置:$ORACLE_HOME/dbs/文件名:spfileoracle实例名.ora查看(操作系统中):strings spfile 文件名根据静态参数文件创建动态参数文件:create spfile from pfile;其中的动态参数修改能够立即生效修改方法:例如:Alter system set undo_tablespace=UN02 scope=BOTH;参数说明:scope1. scope=MEMORY --> 仅当前生效 阅读全文

posted @ 2014-03-08 22:30 pengdaijun

Oracle10g dbms_workload_repository使用(转)
摘要:Oracle在10g以前的使用的是 Statspack做性能故障诊断的。OracleDatabase 10g 提供了一个显著改进的工具:自动工作负载信息库 (AWR)。AWR 和数据库一起安装。数据库装好后,,快照由一个称为 MMON 的新的后台进程及其从进程自动地每小时采集一次(snap)要查看当前的设置,您可以使用下面的语句:select snap_interval, retention from dba_hist_wr_control;SNAP_INTERVAL RETENTION------------------- -------------------+00000 01:00:00 阅读全文

posted @ 2014-03-08 22:18 pengdaijun

HashMap-死锁导致cpu占用100%分析(转)
摘要:最近项目里面的一段千年代码出了问题,这个问题以前也出现过,不过不是那么明显,这次迁移机器由以前的4台机子变成2台以后问题被放大,最终不得不解决,特此分析一下。先放出问题的代码123456789101112131415161718192021222324252627282930313233343536373839404142privateAlimamaCodeDAO alimamaCodeDAO;privateCache cache;/*** @param cache the cache to set*/publicvoidsetCache(Cache cache) {this.cache = 阅读全文

posted @ 2014-03-05 22:36 pengdaijun

Oracle内存中的几个命中率计算(转)
摘要:(1)LC的命中率:.计算公式:Library Cache Hit Ratio = sum(pinhits) / sum(pins)SELECTSUM(pinhits)/sum(pins)FROMV$LIBRARYCACHE通常在98%以上,否则,需要要考虑加大共享池,绑定变量,修改cursor_sharing等参数。.计算共享池内存使用率:SELECT(1-ROUND(BYTES/(&TSP_IN_M*1024*1024),2))*100||'%'FROMV$SGASTATWHERENAME='free memory'ANDPOOL='shar 阅读全文

posted @ 2014-03-05 22:34 pengdaijun

Oracle 诊断监视工具 AWR报告分析实例讲解(转)
摘要:WORKLOAD REPOSITORY report forDB NameDB IdInstanceInst numReleaseRACHostICCI1314098396ICCI1110.2.0.3.0YESHPGICCI1Snap IdSnap TimeSessionsCursors/Sessi... 阅读全文

posted @ 2014-03-05 22:32 pengdaijun

Oracle 连接和半连接(摘)
摘要:连接ORACLE多表连接分为三大类:NEXT LOOP、SORT MERGE、HASH JOIN。每一类又分为三小类,有传统连接,Semi Join, Anti Join。(后两种叫做半连接)NEST LOOP方式:有两个表,驱动表Driving Table,被驱动表Driven Table。驱动表做一次遍历,被驱动表做多次遍历。返回第一条记录速度很快,不需要排序。可以使用非等值连接。SORT MERGE方式:两个表地位一样。每个表都要先排序,然后进行合并,返回记录集。排序首先在内存中进行,能在内存中完成的叫做Optimal Sort,也叫In-Memory Sort。如果需要借助磁盘缓冲,叫 阅读全文

posted @ 2014-03-02 13:03 pengdaijun

Oracle SET命令参数详解(摘)
摘要:OracleSET命令参数详解(2009-05-31 14:28:36)SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变量,也可用SHOW命令列出它们.使用set命令的语法如下:SET系统变量值其中系统变量及其可选值如下:ARRAY[SIZE] {20(默认值)|n}AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]}BLO[CKTERMINATOR] {.(默认值)|C}CMDS[EP] {;|C... 阅读全文

posted @ 2014-03-02 12:28 pengdaijun

Oracle数据库一致性读的原理(摘)
摘要:在Oracle数据库中,undo主要有三大作用:提供一致性读(Consistent Read)、回滚事务(Rollback Transaction)以及实例恢复(Instance Recovery)。一致性读是相对于脏读(Dirty Read)而言的。假设某个表T中有10000条记录,获取所有记录需要15分钟时间。当前时间为9点整,某用户A发出一条查询语句:select * from T,该语句在9点15分时执行完毕。当用户A执行该SQL语句到9点10分的时候,另外一个用户B发出了一条delete命令,将T表中的最后一条记录删 除并提交了。那么到9点15分时,A用户将返回多少条记录?如果返回9 阅读全文

posted @ 2014-03-02 00:57 pengdaijun

Oracle AutoTrace traceonly statistics(摘)
摘要:ops@DB10> set autotrace traceonly statisticsops@DB10> select * from t;no rows selectedStatistics----------------------------------------------------------0recursive calls0db block gets3consistent gets0physical reads0redo size995bytes sent via SQL*Net to client370bytes received via SQL*Net from 阅读全文

posted @ 2014-03-02 00:04 pengdaijun

Oracle hints用法总结(摘)
摘要:Oracle hints用法总结(摘) 阅读全文

posted @ 2014-03-02 00:02 pengdaijun

Oracle 常用的V$视图脚本(摘)
摘要:1. 基本的数据库信息版本信息:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE 10.2.0.1.0 ProductionTNS for 32-bit Windows: Version 10.2.0.1.0 - Productio 阅读全文

posted @ 2014-03-02 00:00 pengdaijun

Oracle AutoTrace(摘)
摘要:*AutoTRACE是分析SQL的执行计划,执行效率的一个非常简单方便的工具*/AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。使用AUTOTRACE不会产生跟踪文件。 SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多 阅读全文

posted @ 2014-03-01 23:50 pengdaijun

Oracle 全局临时表(摘)
摘要:Oracle支持临时表。临时表用来保存事务或会话期间的中间结果。在临时表中保存的数据只有对当前会话是可见的,任何会话都不能看到其他会话的数据,即使在当前会话COMMIT数据以后也是不可见的。多用户并行不是问题,一个会话从来不阻塞另一个会话使用临时表。即使锁定临时表,一个会话也不会阻塞其他会话使用临时表。临时表比正常表产生的REDO少得多,然而,由于临时表必须产生包含数据的UNDO信息,所以会产生一定数量的REDO日志。临时表在每个数据库中只需创建一次,不必在每个存储过程中创建。临时表总是存在的,除非手动的删除他。临时表作为对象存在数据字典中,并且总是保持为空,直到有会话在其中放入数据。Orac 阅读全文

posted @ 2014-03-01 23:26 pengdaijun

Oracle DBA命令全集(摘)
摘要:1 运行SQLPLUS工具sqlplus2 以OS的默认身份连接/ as sysdba3 显示当前用户名show user4 直接进入SQLPLUS命令提示符sqlplus /nolog5 在命令提示符以OS身份连接connect / as sysdba6 以SYSTEM的身份连接connect system/xxxxxxx@服务名7 显示当然用户有哪些表select * from tab;8 显示有用户名和帐户的状态select username,account_status from dba_users;9 将SCOTT帐号解锁(加锁)alter user scott account un 阅读全文

posted @ 2014-03-01 17:30 pengdaijun

Oracle DBA常用查询(摘)
摘要:–1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp, statusfrom dba_objectswhere owner=upper('scott')–2. 查看系统所有表select owner, table_name, tablespace_name from dba_tables–3. 查看所有用户的表select owner, table_name, tablespace_name from all_tables–4. 查看当前用户表select ta 阅读全文

posted @ 2014-03-01 17:25 pengdaijun

Oracle系统表
摘要:dba_开头..... dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 dba_rollback_segs 回滚段信息 dba_ts_quotas 用户表空间配额信息 dba_free_space数据库空闲空间信息 dba_profiles 数据库用户资源限制信息 dba_sys_... 阅读全文

posted @ 2014-03-01 17:21 pengdaijun

Oracle connect by功能(摘)
摘要:--connect by 使用详解/*START WITH 表示递归的种子,而 CONNECT BY 描述递归步骤,也就是如何从第 n 步发展到第 (n + 1) 步。由于在归结 name时需要区分第 n 步和第 (n + 1) 步,因此使用 PRIOR 来表明empid 属于第 n 步,而 mgrid 属于第 (n + 1) 步。在第 1 步,empid 为 16,mgrid 也必须是 16,因此第 2 步产生‘Scott’、‘Henry’和‘Zander’。他们的 empid 将作为第 3 步的 PRIOR,依此类推。*/select ename,job ,enamefrom scott. 阅读全文

posted @ 2014-03-01 16:33 pengdaijun

Oracle并行(摘)
摘要:什么是并行 并行是Oracle为了提高大数据量的运算效率而提供多进程协作技术,它可以让多个CPU同时处理一个计算任务,充分使用系统资源,提高计算效率。什么操作支持并行 大部分的DML(insert/update/delete/merge)、DDL、Query都支持并行操作。什么情况下需要启用并行 并不是所有的SQL都应该使用并行。要使用并行需满足以下两个条件,否则结果可能适得其反: 1) 机器有充分的空闲资源(CPU、内存等) 2) 参与运算的数据量大。在当前系统初定于参与运算数据量大于10GB或者SQL运行时间超过30分钟可考虑使用并行。如何启用并行 可以用hint、alter ... 阅读全文

posted @ 2014-03-01 16:05 pengdaijun