索引跳跃式扫描(index skip scan)是Oracle9i的一个新的执行特性,尤其适用于使用连接索引和访问多值索引的Oracle查询。让我们看以下的范例。请注意到以下代码包含着连接索引: create index sex_emp_id on emp (sex, emp_id) ; 在Oracle9i版本之前,当SQL查询中包含性别和emp_id时,或者
如何监控索引的使用? 研究发现,oracle数据库使用的索引不会超过总数的25%,或者不以他们期望被使用的方式使用。通过监控数据库索引的使用,释放那些未被使用的索引,从而节省维护索引的开销,优化性能。 1、在oracle8i中,确定使用了那个索引的方法意味着要对存在语共享SQL区中的所有语句运行EXPLIAN PALN,然
索引跳跃式扫描(index skip scan)是ORACLE9i用来提高性能的新特性,对于使用复合索引的数据库应用程序意义尤为重大。 复合索引(又称为连接索引)是一个包含多个字段的索引。在ORACLE9i以前的ORACLE版本里,只有那些在WHERE子句里引用整个索引或者是引用索引的一个或多个前导字段的查询,才能使复合索引有效而提
在Oracle9i以前的版本中,你只能在启动数据库的时候控制Oracle使用的UNIX内存。Oracle提供了一些INIT.ORA参数来检测系统全局区(system global area,SGA)的RAM大小。一旦启动了数据库,你将不能再改变SGA的大小和配置。 Oracle向一个24/7数据库迈进的目标,提出了调整UNIX内存区的大小而不必停止和重启数据
在Itpub上有朋友问到这样一个问题: 拿expert 的例子在10g上测验绑定变量的问题.发现如果不使用绑定慢许多(这个没问题),我们的机器肯定要好于当时作者的机器,(但是)结果(却比作者慢很多)如下: 不使用绑定变量要36.33秒.. 使用绑定变量0.50秒.. 而作者的测试分别为: 不使用绑定变量14.86 seconds... 使用
案例描述: 这是一个大型生产系统 问题出现时系统累计大量用户进程 用户请求得不到及时响应,新的进程不断尝试建立连接 连接数很快被用完 数据库版本:9.2.0.3 操作系统:Solaris8 1.检查alert文件 日志中记录如下错误信息,说明磁盘异步IO出现问题: WARNING: aiowait timed out 2 tim
在解决2662错误之后,经常会出现Ora00600 4193错误,经常可以在alert文件中看到的错误号类似:Fri Dec 16 22:37:27 2005Errors in file /opt/oracle/admin/conner/bdump/conner_smon_22817.trc:ORA00604: error occurred at recursive SQL level 1ORA00607: Internal error occurred while making a change to a data blockO
JDBC操作各种数据库经验技巧集萃 Java 数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式
当前系统可能的最大scn可以通过如下方法获得: 1.oracle 为了防止scn的异常增长所以限制每一秒钟允许最多产生 256*256/4 个scn 2.oracle 内部使用了一个4G范围的数据来表示01/01/1988 00:00:00 ~ 08/18/2121 06:28:15 这段时间.它的算法简单,说来就是每个月都是用的31天来表示时间,每增加1秒,这个数值就增加1. 可以从r
以前的一个项目,免了安装,自己做了个程序来配置ora文件 我备份的文件列表,从服务器获得 F:\ORA81客户端发布 的目录 20040715 13:17 <DIR> . 20040715 13:17 <DIR> .. 20040715 13:17 <DIR> BIN 20040715 13:17 <DIR> network 20040715 13:17 <DIR> ocommon 2
查看oracle 10g 视图 1、 查看数据库的名字和归档状态 SQL> select name,log_mode from v$database; NAME LOG_MODE HB130000 ARCHIVELOG 2、 查看数据库的instance名字和状态 SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS hb130000 OPEN 3、查看表空间
本文是有关Oracle 10g基于成本的内部优化(CBO)和结构化查询语言(SQL)性能最优化的一系列文章(共12部分)中的第10部分。每个技巧类的文章都摘录自即将由Rampant科技出版社出版的书《Oracle 结构化查询语言(SQL)和内在索引》,作者是Kimberly Floss。从该系列的主页上,你能看到其他即将发布的部分。 如果你不
主要可以通过两种方式: 1.在Oracle9i及以上版本中 可以使用dbms_flashback.get_system_change_number来获得SQL> select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER 2982184 2.在Oracle9i之前 可以通过查询x$ktuxe获得最接近当前系统scn值 X$KTUXE[K]ernel [T]ransact
很多时候,我们需要调整数据库系统的SCN值,有的是为了恢复的需要,如为了解决ORA600 2662错误. 而以下修改纯属无聊: 1.通过oradebug修改SCN[oracle@jumper oracle]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 Production on Wed Dec 21 10:33:35 2005Copyright (c) 1982, 2002, Oracle Corporation. All rig
AnySQL中的List命令是用来方便查询Oracle数据库中的各种对象而设计的, 这个命令有两个参数, 第一个是对象的类型, 第二个参数则是对象名(可以使用"_"表示任一字符, 用"%"表示任何字符串), 这样做的好处是DBA可以更快地查询所需要的信息, 以方便解决问题.Usage: LIST type patternTYPE : OBJECT CLUSTER INDEX SEQUENCE SYNON
在看了众多的分页存储过程以后发现都是针对sqlserver的,而没有oracle的,因此想写一个关于oracle的存储过程,因为我用到的数据库是oracle. oracle分页存储过程的思路于sqlserver的思路是一样的,但是我这里做了点改动,在因为oracle的语法和规则的不同所以,oracle分页存储过程看上去有点不一样。见笑,见笑! 在ora
情况一,数据库崩溃,只剩下磁带上的通过rman 的全备份,有controlfile和spfile都在rman备份中。 通过重新安装一个同名的SID之后再进行恢复。 注意事项: 1 rman的保存格式前后要一样. 2 archive 的格式也要和原来一样。 oracle 10g [oracle@standby oracle]$ rman target / 启动归档 SQL>a