【函数】Oracle的常用字符函数实验展示(一)
Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余。通过这个小文儿简单演示一下常用字符函数的用法,供参考。1.实验预备动作1)创建实验表Tsec@ora10g> cr...
【Cache】将常用的“小表”缓存到Buffer Cache
对于那些被经常以全表扫描访问获取数据的“小表”来说,为了提升性能可以考虑将这些表cache在Buffer Cache中。什么样的表可以称其为“小表”呢?例如经常被访问的参数表,此类表通常包含的数据量并不大,经常以全表...
【差异】LENGTH与VSIZE的区别演示
其实LENGTH与VSIZE这两个函数联系不大,区别很大。虽然都是“取长度”,但是LENGTH函数结果是“有多少个字符”,VSIZE结果是“需要多少bytes”。简单看一下这两个函数。1.创建表T并初始化三条数据sec@ora10g> create...
【纠误】NUMBER定义的长度与USER_TAB_COLUMNS视图中DATA_LENGTH内容不符之缘由
1.疑问出处1)创建测试表Tsec@ora10g> create table t (x number(38));Table created.2)查看表T的描述sec@ora10g> desc t; Name &nb...
【FLUSH】将Buffer Cache内容强制写出到数据文件
在某些情况下需要手工将Data Buffer Cache写出到数据文件,例如为防止Buffer Cache中的数据对SQL执行性能的影响,为公平起见需要先对缓冲区中的数据清理。在Oracle的不同版本里清理Buffer Cache的方法也略有不同,总...
【11g】使用ADRCI工具的“show alert”命令快速检索出alert中所有“ORA-”错误信息
试问:如何快速地得到alert警告文件中所有与“ORA-”相关的错误信息?一般的方法:使用Shell的grep命令或sed命令对alert文件进行检索。这种方法是有瑕疵的,首先grep和sed是UNIX操作系统的命令,不具有通用性;其次...
【参数】使用lock_sga和pre_page_sga参数保证SGA常驻物理内存
通过修改lock_sga和pre_page_sga参数可以保证SGA不被换出到虚拟内存,进而可以提高SGA的使用效率。通过这个小文儿给大家展示一下这两个参数的修改过程,不要太乐观,修改过程是存在“小坎坷”的。当lock_sga参数设置...
【11g】ADRCI (ADR Command Interpreter) -- 快速获得警告日志内容
在《【11g】ADRCI (ADR Command Interpreter) -- 查看警告日志》文章中介绍过如何使用ADRCI命令以交互式方式查看警告日志的方法。文章链接:http://space.itpub.net/?uid-519536-action-viewspace-itemid-558046如果...
【11g】ADRCI (ADR Command Interpreter) -- IPS事件打包服务
如果系统出现了异常需要取得Oracle支持人员协助处理时,以往通常需要手工准备很多的报告文件,然后手工打包后发给Oracle support。从11g开始这个过程将大大的简化,可以使用ADRCI命令打包数据库中出现的异常事件...
【KSDWRT】自发在ALERT文件或TRACE文件中留“脚印”
使用sys.dbms_system.ksdwrt存储过程可以实现主动向alert或trace文件中记录信息的功能。简单记录一下,供参考。1.先看一下向alert文件中写信息的功能1)使用参数“2”实现向alert文件中记录信息sys@ora10g> exec...
【恢复】使用控制文件的trace备份恢复因异常断电导致所有控制文件损坏的数据库故障
Oracle数据库可以使用trace方法生成控制文件的创建语句,在极端情况下可以派上用场。例如在控制文件全部丢失的情况下,就可以使用这种方法来完成数据库故障的恢复。模拟一下这个故障和恢复场景。1.巧妇...
【SQL】小CASE
SQL中的CASE语句可以完成很多有意义的事情,通过这个小文儿给大家展示一下使用CASE语句做一个自我介绍。1.创建实验表T,并初始化数据。sec@ora10g> create table t (x varchar2(8));sec@ora10g> insert into t value...
【读后感】【Tom】《Effective Oracle by Design》
利用三个月的零星时间“读”完了Tom的这本经典之作《Oracle高效设计》,之所以这里的“读”加了引号,是因为在阅读的过程中完成了大量的实验,这本书秉承着Tom的一贯作风:“用实验来说明问题”,有理有例,甚是精彩...
【备份恢复】使用“热备份”恢复表空间故障之提速
Oracle有一种备份方式叫做“热备份”(没有听说过的朋友需先行Google)。通常有一种声音,说该方法是小型数据库的备份与恢复策略,在数据量比较大的情况下,使用这种方法进行恢复所耗用的时间是无法忍受的。之所以有...
【SQL】“乾坤大挪移”
SQL的魅力就在于可以使用它演变出层出不穷效果。SQL在于折腾。看一下仅仅使用substr和length函数给我们带来的乐趣。看SQL,不说话。sec@ora10g> col secooler for a8sec@ora10g> select substr ('secooler',...
【优化】使用反向索引(Reverse Key Indexes)减少索引热点块
反向索引就是将正常的键值头尾调换后再进行存储,比如原值是“1234”,将会以“4321”形式进行存储,这样做可以高效地打散正常的索引键值在索引叶块中的分布位置。1.反向索引应用场合1)发现索引叶块成为热...
【Tip】使用TO_DATE和TO_CHAR函数让Oracle自己去数数
Oracle从1977年的雏形成长到现在已经32岁了,她是相当的聪明可人,您看,她都会数数了。看一下TO_DATE和TO_CHAR函数“混合打法”能给我们带来怎样的神奇。1.“一”的发音sec@ora10g> col count_number for a60se...
【恢复】临时表空间损坏的两种恢复方法
当排序在内存中无法完成时就会使用临时表空间进行排序,如果临时表空间出现了问题会严重地影响系统运行性能。当临时表空间出现异常不可用时,该如何进行恢复呢?常用的有两种方法,一种方法我称其为“重新启动法...
【11g】使用SEC_CASE_SENSITIVE_LOGON参数控制密码大小写敏感性
在Oracle的11g之前的版本中密码是不区分大小写的(使用双引号强制除外)。在Oracle的11g版本中对此有所增强。从此密码有了大小写的区分,这个大小写敏感特性是通过SEC_CASE_SENSITIVE_LOGON参数来控制的。简...
【Tip】解决like中无法匹配下划线的问题
如果想检索出字段中包含下划线“_”的内容,该如何书写SQL语句呢?之所以问这个问题,是因为在Oracle中下划线在like中有着特殊的含义,它表示匹配任意一个字符。因此在查询包含下划线内容的时候需要“特殊关照”一下...