【PROFILE】使用Oracle的PROFILE对用户资源限制和密码限制的研究与探索
1.用户创建语句PROFILE选项“引发的血案”如果大家细心的话,在创建用户的语法中有这么一个选项“PROFILE profile”。下面是Oracle 11gR2官方文档中关于创建用户的语法描述(较之10g的文档可读性加...
【SQL_TRACE】SQL优化及性能诊断好帮手
SQL_TRACE作为SQL优化的工具的特点是:她可以对整个当前session或者其他特定的session做全面的跟踪,以便发现session中出现的异常现象,第一时间处理之。当然,针对一条SQL的跟踪同样有效,类似Explain Plan和AU...
【实战】使用“基表修改法”恢复被“set unused”方式误删除的列(续)
这个小文儿是对《【实战】使用“基表修改法”恢复被“set unused”方式误删除的列》的补充文章地址:http://space.itpub.net/?uid-519536-action-viewspace-itemid-616174因为在实验中我们是模拟的故障场景,并...
【实战】使用“基表修改法”恢复被“set unused”方式误删除的列
在《【实验】列删除的一些细节探索》http://space.itpub.net/519536/viewspace-616123中谈到了可以通过手工修改tab$ col$基表的方式对被“set unused”方式误删除的列进行恢复。通过这个文章,我来给大...
【实验】列删除的一些细节探索
1.删除列语法示例(删除t表的x列)alter table sec.t drop column x cascade constraints checkpoint 10000;当然在表比较小,没有太大的维护成本的情况下,可以考虑使用最简洁的语法进行列删除:alter table...
【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的运行效率。您知道这个“某些情况”指的是什么么?解释一下,“某些情况”指的是:使用的表字段要有索引。这个实验,...