欢迎投稿

今日深度:

oracle队列类型,oracle队列

oracle队列类型,oracle队列


本文参照oracle11gr2官方文档《Oracle® Database Reference11g Release 2 (11.2)

队列定义:oracle队列存在共享内存中串行访问数据库资源的。它产生于一次回话或者一个事物。

队列查找:在系统数据库词典视图 DBA_LOCK_INTERNAL和DBA_LOCK的Lock_type那一列。

产生原因:oracle资源唯一地标识一个对象,可以被不同的会话实例之间在一个实例(本地资源)或(全球资源)。每个会话试图锁定资源所以就会产生队列

队列名称:(前面是简称,即数据库词典查出的内容,后面是解释)

•BL, Buffer Cache Management

•BR, Backup/Restore

•CF, Controlfile Transaction

•CI, Cross-instance Call Invocation

•CU, Bind Enqueue

•DF, Datafile

•DL, Direct Loader Index Creation

•DM, Database Mount

•DR, Distributed Recovery Process

•DW, SecureFiles

•DX, Distributed Transaction

•FP, File Object

•FS, File Set

•HW, High-Water Lock

•IN, Instance Number

•IR, Instance Recovery

•IS, Instance State

•IV, Library Cache Invalidation

•JI, Enqueue used during AJV snapshot refresh

•JQ, Job Queue

•KK, Redo Log "Kick"

•KP, contention in Oracle Data Pump startup and shutdown processes

•KO, Multiple Object Checkpoint

•L[A-P], Library Cache Lock

•LS, Log Start or Switch

•MM, Mount Definition

•MR, Media Recovery

•N[A-Z], Library Cache Pin

•PE, ALTER SYSTEM SET PARAMETER = VALUE

•PF, Password File

•PI, Parallel Slaves

•PR, Process Startup

•PS, Parallel Slave Synchronization

•Q[A-Z], Row Cache

•RO, Object Reuse

•RT, Redo Thread

•RW, Row Wait

•SC, System Commit Number

•SM, SMON

•SN, Sequence Number

•SQ, Sequence Number Enqueue

•SR, Synchronized Replication

•SS, Sort Segment

•ST, Space Management Transaction

•SV, Sequence Number Value

•TA, Transaction Recovery

•TC, Thread Checkpoint

•TE, Extend Table

•TM, DML Enqueue

•TO, Temporary Table Object Enqueue

•TS, Temporary Segment (also TableSpace)

•TT, Temporary Table

•TX, Transaction

•UL, User-defined Locks

•UN, User Name

•US, Undo Segment, Serialization

•WL, Being Written Redo Log

•XA, Instance Attribute Lock

•XI, Instance Registration Lock

前面有一篇文档用到了队列,当时没做过多得解释,所以专门补充了一下

等待事件:http://blog.csdn.net/jacson_bai/article/details/38323821

 

 


oracle中怎创建队列 使id自动增长

序列+触发器 实现,代码如下:

CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
CREATE TRIGGER TRGname
BEFORE INSERT ON table_name
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;
 

Oracle字符类型与数值类型的转换

额,我对你上面的话的理解是:每次进行筛选的时候,一定要避免隐式转换。在索引字段上使用函数,或者其他的转换都会导致索引不可用,而你说的优先转换字符类型到数值类型,假如你进行筛选的字段是字符类型,那Oracle绝对不会给你转成数值类型,你的那句话应该是相对于其他类型来说的吧我认为,比如date类型之类的。所以我认为两个应该都是对的,只是说的是两个不同方面的规则吧。

我做过一个项目,用两张有3千万的表进行join,结果发现速度慢得受不了,该加的索引都加了,用执行计划看了,发现索引用不到,问题也就出在隐式转换身上。所以,第一句是对的,而第二句其实我也不是很确定哪个优先,从表面上看是看不出来的,要了解到Oracle内部的转换机制。。。小小意见,一起探讨探讨。。。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2626.html NewsArticle oracle队列类型,oracle队列 本文参照oracle11gr2官方文档《 Oracle® Database Reference11 g Release 2 (11.2) 》 队列定义: oracle队列存在共享内存中串行访问数据库资源的 锁 。它产生于一次回话或者...
评论暂时关闭