摘要:
这篇文章是参考甲骨论老相老师的教学视频所做的学习笔记:http://v.youku.com/v_show/id_XMzkyMDQ4MzUy.html之前提到Shared pool的作用:Shared pool是用来缓存sql语句以及sql的执行计划的,而share pool包含3主要大部分(还有其他很多部分)分别是library cache, rowcache和 free memory首先强调一句: 我们可以手动设置Shared pool的大小, 但是并不能制定shared pool里面 Free/Library Cache/rowcache 等各部分的大小的.1.现在分析下Free 空间的内 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(439)
评论(0)
推荐(0)
摘要:
这篇文章是参考甲骨论老相老师所做的教学视频所做的学习笔记.http://v.youku.com/v_show/id_XMzkyMTk3ODM2.html首先简单说明一下Oracle数据库的结构.1. 数据库的作用:1.存储数据2.方便地检索和处理数据.2.Oracle的简单结构1.存储数据( Oracle 文件)2.方便地检索和处理数据. (Oracle 实例)可见对于Oracle数据库来讲, 数据都是存放在Oracle文件中的.而前面章节也提到过, Oracle文件分3大类, 控制文件/ 数据文件/ 重做日志文件 --> 归档日志文件实际上数据库所有数据都存放在数据文件中的, 重做日志 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(1171)
评论(0)
推荐(0)
摘要:
注意这篇文章只介绍查看sql语句执行计划的方法, 并不是说明如何看懂执行计划.一般来讲, 直接在sqlplus 执行 set autotrace on; 就可以了其前提是登陆用户必须有视图 v_$sesstat, v_$statname, v_$mystat 的select 权限参考:http://nvd11.blog.163.com/blog/static/20001831220130804213161/如图:其实主要系想介绍另一种方法,在之前文章已经见过oracle硬解析过的sql及其执行计划会缓存在shared pool中.其中执行过的sql语句可以在v$sql 查看, 并会分配1个sq 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(535)
评论(0)
推荐(0)
摘要:
这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMTg4Njg0.html所做的学习笔记前面已经提过shared pool(共享池)的作用和结构了, 详细看这里:http://nvd11.blog.163.com/blog/static/200018312201301875752730/总的来讲: shared pool 就是用来缓存sql语句和对应执行计划的, 当一条sql第二次执行时能找到shared pool的共享sql的执行计划的就避免了硬解析, 大大提高了数据库的运行效率. 而现在内存白菜价, 一般的笔记本都随便上8g内存了 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(1860)
评论(0)
推荐(0)
摘要:
转自fedora 吧啦:http://tieba.baidu.com/p/1927559690yum install gpointing-device-settings运行 gpointing-device-settings选者 TPPS/2 IBM TrackPoint (这个就是小红帽)选择 Use Wheel emulation,把 button 修改为 2然后点击 Ok 就行了。 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(791)
评论(0)
推荐(0)
摘要:
这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMTkzNjg4.html所做的学习笔记.什么是4031错误和4031错误产生的原因:详细请看这里:http://v.youku.com/v_show/id_XMzkyMTkzNjg4.html简单一个句话概括: 由于服务器一直在执行大量的硬解析,导致Oracle 的shared pool Free空间碎片过多,大的chunk不足, 当又一条复杂的sql语句要硬解析时, 缺少1个足够大的Free chunk, 通常就会报4031错误.解决方法:方法1.清空Shared pool缓存.执行 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(888)
评论(0)
推荐(0)
摘要:
这里的命中率指server process在library cache里软解析的命中率.还有1个是rowcache(数据字典缓存)的命中率.一般来讲, production服务器运行的时间越长,命中率越稳定, 正常来讲这两个命中率一般都在99% 以上, 如果98% 就有问题了....可以用如下语句来查看软解析命中率:select sum(pinhits)/sum(pins)*100 from v$librarycache;如下图, 因为我的是私人小数据库, 运行时间短, 这个命中率就很低了..可以用如下语句来查看rowcache命中率:select sum(gets),sum(getmisse 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(458)
评论(0)
推荐(0)
摘要:
有时数据库有些session产生死锁托慢整个数据库,需要找出那个进程然后kill掉.在sybase中, 结合sp_who 和 kill sid就可以了.在oracle中也有类似的方法:首先是找出要杀死的session id(SID)可以利用v$mystat 来查看当前session的sid.若要杀死的session 已卡住.则可以用dba session执行下面命令来查看当前服务器的session 然后排除select * from v$session where username is not null;得到sid后执行alter system kill session 'sid,s 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(1579)
评论(0)
推荐(0)
摘要:
这篇文章是参考老相老师的教学视频http://v.youku.com/v_show/id_XNDAzOTI4MDQw.html所做的学习笔记1.事务(Transaction)的基本概念: 事务由一组DML语句组成(insert/ update /delete); 用commit; 就可以提交这个事务,也就是DML语句的改动写入数据库了. 在commit之前使用Rollback就可以回滚DML语句造成的数据的改动. 使用savepoint xx 可以保存保存点: 使用Rollback to xx 回滚到保存点.下面做个例子:登陆sqlplus: 例如hr账户下有一张表CL_DEP... 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(428)
评论(0)
推荐(0)
摘要:
这篇文章是参考加甲骨论老相老师视频所做的学习笔记:http://www.jiagulun.com/thread-2675-1-1.htmlSql 执行的流程分成3部分:解析部分(Parse): Server process将sql语句在Shared pool(共享池)里解析为执行计划执行部分(Execute): Server process根据执行计划在DB buffer cache和数据文件里提取数据.获取数据部分(Fetch): 获得数据并返回给用户.所以可以看出解析部分是在SGA里面 Share pool里完成的.可以从V$sgainfo 视图查看shared pool 的当前大小信息S 阅读全文
posted @ 2013-04-02 00:56
Gateman
阅读(438)
评论(0)
推荐(0)

浙公网安备 33010602011771号