Oracle 事务处理】的更多相关文章

原文转自:(http://www.cnblogs.com/ITtangtang/archive/2012/04/23/2466554.html) 一.事务概念事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败.如:网上转账就是典型的要用事务来处理,用于保证数据的一致性. 二.事务和锁当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户修改表的结构.这里对我们的用户来讲是非常重要的. 三.提…
事务的四大特性 1.原子性(Atomicity) 事务的原子性是指事务中包含的所有操作要么都做,要么都不做,保证数据库是一致的. 2.一致性(Consistency) 一致性是指数据库在事务操作前和事务处理后,其中的数据必须都满足业务规则约束. 3.隔离性(Isolation) 隔离性是数据库允许多个并发事务同时对齐数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致. 如果不考虑事务的隔离性,会导致以下不正确的问题: a.脏读:指一个事务读到了另外一个事务中…
事务 作为逻辑处理的基本单位,对于数据库操作来说由一条或者多条sql语句来构成.当然还有针对非数据库操作的,如在计算机中设置的还原点即是一个非常好的应用. 对于事务的基本性质在还有一篇中有所叙述:SQL 事务及实例演示 oracle和sql server在事务上差别 sql server中的事务一般分为隐式事务.显式事务.自己主动提交事务. 自己主动事务:对于sql server来说,当client提交一条sql语句时,这时候sql server都会自己主动启动一个事务:对于这种事务,在运行完s…
这是2013年在看ORACLE概念手册的时候的一些笔记,现在整理如下(可能跟其他一些文章的内容有重复):     20131012 周六 oracle概念手册中文版 第4章 事务管理   事务具有原子性,要么全部提交,要么全部回滚.   事务开始于第一条可执行的sql语句,结束语commit或者rollback操作.执行一个ddl操作可以自动的触发commit操作.   下列java代码:DataSource ds = DataSourceGen.getDataSourceFromXML();…
事务:一个独立的逻辑工作单元.它有特定的一系列必须作为一个整体一起成功或者失败的SQL语句组成.是一个要么全有要么全无,很个性的一个东东. 事务的四大属性——ACID属性:原子性(atomicity).一致性(consistency).隔离性(isolation).持久性(durability) 原子性:事务中的所有任务都必须执行,或者不执行.不存在部分事务. 一致性:事务将数据库从一个一致性状态带到另一个一致性状态. 隔离性:一个事务所带来的影响知道该事物提交之前对其他事务来说都是不可见得.…
事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异.事务处理也是数据库管理员与数据库应用程序开发人员必须深刻理解的一个问题,对这个问题的疏忽可能会导致应用程序逻辑错误以及效率低下.     下面我们针对Oracle及SQL Server这两种当前广泛使用的大型数据库产品,探讨一下它们在事务处理方面的一些差异.如没有特殊说明,本文内容适用的数据库产品版本为Oracle9i及SQL Server 2000,其中的示…
本文系转载,原文地址:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以逐个解决脏读.不可重复读.幻读这几类问题. √: 可能出现    ×: 不会出现   脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed × √ √ Repeatable r…
1.Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大.具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两…
今天终于把oracle入门的知识通篇过了一遍. 一篇文章没有写,先做个索引.把知识系统的梳理下. 数据库基本概念-oracle介绍 oracle安装,配置,启动 oracle工具 sqlplus 用户管理 oracle数据库表的备份和恢复 oracle数据类型 oracle表管理crud oracle查询 java操作数据库 oracle事务处理 oracle数据的完整性 序列详解 oracle管理权限和角色 plsql编程 块/存储过程/函数 触发器/视图 例外处理…
在SQL92标准中,事务隔离级别分为四种,分别为:Read Uncommitted.Read Committed.Read Repeatable.Serializable 其中Read Uncommitted与Read Committed为语句级别的,而Read Repeatable与Serializable是针对事务级别的. 在Oracle和SQL Server中设置事务隔离级别的语句是相同的,都使用SQL92标准语法,即: Set Transaction Isolation Level Re…
原子性 事务是一个完整的操作.事务的各步操作是不可分的(原子的):要么都执行,要么都不执行. -- 创建表 create table account_money ( id number(4) not null, name varchar2(4) not null, money number(5,2) not null ) ; -- 增加一个检查约束 alter table account_money add constraint CK_money check (money>=0); --向张三这…
一.并发引起的问题 脏读:能读取未提交的数据 不可重复读:T1事务读取数据后,T2事务执行更新操作,使T1无法再现前一次读取的结果.分三种情况: 1.值不同 2.少了记录 3.多了记录 幻象读(后两种不可重复读):T1时间执行查询,在T2时间重新查询时,有更多或更少的行满足条件. 二.ANSI隔离级别 ReadUncommitted  允许一个事务查看另一个事务对数据所做的未提交的更改. ReadCommitted  在该事务提交之前,在该事务中所作的任何更改,在该事务之外都不可见. Repea…
(a)基本概念 锁的2种最基本.最简单的类型:排他锁(eXclusive lock,即X锁).共享锁(Share lock,即S锁). 不同级别的锁定协议及其作用: 申请的锁 及其作用 锁定协议 修改时申请X锁 读取时申请S锁 作用 操作 结束 释放 事务 结束 释放 操作 结束 释放 事务 结束 释放 不 丢失 修改 不 脏读 可 重复读 一级锁定协议   是     是     二级锁定协议   是 是   是 是   三级锁定协议   是   是 是 是 是 锁定对象的大小被称为锁定的粒度…
韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring   目录(?)[-] Oracle认证和安装与其他数据库比较 Oracle的基本使用--基本命令 oracle用户管理 oracle表的管理数据类型表创建删除数据 CRUD操作 oracle表查询1 oracle表查询2 java操作oracle oracle中事务处理 oracle的函数 数据库管理表的逻辑备份与恢复…
-- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; --那么这个用户名就能使用了. --(默认全局数据库名orcl) 1.select ename, sal * 12 from emp; --计算年薪 2.select 2*3 from dual; --计算一个比较纯的数据用dual表 3.select sysdate from dual; -…
SQL92事务的隔离级别 SQL 标准用三个必须在并行的事务之间避免的现象定义了四个级别的事务隔离. 这些不希望发生的现象是:       脏读(dirty reads):一个事务读取了另一个未提交的并行事务写的数据.     不可重复读(non-repeatable reads ): 一个事务重新读取前面读取过的数据,发现该数据已经被另一个已提交的事务修改过.     幻读(phantom read ): 一个事务重新执行一个查询,返回一套符合查询条件的行,发现这些行因为其他最近提交的事务而发…
§2.1 术语 l 数据库块(BLOCK) ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码. ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时指定.其最小为2K,最大可达为64K. l 瓶颈(Bottleneck) 指限制系统性能的部件. l 面向对象的关系数据库 具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统.Oracle7是一种功能完备的关系数据库系统:…
首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott account unlock;   --那么这个用户名就能使用了.   --(默认全局数据库名orcl)       1.select ename, sal * 12 from emp; --计算年薪   2.select 2*3 from dual;  --计算一个比较纯的数据用dual表  3.se…
事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表的结构,这里对我们用户来讲是非常重要的. 提交事务 当执行commit语句可以提交事务,当执行了commit语句后,会确认事务的变化.结束事务.删除保存点.释放锁,当使用commit语句结束事务后,其它会话将可以查看到事务变化后的新数据. 回退事务 在介绍回退事务前,我们先介绍一下保存点(savepoin…
在进行OracleBulkCopy批量数据导入的过程中使用事务后抛出了异常, 没使用事务时可以正确批量导入, ORA-12154:无法解析指定的连接字符串, 但是TNS配置肯定是没有错的, 难道是ConnectionString不是这样写了,执行事务时发生了变化, 还有: //暂时发现oracle的bulkCopy不支持事务处理 using (OracleBulkCopy bulkCopy = new OracleBulkCopy(conn,OracleBulkCopyOptions.UseIn…
--当一个子程序调用另外一个子程序时,事务提交或回滚都将影响两个子程序 --为防止一个子程序的事务影响其他子程序,可以将这个子程序标记为自主事务处理 --这样自主事务成为一个独立的事务处理,不影响其他子程序的事务 --pragma autonomous_transaction 用于标记子程序为自主事务处理 --自主事务过程 create or replace procedure proc_tran1 as v_sal emp.sal%type; pragma autonomous_transac…
----------------1.数据库更新操作----------------------------- select * from tab;--查询表 drop table siebel_user;--删除表 --copy一份表结构create table myemp as select * from emp; select * from myemp; --插入记录insert into myemp(empno,ename,job,hiredate,sal,comm,deptno) val…
多用户并发访问 事务:作用于某些数据的一个不可分割的操作   锁:写锁.互斥锁(仅能被一个进程使用)      读锁.共享锁(可被多个进程使用)   更新丢失 脏读 不可重复读 幻影读   隔离级别: 1 READ COMMITTED 每个语句得到完整的视图 2 SERIALIZABLE 事务级别实施串行化   Oracle并发特性 1 回滚段:存储“撤销”信息的数据结构 redo日志用来记录数据库的所有事务:回滚段用于提供事务回滚和读一致性 2 系统改变号 SCN:保证事务执行的顺序 3 数据…
2015年左右,因为工作需要用MongoDB.CouchBase这两种文档型数据库,时不时到这两个数据库官网上查资料.报BUG.时常可以在MongoDB官网上看到这样一些新闻,“某某企业成功将MySQL替换成MongoDB,性能大幅提升”,“某某公司将Oracle替换成MongoDB,节约成本若干”…… 而在CouchBase官网上,又会时不时看到这样的新闻:“A公司将MongoDB替换成CouchBase,性能提升显著”.“B公司将MongoDB替换为CouchBase,性能大大提升.”………
一.数据的更新操作 DML操作语法之中,除了查询之外还有数据的库的更新操作,数据的更新操作主要指的是:增加.修改.删除数据,但是考虑到emp表以后还要继续使用,所以下面先将emp表复制一份,输入如下指令: CREATE TABLE myemp AS SELECT * FROM emp; 这种语法是Oracle中支持的操作,其他数据库不一样. 1.数据增加 如果现在要想实现数据的增加操作,则可以使用如下的语法完成: INSERT INTO 表名称 [(字段1,字段2,…)] VALUES(值1,值…
一.涉及内容 1.理解事务的概念和几个特性. 2.熟练掌握事务管理命令的使用. 3.理解并发操作的概念和数据库锁的类型. 二.具体操作 (12.5 实验) 1. 分析以下代码,说出代码中的哪些部分体现了事务的语句级原子性.过程级原子性和事务级原子性. create table book (bid ) CONSTRAINT pk_bid PRIMARY KEY DEFERRABLE INITIALLY IMMEDIATE, bname ), bprice ,)); ,'Oracle 10g 数据库…
SELECT            HO.NAME OU                                                                           名称,           t.NAME                                                                   订单事务处理类型,           t.DESCRIPTION                           …
概念:隔离级别定义了事务与事务之间的隔离程度. ANSI/ISO SQL92标准定义了一些数据库操作的隔离级别(这是国际标准化组织定义的一个标准而以,不同的数据库在实现时有所不同). 隔离级别 脏读 不可重复读 幻读 读未提交(Read uncommitted) √ √ √ 读已提交(Read committed) × √ √ 可重复读(Repeatable read) × × √ 可串行化(Serializable) × × × √可能出现,×不会出现 事务隔离级别 脏读(dirty read…
oracle 事物控制包括 COMMINT ROLLBACK SAVEPOINT avepoint是事务内部允许部分rollback的标志符.因为事务中对记录做了修改,我们可以在事务中创建savepoint来标识不同的点.如果遇到错误,就可以rollback到不同的点或直接回来事务最开始的点. SAVEPOINT和ROLLBACK TO SAVEPOINT语法: SAVEPOINT identifier ROLLBACK [WORK] TO SAVEPOINT identifier RELEAS…
--事务处理 --created by jenrry DECLARE l_iface_rec inv.mtl_transactions_interface%ROWTYPE; l_iface_lot_rec inv.mtl_transaction_lots_interface%ROWTYPE; l_cur_mfg_org_id NUMBER := 127; --Current Inv Organization l_user_id NUMBER := 0; --User ID, Sysadmin h…