oracle学习----DDL锁理解】的更多相关文章

DDL锁分为三种 1.排他DDL锁 2.共享DDL锁 3.可中断解析锁 大部分DDL都带有排他DDL锁,如一个表被修改中,可以使用select查询数据,但是大多数操作都是不允许执行的,包括所有其他DDL语句. 但是在oracle中,有一些DDL操作没有DDL锁也发生.比如online创建索引 在线创建索引,会带有DL,OD,低级TM锁,但是没有排他DDL锁 DL 直接加载锁,对表进行直接加载路径与创建索引不能同时进行. OD锁 online DDL支持真正的联机. 低级TM锁 防止其他DDL发生…
通过实验来理解行级锁的发生 1.创建需要的表 SQL> conn / as sysdba已连接.SQL> create table dept as select * from scott.dept; 表已创建. SQL> create table emp as select * from scott.emp; 表已创建. SQL> alter table dept add constraint dept_pk primary key(deptno); 表已更改. SQL> a…
1 并发 多用户数据库管理系统的一个主要任务是对 并发(concurrency)进行控制,即对多个用户同时访问同一数据进行控制.当缺乏有效的并发控制时,修改数据的操作就不能保证正常,从而危害数据完整性.管理数据并发的方法是让每个用户轮流操作数据.而数据库管理系统的目标就是减少每个用户的等待时间,即让用户无需等待或使等待难以察觉. 为保证数据库性能,Oracle 应用了不同类型的锁和多版本数据完整性模型(multiversion consistency model).这些特性都包含在事务(tran…
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 300    ; set pagesize 30     ; 编辑sql命令: ed a.sql 执行 @a 切换用户: conn User/passwd   [as sysdba|sysoper ] conn system/manager conn sys/change_on_install  as…
Oracle学习系列7 ************************************************************************************ 关联表的约束: 强制删除关联表中的父表: drop table tab_name cascade constraint ; 约束本身是可以修改的,但是不建议修改约束 知识点: ,掌握视图的作用及定义 ,掌握序列的使用:SEQUENCE ,掌握PowerDesigner设计工具的使用 ,了解同义词,了解用户…
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  …
一.摘要 Oracle的手册上关于锁的分类说明如下: 1. DML锁:Date lock.执行DML时保护数据的锁.Row Lock(TX)保护特定行,Table Lock(TM)保护整个表,可以通过dba_kml_locks观察. 2. DDL锁:Data dictionary lock.保护User/Table/View/Procedure等定义,可以通过dba_ddl_locks观察. 实际上,DML锁和DDL锁只是为了合理分配锁而赋予的名称,请注意这点. DML锁实际上与TM锁一致,DM…
Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sqlplus / as sysdba 2.在创建用户之前,先要创建表空间,格式为: 代码: SQL>>create tablespace 空间名 datafile '磁盘路径\new_data.dbf' size 10M; 注意:磁盘路径要提前创建,文件后缀名自定义,size大小自定义 3.创建用户…
数据库事务概括 1. 说明 一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退. 2.事务相关概念 1)事务的提交和回滚:COMMIT/ROLLBACK 2)事务的开始和结束 开始事务:连接到数据库,执行DML.DCL.DDL语句 结束事务: 1. 执行DDL(例如CREATE TABLE),DCL(例如GRANT),系统自动执行COMMIT语句 2. 执行COMMIT/ROLLBACK 3. 退出/断开数据库的连接自动执行COMMIT语句 4. 进程意外终止,事务自动rollback 5…
If you use a SET TRANSACTION statement, then it must be the first statement in your transaction. However, a transaction need not have a SET TRANSACTIONstatement. Syntax set_transaction::= http://docs.oracle.com/cd/B28359_01/server.111/b28286/statemen…