oracle 基础知识
文章平均质量分 68
venice
这个作者很懒,什么都没留下…
展开
-
Oracle10g dual表详解(续)
1、DUAL表的用途Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中--查看当前连接用户SQL> select user from dual;USER------------------------------SYSTEM--查看当前日期、时间SQL> select sysdate from dual;SYSDATE---------原创 2009-08-22 23:19:00 · 844 阅读 · 0 评论 -
oracle 锁的介绍
一、什么是锁: Oracle的锁机制是一种轻量级的锁定机制,不是通过构建锁列表来进行数据的锁定管理,而是直接将锁作为数据块的属性,存储在数据块首部。这个是通过ITL来实现的,一个事务要修改块中的数据,必须获得该块中的一个itl。关于itl(事务槽)的介绍可参考http://blog.csdn.net/gybyylx/article/details/6893639。原创 2011-11-02 19:41:28 · 10779 阅读 · 0 评论 -
Oracle 死锁
待续。。。。。。。。。。。。。原创 2011-11-05 07:52:36 · 648 阅读 · 0 评论 -
Oracle 阻塞
如果一个会话持有某个资源的锁,而另一个会话在请求这个资源,就会出现阻塞(blocking)。这样一来,请求的会话会被阻塞,它会“挂起”,直至持有锁的会话放弃锁定的资源。 下面介绍几种主要的阻塞。 一、唯一约束引起的阻塞二、select for update引起的阻塞三、外键没有索引引起的阻塞 如果有以下情况之一存在,应该考虑给外键创建索引,否则原创 2011-11-03 16:19:27 · 1069 阅读 · 0 评论 -
Oracle 如何实现 Read Consistency(读一致性)
Oracle的官方文档中这样说: Oracle uses the information maintained in its rollback segments to provide these consistent views. The rollback segments contain the old values of data that have been changed by原创 2011-11-08 15:06:48 · 4997 阅读 · 0 评论 -
oracle 写一致性的测试
待续。。。。。。。。。原创 2011-11-08 15:15:49 · 841 阅读 · 0 评论 -
Oracle数据库的系统和对象权限
Oracle数据库的系统和对象权限:alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权原创 2011-11-08 20:30:09 · 722 阅读 · 0 评论 -
Oracle 一致读的测试
oracle读一致性分为事务一致读和语句一致读两种,oracle缺省情况下为语句一致读。事务一致读是指在某一个事务内读的数据不会受其他session修改而改变。语句一致读是指在某一个时间点读的数据只会是数据库中这个时间点的信息,在读的过程中,若其他session对所读数据做修改将不会被读取。对于一致读的原理和步骤请参考:http://blog.csdn.net/gybyylx/arti原创 2011-11-06 23:28:24 · 879 阅读 · 0 评论 -
Oracle中的数据字典技术及常用数据字典总结
一、Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,转载 2011-11-08 20:58:15 · 1479 阅读 · 1 评论 -
Oracle 语句重启动
Oracle在执行DML语句时,会用到两种不同的方式去读取数据块: 1. 一致读:在“找到”需要修改的数据行时,会采用consistent read 2. 当前读:在“获取”数据块来实际更新数据行时,会采用current read 一、重启动发生的原因或场景: where条件读取时采用一致读和更新时采取当前读版本不一致时就会发生重启动。如:update te原创 2011-11-09 15:59:16 · 1342 阅读 · 0 评论 -
Oracle 表空间介绍
一、表空间概念: 表空间(tablespace)是数据库的逻辑划分, 每个数据库至少有一个表空间,叫做系统表空间(system 表空间). 一个表空间只能属于一个数据库。 每个表空间由同一个磁盘上的一个或多个文件组成, 这些文件称为数据文件。 oracle数据库中的数据逻辑的存储在表空间并物理的存储在数据文件中。 二、表空间特性原创 2011-11-12 11:22:18 · 1235 阅读 · 0 评论 -
Oracle 体系结构概要
Oracle数据库系统是一个复杂的软件系统。所谓Oracle的体系架构,是指Oracle数据库管理系统的的组成部分和这些组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构等。 下图为Oracle数据库体系总体图: Oracle数据库的体系很复杂,复杂的原因在于它最大限度的节约内存,从上图可以看出,它在整体上分实例和数据库文件两部分。 一、实原创 2011-11-12 01:47:22 · 1289 阅读 · 1 评论 -
Oracle 数据块介绍
一、数据块概述: Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block)。数据块是数据库中最小的(逻辑)数据单位。与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节(byte)。每种操作系统都有一个被称为块容量(block size)的参数。Oracle每次获取数据时,总是访问整数个(Oracle)数据块,而不是按照操原创 2011-11-12 11:35:54 · 1233 阅读 · 0 评论 -
Oracle DBWn(DBWR)写数据文件
首先介绍下DBWn(和DBWR是一个概念,DBWR就是database writer,就是写数据文件的进程, 后来允许多进程写data file,所以改成DBWn了):DBWn:数据块写进程,负责将Oracle数据库缓冲区的脏缓冲写到数据文件内(脏缓冲是已经被修改,但未写入数据文件的数据)为了保证缓冲区能有空余缓冲供用户使用DBWn会根据LRU(最近最少使用)算法找出相应的脏缓冲,并将其写原创 2011-11-13 00:19:29 · 7477 阅读 · 0 评论 -
B树、B-树、B+树、B*树的区别
B树: 即二叉查找树(二叉排序树或二叉搜索树): 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么原创 2012-10-21 20:23:12 · 1100 阅读 · 0 评论 -
Oracle 丢失更新问题的解决方案
丢失更新是数据中一个比较常见的经典问题,在做项目时我们有时可能会没有注意到这个问题,但这个问题相当重要,有时会带来比较严重的结果。下面我们就来讨论下这个丢失更新。一、什么是丢失更新:用一个操作过程来说明:(1) 会话Session1 中的一个事务获取(查询)一行数据,并显示给一个用户User1。(2) 会话Session2 中的另一个事务也获取这一行,但是将数据显示给另一个用户Us原创 2011-11-03 17:44:18 · 1389 阅读 · 0 评论 -
oracle sql执行过程分析
在oracle中存在这样两种语句类型:DDL(create、drop、alter、truncate)、DML(insert、update、delete、select)。DDL语句是从来不会共享使用的,也就是说每次执行都是硬解析,而DML语句会根据实际情况选择解析方式(硬解析或软解析)。下面我们主要对DML类sql语句的执行过程进行分析:oracle对DML类sql语句的执行步骤如下:原创 2011-10-19 21:02:17 · 2277 阅读 · 0 评论 -
oracle 经典书籍下载
提供一些oracle比较经典的书籍下载: 1.Oracle 9i&10g编程艺术(中文版) : http://download.csdn.net/detail/gybyylx/3728012 2.Oracle Concepts(中文版): http://download.csdn.net/detail/gybyylx/3727990 3.Oracle专家高级编原创 2011-10-28 11:04:35 · 1732 阅读 · 0 评论 -
Oracle悲观锁和乐观锁
为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观锁顾名思义,就是对数据的冲突采取一种悲观的态度,也就是说假 设数据 肯定会冲突,所以在数据开始读取的时候就把数据锁定住。而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据转载 2009-08-23 03:47:00 · 1597 阅读 · 0 评论 -
Oracle体系框架及SQL语句性能探讨
Oracle体系框架及SQL语句性能探讨关键字: oracle, 框架, sql语句, 性能探讨 摘要: 基于数据库的业务系统的核心是数据库和数据。理解ORACLE数据的体系框架有助于我们成功开发基于数据库的业务系统。通过增加一个索引、改变SQL语句的连接方法可以极大的改变系统的性能;80%的性能问题都是由不良的SQL语句引起的。 关键词: 数据库、ORACLE、体系转载 2009-08-24 00:07:00 · 940 阅读 · 1 评论 -
ORACLE DUAL表详解
首先搞清楚DUAL是什么OBJECT : SQL> connect system/manager Connected. SQL> select owner, object_name , object_type from dba_objects where object_name like %DUAL%; OWNER OBJECT_NAME OBJECT_TYPE原创 2009-08-22 23:02:00 · 764 阅读 · 0 评论 -
oracle中的视图详解
以下是我对Oracle中视图的一些简单总结,希望和大家一起来学习探讨。 1.视图的概述 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。原创 2009-08-30 23:36:00 · 1371 阅读 · 0 评论 -
Oracle synonyms总结
synonyms(同义词)就是给数据库对象取一个别名,因为同义词只是一个别名,因此它只需在数据字典中存储自身的定义,而无需额外的存储空间。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。 同义词分为两种:公共同义词与私有同义词。公共同义词由特殊的用户组 PUBLIC 所拥有,一般由DBA、SYSTEM、SYS创建,数据库中的每个用户都能够访问。而私有同义词属于某个用户,此用原创 2009-09-01 00:03:00 · 4661 阅读 · 2 评论 -
减少oracle sql回表次数 提高SQL查询性能
减少oracle sql回表次数 提高SQL查询性能原创 2010-12-11 23:43:00 · 1271 阅读 · 0 评论 -
查询对于某个字段有重复的只查询出一条的sql
TI_R_PRODUCTDATA_DOWN 表主键为(RECORDID,PRODUCTID),PRODUCTID字段有重复,要求只查询出相同PRODUCTID最新的一条:红色部分是条件取最新的一条 SELECT A.PRODUCTID,A.MATERIALCODE,原创 2011-08-24 11:12:59 · 1625 阅读 · 0 评论 -
oracle 单引号拼凑和动态sql
a.单引号问题(') 在oracle中4个单引号''''代表一个单引号'。在动态sql拼凑中我们经常需要拼凑单引号。比如: 变量 中带单引号:IV_DATE_FORMAT:=''''||'YYYYMM'||''''; 动态sql中用单引号:sqlStr :=原创 2011-10-14 11:21:19 · 1891 阅读 · 0 评论 -
oracle ITL(事务槽)的理解
一、ITL描述:ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,用来记录该块所有发生的事务,一个itl可以看作是一条事务记录。当然,如果这个事务已经提交,那么这个itl的位置就可以被反复使用了,因为itl类似记录,所以,有的时候也叫it原创 2011-10-21 13:43:23 · 16275 阅读 · 3 评论 -
oracle rowid的理解
一. 官网说明 owid的定义:A globally unique address for a row in a database. rowid 分为extended rowid 和 restricted rowid.1.1 Restricted ROWID Internally, the ROWID is a structure that ho原创 2011-10-24 10:53:30 · 1844 阅读 · 0 评论 -
oracle rownum的理解
一、Rownum的描述: rownum是一个伪列,数据库中并不保存rownum的列值,它是oracle系统为返回的结果集顺序分配的行编号,rownum是随着结果集生成的,一旦生成,在同一个结果集中就不会变化了,rownum值是依次递加的(从1开始),没有1就永远不会有2。 当某一行记录读入内存时,相应的ROWNUM才被动态地赋值。 二、Rownum运行机制:原创 2011-10-24 16:35:26 · 1333 阅读 · 0 评论 -
Oracle schema的理解
我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined in the原创 2009-08-23 03:03:00 · 1520 阅读 · 4 评论 -
如何学习Oracle-eygle的方法经验谈
转:如何学习Oracle-eygle的方法经验谈作者:eygle 链接:http://www.eygle.com/archives/2005/08/ecinieoracleouo.html 很多朋友经常问起学习Oracle的方法,在这里我把写在《Oracle数据库性能优化》一书前面的话贴在这里,供大家参考!----------------------------------转载 2011-10-28 11:32:20 · 799 阅读 · 0 评论 -
Oracle 表的介绍
本文介绍下oracle有哪些类型的表,且在什么样的情况下使用什么样的表。一、表类型: oracle中主要有9种表类型 : a.堆组织表: 这就是标准数据库表,oracle默认创建的表类型。数据以堆的方式管理。增加数据时,会使用段中找到的第一个能放下此数据的自由空间。从表中删除数据后,允许以后的INSERT和UPDATE重用这部分空间。原创 2011-11-12 01:15:47 · 1123 阅读 · 0 评论 -
Oracle 索引的介绍
一、索引的概念: 索引是建立在表上的可选对象。 索引的关键在于通过一组排序后的索引键(rowid)来取代默认的全表扫描检索方式,从而提高检索效率。 索引在逻辑上和物理上都与相关的表的数据无关,当创建或删除一个索引时,不会影响基本的表、数据库应用或其他索引,当插入、更改和删除相关的表记录时,Oracle会自动管理索引,如果删除索引,所有的应用仍然可以继续工作。因此,在表原创 2011-11-17 16:59:46 · 1007 阅读 · 0 评论