【Explain Plan】查看SQL的执行计划
1.【使用方法】Explain Plan在sqlplus中使用起来非常的便捷,使用方法如下sec@ora10g> explain plan for select count(*) from t;Explained.sec@ora10g> select * from table(dbms_xplan.display());PLAN_TA...
【AUTOTRACE】SQL优化的重要工具--AUTOTRACE
提到SQL优化,不能不提AUTOTRACE的强大功能。使用起来非常便捷,不过在是使用之前,需要做一些配置的工作。简要的描述一下这个过程,供没有使用过的朋友参考。1.使用sys用户执行plustrce脚本sys@ora10g> @?/...
【实验】分析函数之魅力展示
众所周知,Oracle的分析函数在BI类的分析数据库中起到了非常大的作用,不仅仅是因为它能做的事情非常的丰富,同时,分析函数作为Oracle的内部实现,较之其他的实现形式(例如使用group by实现)效率也是出奇的高...
【实验】关联更新常用方法及误区
这是一个非常常用的关联更新方法,只要掌握了其中的小小的细节,一切都将是无比的自然与和谐。实验目标:使用第二张表t_ref中的数据对第一张表t进行更新,如果t中存在t_ref中的数据,则进行相应的更新,如果...
【EM】通过portlist.ini文件得到OEM Console HTTP Port和OEM Agent Port
在ORACLE_HOME目录下的install目录中有一个portlist.ini文件,这个文件中就记录着这台数据库Server上所有实例的Enterprise Manager Console HTTP Port和Enterprise Manager Agent Port的内容。通过查看这个配置...
【故障处理】csscan工具无法使用,报错“error while loading shared libraries...”
今天在使用Oracle的csscan工具对字符集转换检查时,出现报错无法使用的问题。把这个小问题的原因记录一下。1.【问题现象】sec@secDB /home/oracle$ csscancsscan: error while loading shared libraries: libcln...
【实验】IN与EXISTS效率测试一例——CBO效率一样,RBO下EXISTS效率高于IN
1.这个实验有以下场景和实验结论:CBO没有索引的情况下:IN与EXISTS效率一样(IN:00:00:00.85 EXISTS:00:00:00.85)CBO在列上创建索引后:IN与EXISTS效率一样(IN:00:00:00.16 EXISTS:00:00:00.16)RBO没有索引的情...
【实验】IN与EXISTS效率测试一例——CBO效率一样,RBO下IN效率高于EXISTS
1.创建测试表,并初始化数据(千万级别的big_table表和百万级别的big_table1表)sec@ora10g> @big_table 10000000sec@ora10g> create table big_table1 as select * from big_table where rownum<1000001;2.创建...
【共鸣】勿将数据库当成收音机中的电池那样的可换日用品
Tom大叔《Effective Oracle by Design》中有一段关于“避免黑盒综合症”的描述堪称经典,目前的项目中确实存在这样的问题,感同身受ing,感慨颇深,不吐不快。开发人员没有Oracle数据库的基本...
【DBA】应用程序与DBA的一个比喻
开卷有益。在《Effective Oracle by Design》的前言中提到一个比喻,和大家share一下:赛车场修理人员负责换轮胎,保证给车加满油并让它正常工作。如果您给这位修理人员一辆Lincoln Navigator(一种极为巨大...
ASM结构图
ASM结构图,从下面5个方面提炼:1.INSTANCE2.DEVICES3.DISKGROUP4.ASMCMD5.METADATA
【实验】where子句的解析顺序及执行效率
有一种声音叫做:where子句的解析顺序是从右向左(如果上下书写的话,就是从下到上),因此能够过滤掉大部分数据的条件要书写到where子句的后面,同时具有表关联的条件要放到where子句的前面。这种说法在Oracle ...
【实验】IN与EXISTS效率测试一例
1.创建测试表,并初始化数据(千万级别的big_table表和百万级别的big_table1表)sec@ora10g> @big_table 10000000sec@ora10g> create table big_table1 as select * from big_table where rownum<1000001;2....
【实验】【INSERT】一步到位式分表插入
通过这个实验,给大家展示一下INSERT语句的强大之处:按条件同时插入多张表。利用这个功能可以实现很多具体的需求。大家慢慢体会。实验目的:使用一条SQL语句完成用户下数据库对象的分类存放。1.创建测试表sec@ora10...
【SQL优化】UNION替换OR效率测试及总结
大家在做SQL优化的过程中,可能都知道一个事实:某些情况下使用UNION替换OR可以提高SQL的运行效率。您知道这个“某些情况”指的是什么么?解释一下,“某些情况”指的是:使用的表字段要有索引。这个实验,...
【字符集】处理Toad显示乱码及Windows XP下无法插入“某些汉字”问题
在数据库服务器字符集为AL32UTF8,我们来思考并处理一下Windows XP环境下的Toad工具显示字符为乱码的问题。1.鉴于《【字符集】“客户终端字符集”、“NLS_LANG”环境变量以及“数据库字符集”》...
【字符集】“客户终端字符集”、“NLS_LANG”环境变量以及“数据库字符集”
自从选用了AL32UTF8字符集做为生产数据库字符集之后,就一直奔走于“乱码”与“转码”之间。在与“乱码”PK良久之后,有了这个小文儿。如果想要搞清楚Oracle的字符系统,需要紧紧地抓住三个因素:一...
【实验】【SQL】为祖国60华诞献礼之格式化行政区划
伟大的祖国60华诞在即,为表达一名DBA的心声,特完成了如下SQL实验,明确一下祖国的行政区划,抵制一切分裂祖国的行为:)!1.创建测试表homeland_chinasec@ora10g> create table homeland_china (are...
【实验】【Archived Log】归档日志格式和归档路径之change趣谈
小文儿思路:先对归档日志格式和生成路径的修改流程进行阐述,再展开讨论一些有趣的细节。1.修改归档日志的格式默认格式是:“ %t_%s_%r.dbf”,我们尝试将格式修改为“%t_%s_%r.arch”,这是一个静态参数,...
【csscan】字符集扫描工具csscan“实操式”品味
最近一直在做的国际化项目要求数据库字符集使用AL32UTF8,因此带了了一个疑问:目前正在服役的WE8ISO8859P1字符集生产数据库中的核心数据能否完好无损的迁移到这套新字符集数据库库中呢?Oracle同学...