自动设置autotrace环境
/*作用:由于经常需要在SQL*PLUS查看执行路径,但oracle默认是不支持查看执行路径的,需要我们手工安装环境。 本脚本的目的就是快速安装查看执行计划的环境,并作相关授权。 安装完毕后,数据库的所有用...
主键和外键
前段时间发连连一个查询数据库主外键关系的文章(http://space6212.itpub.net/post/12157/107584),但有个缺点:不能一目了然地查看多层级联关系,故今天根据以前对sql作了一些改进,以树状结构显式多层级联关系,...
今天写了一个统计执行sql次数的脚本
前几天,为了超出一个问题的原因,我建议他打开了sql_trace,运行了一段时间,产生了几万个trace文件。如何从这几万个trace中找出需要的信息成了一个大问题。这里,我写了一个shell脚本,希望可以帮他解决问题。[ro...
outline优化一例
最近需要优化一个系统,由于多种原因不能修改原代码,故用outline来进行优化。statspack上找出性能底下的SQL,这里以其中一个优化举例如何使用outline--原SQL,效率极低select it.TAG_ID tag_id,count(it.TAG_ID) co...
如何找出被锁定的行
oracle锁的最小单元是行,oracle在锁定记录的时候直接在对应的行做一个标识,但我们并不能通过视图查询出被锁的行。(想想道理也很简单,如果每一个被锁的行对应一条记录,那么在大数据量更新的数据库是不可接受...
linux下软raid的实现
raid是当前存储提高安全和性能的主要技术手段,实现raid一般用raid卡实现,也就是硬raid。除此之外,我们还可以用软件来实现raid技术。这篇文章就简单介绍如何用软件实现raid技术(以raid0为例)。有两个可以实现软r...
全文检索的转义
在全文检索中有很多保留字符或保留词,如果不对这些作转义处理,则会导致查询不准确,如:SQL> select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'CN-A64-02-398-00')>0 and rownum<10;SKU--------------...
RedHat FC5安装xmms
xmms是linux一个优秀的MP3播放器。今天在RedHat FC5安装xmms,真是一波三折啊。中间遇到了很多问题,花了几个小时才装上,把这个痛苦的过程记录一下。一、下载软件下载地址是:http://www.xmms.org/files/1.2.x/xmm...
oracle压力测试之orabm(三)
接oracle压力测试之orabm(二)下面是一个测试实例:环境配置如下:CPU P4 2.6MEM: 1GOS: WINDOWS XP SP2DATABASE: 9201SGA:300MLOGFILE: 100MLOG_BUFFER: 3MD:programeroracle tools压力orabmbinwindows>orabm 1,2,6,...
oracle压力测试之orastress!
orastress主要测试数据库的压力。它可以测试数据库的CPU或者内存的压力(以只读方式),也可以使用包括普通INSERT和直接路径INSERT两种方式测试数据库的I/O能力。orastress只能运行在windows下,但它也可以测试远程...
用prebuild mv 方法迁移数据
/*用prebuild mv 方法迁移数据原理:用perbuild方法建立的物化视图,在drop物化视图时,不会把其对应的基表删除。好处:主要是利用物化视图增量刷新的方法减小down机时间。*/--步骤--1 在目的数据库端建立DB LINKcre...
配置全文检索
查询中经常遇到类似这个的情况:select * from t where t.name like '%a%';其中a是变量。像这种情况是不会走索引的,如果表很大,这将是非常耗费资源的。优化这个查询有两种方法:1、拆分name2、全文检索其中:拆分n...
oracle压缩表(二)
在低版本的oracle中,一旦对表进行了压缩,就不能添加删除字段了。但在10g下,可以对压缩表进行结构的变更。看下面的例子:SQL> select * from v$version;BANNER--------------------------------------------------...
柱状图与执行计划
简单探讨一下9i下柱状图和执行计划不绑定变量的情况:考虑以下数据SQL> select owner,count(1) from th group by owner;OWNER COUNT(1)------------------------------ ----------SUK ...
ORA-7445[opidsa]
今天,在一个正式库上收到如下告警邮件:2007-11-28 11:31:00 Wed Errors in file /opt/oracle/admin/tradedb/udump/tradedb2_ora_72.trc:2007-11-28 11:31:00 Wed ORA-07445: 出现异常错误: 核心转储 [opidsa()+480...
用flashback恢复存储过程
今天一个朋友问我,删除了一个存储过程是否可以恢复,想了想,恢复存储过程就相当于找到删除过程前SOURCE$表的数据,可以用flashback功能恢复。下面的测试过程。首先建立存储过程:SQL> create or replace procedure...
物化视图
物化视图 1、快速刷新(增量刷新)时,需要建立materialized view log以便记录数据的变化(对应表MLOG$_master_name),所有对主表的数据变化都通过内部触发器记录到MLOG$_master_name,作为物化视图数据增量刷新的...
浅谈ORACLE的分布式事务
简单来说,分布式事务是指涉及到多个数据库的事务。本文通过例子讨论oracle处理分布式事务的原则及优化方法。平台环境:suk: linux as4 + oracle 9201primary: windows xp + oracle 10.2.0.3首先在primary数据库上建...
如何通过DBLINK取remote DB的DDL
今天在写一个数据库结构同步小工具,需要用到dbms_metadata.get_ddl这个包取对象的DDL。这个包取本地对象的DDL是没有问题的,但在这个工具中,需要通过DBLINK方式取远端数据库的DDL,经过一番资料查找,找到了解决方法。[@more@]首先尝试直接在dual用dblink,结果出错:SQL> SELECT (DBMS_METADATA.GET_DDL('TABLE', 'NEW_A', 'ADMIN')) FROM DUAL@DB230;SELECT (DBMS_METADATA.GET_DDL('TABLE', 'NEW_A', 'ADMIN')) FROM DUAL@DB230ORA-31603: object "NEW_A" of type TABLE not found in schema "ADMIN"ORA-0651
关于32位oracle扩展SGA的一些问题
由于32位下操作系统的进程访问4g(2的32次方)以下的虚拟地址,而这4g的地址又要为内核、可执行代码、共享库等保留地址空间,所以,实际上可以留给SGA的空间只有1.7G左右。 但32位的linux 为可执行代码、共享...