【INSERT】逐行提交、批量提交及极限提速方法
在Oracle数据库中,不是提交越频繁越好。恰恰相反,批量提交可以得到更好的性能。这篇文章给大家简单展示一下在Oracle数据库中逐行提交于批量提交两者之间的性能差别。最后再给出一种可以极大改变性能的方法。1....
【Shell】使用脚本实现数以千计HTML文件中图片名小写转换需求
今天友情客串了一回HTML工程师,协助我们“美工王”完成了一个比较耗时的调整需求。分享在这里,供大家参考。“美工王”的需求:当前目录及子目录下的html文件中引用图片的名字存在大小写不一致的问题,为了...
【探索】两种查询和删除重复记录的方法及其性能比较
这里我来给出两种查询和删除重复记录的方法,一种是使用rowid辅助完成的,另外一种是借助分析函数的力量来完成的。这两种方法的执行效率相对其他方法是高效的。即便如此,这两种方法之间也有着本质上的...
【SCRIPTS】将用户具有的所有权限尽收眼底
如何快速的在SQL*Plus中获得特定用户所具有的所有权限?针对这个常见的问题我今天编写了一段简单脚本,供大家参考(当然您也可以在此基础上做进一步的改动,把它变成自己的一个小武器)。1.Oracle数据库...
【区别】Oracle官方文档中有关NVARCHAR2、VARCHAR2和VARCHAR数据类型的描述
Oralce官方文档“Datatypes”部分对NVARCHAR2、VARCHAR2以及VARCHAR有一段描述,可以清晰得到它们的区别。罗列在此,供大家参考。【链接】http://download.oracle.com/docs/cd/B19306_01/server.102/b14...
【Kill】两条Linux命令彻底杀死Oracle
今天编写的两条极具杀伤力的命令,它可以瞬间将Oracle杀死在无形之中。后面我将给出简单注释并展示一下它的威力。$ ps -ef |grep $ORACLE_SID|grep -v grep|awk '{print $2}' | xargs kill ...
【SCRIPTS】快速清理Schema中所有表和序列的PL/SQL脚本
如果想要快速的删除一个Schema下的所有数据库对象,您会使用什么样的手段来完成呢?如果您是DBA,可能更倾向于先删除用户然后再重新创建用户。优点:删除的彻底,不留任何痕迹(这是DBA伟大和危险的真实体现)。...
【11gR2】使用runfixup.sh脚本彻底告别曾经琐碎的系统参数设置步骤
Oracle 11gR2数据库安装过程中的一大特色功能是“Fix & Check again”,这个功能极大的简化了在Oracle安装之前对系统参数的繁琐设置,从今儿以后,即使在部署安装之前不对系统参数做任...
【AUTO】配置Oracle数据库和监听随Linux系统自启动
在某些情况下需要在Linux操作系统上提供一种无人值守的随机启动Oracle的功能,目的也许仅仅是为了帮助那些对Oracle细节非常不关心的朋友。当然,如果有可能,一定不要使用这种自动化的方法,因为有太多...
【优化】ALL_ROWS模式和FIRST_ROWS模式的适用场景
在CBO的优化模式下,我们可以使用optimizer_mode参数控制优化模式。主要有两种模式,一种是ALL_ROWS模式,另外一种是FIRST_ROWS模式。ALL_ROWS模式适用场景:希望优化程序给出一种尽快得到全部记录的执...
【比较】CHAR?or VARCHAR2?
一种疑问:在进行Oracle数据库设计时,字符类型的字段我们应该使用什么类型,是CHAR?还是VARCHAR2?一个声音:定长的字符串使用CHAR类型,变长字符串使用VARCHAR2类型。这种声音的通常解释:当字符串的长度...
【SchemaSpy】使用SchemaSpy开源工具生成数据库报告
使用SchemaSpy工具可以快速的从数据库中得到表的依赖关系,同时生成一个生动的“表图”结合的报告。方便快速了解数据库中的数据库对象间关系,类似于Erwin和PowerDesigner反向工程得到...
【参数】使用db_file_multiblock_read_count参数控制全表扫描成本
在CBO优化模式下也是可以调整全表扫面的成本的,通过这个技术可以适当的改变CBO下的SQL执行路径。这个小技术需要用到一个Oracle的一个重要的参数db_file_multiblock_read_count,这个参数控制着Oracle在进行全表...
【Xmanager】Windows下通过Xmanager远程桌面控制Redhat5
图形化操作Linux的手段很多,最常见的方法是使用VNC,如何在Linux上配置VNC请参考《【实验】【VNC】Linux环境VNC服务安装、配置与使用》http://space.itpub.net/519536/viewspace-607549。这里给大家介绍另外一...
【SQL*Plus】使用BREAK和COMPUTE在SQL*Plus中得到分组统计结果
秉承KISS原则,一切简单实用的工具都是值得深入挖掘的。SQL*Plus就是其中之一。我通过这个小文儿给大家介绍一下在SQL*Plus中使用break和compute命令实现类似group分组函数的统计效果,这里只是抛个“砖”,...
【SQL】日历
SQL的魅力是无限的。这里给大家展示一下使用SQL得到日历,同时,用SQL*Plus的break命令格式化显示效果。sec@ora10g> break on month skip page 1sec@ora10g> col month for a20 jus...
【Shell】使用Shell脚本快速完成SQL脚本中重复枯燥的任务
通过这个小文儿给大家展示一下shell对SQL脚本批量处理的小小魅力。1.具体需求现有成百上千个SQL脚本文件,每个文件中均包含数量不等的insert语句。为保证在脚本执行过程中有一个比较友好的输出提示,需要在inser...
【SYNONYM】ORA-00980错误处理暨删除无效同名的SQL生成脚本
我在此通过一个具体的实验来给大家展示一种常见的导致“ORA-00980”错误发生的情况,然后给出一些其他可能导致这个错误发生的原因,最后给出一个可以自动化获得删除所有无效同名的SQL脚本。一、先来模拟一下这个...
【FULL OUTER JOIN】全外连接的union all改写方法
对于SQL中的连接操作在实现业务需求的时候比较方便和高效,这里针对“全外连接”展示一下在Oracle中的几种写法。每种写法因人而异,以满足需求为目的。有关内连接,左连接和右连接的简单演示请参考:《...
【DDL】DDL执行过程及其隐式COMMIT行为的探查与演示
1.先给出DDL语句执行过程的伪代码描述BEGIN commit; DDL语句的解析,包括语法解析和语义解析; BEGIN 执行DDL语句; commit; exception &...