`
文章列表

Oracle hash join

hash join是oracle里面一个非常强悍的功能,当做hash join时,oracle会选择一个表作为驱动表,先根据过滤条件排除不必要的数据,然后将结果集做成hash表,放入进程的hash area,接着扫描第二张表,将行的键值做hash运算,到内存的hash表里面去探测,如果探测成功,就返回数据,否则这行就丢弃掉这个是最基本的解 释,实际情况中,考虑到单个进程PGA的大小,oracle不会让进程任意的消耗OS内存,hash area是有一定限制的,所以在oracle中,hash也有三种模式: optimal,onepass,multipass optimal: ...
一.模拟数据文件删除 [oracle@node1 ~]$ sqlplus / as sysdba   SQL*Plus: Release 11.2.0.3.0 Production on Sat Dec 31 22:00:52 2011   Copyright (c) 1982, 2011, Oracle.  All rights reserved.   --数据库版本 Connected to : Oracle Database 11g Enterprise Edition R ...
为了保证事务的回退和满足多用户的 CR , oracle 引入了 undo 机制, 由于 undo 是循环使用的,在一个事务完成过程中,它与 redo 相互配合,其中 undo 在一次事务中需要完成以下工作: (1)      Transaction 开始前 回滚段获取一个 ITL( 事务槽 ) ,分配空间, 记录事务信息 (2)      Tran
Oracle数据库SCN号详解: 系统检查点scn(v$database(checkpoint_change#)) 数据文件检查点(v$datafile(checkpoint_change#)) 数据文件终止scn(v$datafile(last_change#)) 数据文件中存放的检查点 启动scn (v$datafile_header(checkpoint_change#) 1、系统检查点scn 当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。 select checkpoint_change# from v$database 2、数据文件检查 ...
1.对于sql,有几种方法查看执行计划,每种方法有什么区别,对于一条正在执行的sql,如何查看真实的,正在使用的执行计划? 答:第一种方法:explain plan for…,生成指定sql语句的执行计划,并把执行计划保存到用户指定的表中,供用户查询,但不作为真正运行时的执行计划,因为并没有保存在library cache中,得到的执行计划也不只library cache中的,所以不是真正的执行计划。 (1)SQL>explain plan for select * from emp (2)SQL>select * from table(dbms_xplan.display); ...
Java virtual machine always used big-endian, Intel x86 used little-endian. public class Swab { public final static int swabInt(int v) { return (v >>> 24) | (v << 24) | ((v << 8) & 0x00FF0000) | ((v >> 8) & 0x0000FF00); } public static v ...
Oracle虚拟私有数据库(VPD)概述及简单举例 1、Oracle虚拟私有数据库(VPD)概述 VPD提供了比角色和视图更好的行级访问控制。例如在internet访问中,虚拟私有数据库可以确保网上银行用户只能看到自己的帐户。互联网应用服务公司可以在一个数据库中维护多个公司的数据,同时确保每个公司只能看到其自己的数据。 在企业内部,VPD降低了应用部署的开销。安全仅需在数据服务器构造一次,而不用在每个访问数据的应用上部署。这样做安全性更强,因为数据库会强制应用安全策略,无论一个用户以何种方式访问数据。用户不能再使用一个查询工具(如SQL*PLUS)或者报表软件(如Informaker)来跳过编制 ...
都知道alter table move 或shrink space可以收缩段,用来消除部分行迁移,消除空间碎片,使数据更紧密,但move 跟shrink space还是有区别的。 Move会移动高水位,但不会释放申请的空间,是在高水位以下(below HWM)的操作。 而shrink space 同样会移动高水位,但也会释放申请的空间,是在高水位上下(below and above HWM)都有的操作。 也许很难理解吧,看测试就知道了。 SQL> select * from v$version; BANNER -------------------------------------- ...
Often while doing instance tuning or sql tuning, Internal structure of a Oracle Data block is important to know. Moreover when system does not show a significant direction to do troubleshooting. In this blog, I am explaining to how to extract dump of a oracle data block. dump shows following details ...
索引的使用对数据库的性能有巨大的影响。 共有五类不同的使用模式。 1。INDEX UNIQUE SCAN    效率最高,主键或唯一索引 2。INDEX FULL SCAN      有顺序的输出,不能并行读索引 3。INDEX FAST FULL SCAN  读的最块,可以并行访问索引,但输出不按顺序 4。INDEX RANGE SCAN      给定的区间查询 5。INDEX SKIP SCAN       联合索引,不同值越少的列,越要放在前面 --实验后的总论。 能用唯一索引,一定用唯一索引 能加非空,就加非空约束 一定要统计表的信息,索引的信息,柱状图的信息。 联合索引的顺序不同 ...

HP Unix中的dba MLOCK

最近在HP平台上遇到两次跟dba MLOCK权限相关的错误: 1、在恢复测试时,启动报错: SQL> startup nomount ORA-27125: unable to create shared memory segment HP-UX Error: 1: Not owner SQL> exit Disconnected 原因: In order for Oracle to lock the SGA into memory, the software owner must have locking privileges at the OS level. The s ...
表连接方式及使用场合 NESTED LOOP     对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。 一般 ...

Oracle用户权限

系统权限: 1、使用GRANT语句向用户赋予系统权限:     GRANT system_privilege TO user_name [ WITH ADMIN OPTION ] ;     注:使用WITH ADMIN OPTION语句后,使用户可以将相同权限赋给其他用户。   2、使用REVOKE语句撤销系统权限:     REVOKE system_privilege FROM user_name ;     注:当删除A用户的权限时,通过A赋予B的权限不会消失。   3、任何用户,都必须有CREATE SESSION权限,才可以连接到数据库。   4、可通过 sel ...
SQL> select * from stud; SID        KCBM               CJ RQ             ---------- ---------- ---------- ---------- - 1          语文               60 10-1月 -05 2          数学               60 02-10月-05 3          英语               90 25-1月 -05 1          数学               99 10-1月 -05 3       ...
Oracle Instance实例就是Oracle数据库服务器上一块可共享内存和一系列的背景进程。在Windows环境和Unix/Linux环境中,实现Oracle实例的方式存在很大差异。Windows环境由于自身的特点,Oracle实例中的共享内存和多进程模型被实现为单进程多线程模型。此时的共享内存SGA被实现为进程OracleService.exe的专享区域。   而在Unix/Linux下,Oracle实例是被实现为多进程模型的,多进程之间通过信号量(semaphore)和共享内存(shared memory)进行通信。在这个过程中,操作系统层面要进行更多的共享内存和信号量管理工作。本 ...
Global site tag (gtag.js) - Google Analytics