mac

📝 3325 篇文章 🔗 个人网站

mac 的文章

3325 篇文章
2011-12-09

Script:计算Oracle Streams进程所占用的内存大小

以下脚本可以用于收集Oracle Streams进程的内存使用信息, 便于诊断因memory leak引起的内存问题:   ps auxgw | sort  -n +5 | tail -10 select a.apply_name,        a.server_id,        b.sid,…
#POST 1 MIN READ
2011-12-08

Oracle内部视图X$KFFXP

X$KFFXP是ASM(Automatic Storage Management)自动存储管理特性的重要内部视图,该视图反应了File Extent Map映射关系,ASM会将文件split成多个多个piece分片,这些分片被称为Extents。 在Disk上存放这些Extent的位置,就是我们常说的”Allocation Unit”。   KFF意为Kernel File,X$KFFXP即Kernel File Extent Maps, 该内部视图的一条记录代表一个Extent。   其字段含义如下:   GROUP_KFFXP        diskgroup number…
#POST 2 MIN READ
2011-12-07

Exadata Smart Flash Logging新特性

从Exadata Storage Software 11.2.2.4开始引入了Exadata Smart Flash Logging的新特性,该特性允许LGWR进程将redo同时并行写入flash cache 和 disk controller 中, 只要在flash cache 和 disk controller中有任意一个率先写完成就会通知RDBMS数据库继续工作, 该特性着眼于改善了Exadata对Redo写入的响应时间和吞吐量。(The feature allows redo writes…
#POST 4 MIN READ
2011-12-07

enq: MS – contention Oracle等待

当物化视图刷新时,可能出现大量的enq:ms等待事件     The event is raised because the MV is recompiled. The alter summary compile is fired because the…
#POST 1 MIN READ
2011-12-07

Slide:了解Oracle在线重定义online redefinition

Slideshare版的了解Oracle在线重定义online redefinition,可供下载,下载地址。   了解Oracle在线重定义online redefinition View more documents from Maclean Liu
#POST 1 MIN READ
2011-12-07

了解Oracle在线重定义Online Redefinition

Online Redefinition在线重定义对象是Oracle中很酷的一种特性,它可以帮助我们在7*24在线的系统中从容地做出数据对象的在线定义修改,是Oracle数据库保证其高可用性的重要技术。       在线重定义Online Redefinition特性在许多场景中都是十分有用的,例如:     修改表的Storage存储参数     在同一Schema下将表移动到不同的表空间     转换非分区表为分区表     添加或删除分区     重新创建表以减少碎片,降低高水位     将堆组织的表改变为索引组织表    …
#POST 9 MIN READ
2011-12-06

SQL调优:带函数的谓词导致CBO Cardinality计算误差

今天处理了这样一问题,where条件中存在函数fun(date)<to_date(‘9999-01-01′,’YYYY-MM-DD’)这样的无实际意义谓词,导致CBO计算基数时cardinality远小于实际情况,导致优化器认为2个源数据集的基数都不大,从而选择了HASH JOIN Right SEMI+SORT ORDER BY的执行计划,但是由于实际基数远大于computed 计算值所以变成了大的数据集做HASH JOIN并全数据排序,而实际该SQL只要求返回几十行数据而已,使用NESTED LOOP SEMI JOIN可以立即返回排序的前20行数据。 这里就需要解释带函数的谓词时CBO如何计算基数,我们通过下面的例子来说明:     create or replace function check_date( RDATE…
#POST 2 MIN READ
2011-12-06

11gR2新特性:LMHB Lock Manager Heart Beat后台进程

LMHB是11gR2中新引入的后台进程,官方文档的介绍是Global Cache/Enqueue Service Heartbeat Monitor,Monitor the heartbeat of LMON, LMD, and LMSn processes,LMHB monitors LMON, LMD, and LMSn processes to…
#POST 4 MIN READ
2011-12-05

如何禁止特定用户使用sqlplus或PL/SQL Developer等工具登陆?

最早想要实现禁止某些特定用户使用SQLPLUS或PL/SQL Developer等工具登陆是在2010年的3月,当时发现用户的一套数据库中有大量的用户使用老版本的PL/SQL Developer登陆,具体的版本号记不清楚了,大约是PL/SQL Developer 5的版本,是否正版授权不得而知, 反正就是一个办公室里有大量的阿姨、大叔都靠这个图形化工具访问数据库,做一些必要的数据操作,主要是一些SQL查询语句,有时候他们还会用工具栏查一些对象(search object),正是因为他们使用了老版本的PL/SQL Developer,造成在使用一些widget的时候会引起Oracle出现一些非致命的ORA-00600错误,虽然这些600错误不会导致严重的问题,但是只要是出现在告警日志Alert.log中的600还是需要我们去分析。 当时我的想法是直接从Oracle的角度禁止普通用户以PL/SQL Developer工具登陆,虽然当时没有真的这样做。 题外话,要真的这么做了,估计那一办公室的阿姨、叔叔都要找我的麻烦,他们可不会用SQLPLUS来登数据库;让他们升级PL/SQL Developer到高版本的想法也基本可以打住,让阿姨、叔叔们升级可要比登天还难。 Google了一番,没有找到太多有用的信息。 闲来无事,我在著名的Oracle-l Freelist邮件列表中发了一封邮件,集思广益:   Hello every, Anyone can…
#POST 4 MIN READ
2011-12-04

Oracle Controlfile控制文件中记录的信息片段sections

初学Oracle的朋友肯定对Controlfile控制文件中到底记录了何种的信息记录而感到好奇,实际上我们可以通过一个视图v$controlfile_record_section来了解控制文件的信息片段:   SQL> select type, record_size, records_total from v$controlfile_record_section; TYPE RECORD_SIZE RECORDS_TOTAL ---------------------------- ----------- ------------- DATABASE 316 1 CKPT PROGRESS…
#POST 2 MIN READ