Oracle中会话与事务有什么区别?

        一个会话可以启动多个事务,会话是session,指一次连接。
        事务是指一个操作单元,要么成功,要么失败,没有中间状态。
        会话中可以完成多个事务。
例如:
        会话好比,在应用程序中连接数据库要执行连接,然后会关闭,这算一次会话。
        事务呢,就好比在打开会话后要执行程序中的某一个或多个对数据库进行的操作。
        事物的最好例子就是转账,从一个账户赚钱到另一个账户,两张表的数据修改,要么全成功,要门全变回原样。
        会话看 v$session
        事务看 v$transaction
        这两张视图通过 v$session.taddr= v$transaction.addr 连接,
        事务是使数据库和文件系统分离的一个特性

时间: 2025-01-20 21:21:44

Oracle中会话与事务有什么区别?的相关文章

Oracle中会话与事务的区别

一个会话可以启动多个事务,会话是session,指一次连接. 事务是指一个操作单元,要么成功,要么失败,没有中间状态. 会话中可以完成多个事务. 例如: 会话好比,在应用程序中连接数据库要执行连接,然后会关闭,这算一次会话. 事务呢,就好比在打开会话后要执行程序中的某一个或多个对数据库进行的操作. 事物的最好例子就是转账,从一个账户赚钱到另一个账户,两张表的数据修改,要么全成功,要门全变回原样. 会话看 v$session 事务看 v$transaction 这两张视图通过 v$session.

oracle中union和union all的区别

经常写sql的同学可能会用到union和union all这两个关键词, 可能你知道使用它们可以将两个查询的结果集进行合并, 那么二者有什么区别呢? 下面我们就简单的分析下. [ 比较 ] union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序; union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复; 下面我们举一个简单的例子来证明上面的结论: 1. 准备数据: drop table studen

Oracle中利用自治事务实现审计功能

在一个事务(外层事务)中可以定义一个或几个自治事务.自治事务可以独立commit,不 对外层事务产生影响,同样外层事务的 rollback 也对自治事务没有影响. 假设现在 有这样一个需求,不能对某个表进行某些操作(如更新),一旦有这类操作,就强制整个回 滚,并且在审计日志中记录该次违规操作.现在的问题是当事务回滚之后,日志中的记录也 会跟着被回滚,这时就可以利用自治事务来防止这个问题. 首先,定义日志表,用于 审计. create table error_logs( id number(10)

Oracle中的Char与Varchar的区别和实例

1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),在数据库中它是以空格占位的,而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储. 2.CHAR的效率比VARCHAR2的效率稍高.看来cscm_number应该设成 char(19) 3.目前VARCHAR是VARCHAR2的同义词.工业标准的VARC

Oracle中Union与Union All的区别(适用多个数据库)_oracle

Union 与 Union ALL 的作用都是合并 SELECT 的查询结果集,那么它们有什么不同呢? Union 将查询到的结果集合并后进行重查,将其中相同的行去除.缺点:效率低: 而Union ALL 则只是合并查询的结果集,并不重新查询,效率高,但是可能会出现冗余数据. 我们举个例子来说明一下: 比如数据库中有两张表 tab1 和 tab2. tab1 中的数据有: 小王 小张 tab2 中的数据有: 小王 小李 执行查询: 复制代码 代码如下: SELECT * FROM tab1 UN

Oracle中怎样用自治事务保存日志表

数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败.在Oracle中,一个事务是从执行第一个数据治理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这个事务,或者执行一个ROLLBACK语句,放弃此次操作结束. 事务的"要么全部完成,要么什么都没完成"的本性会使将错误信息记入数据库表中变得很困难,因为当事务失败重新运行时,用来编写日志条目的INSERT语句还未完成. 针对这种困境,Oracle提供了一种便捷的方法,即自治事务.自治事务从当前事务开始,在其自身的语

Oracle中的游标、硬解析、软解析、软软解析、解析失败

Oracle中的游标.硬解析.软解析.软软解析.解析失败 一. 游标的分类及共享游标 游标(Cursor)是Oracle数据库中SQL解析和执行的载体,它可以分为共享游标(Shared Cursor)和会话游标(Session Cursor).共享游标可以细分为父游标(Parent Cursor)和子游标(Child Cursor),可以通过视图V$SQLAREA和V$SQL来查看当前缓存在库缓存(Library Cache)中的父游标和子游标,其中V$SQLAREA用于查看父游标,V$SQL用

Oracle中为何大量会话出现resmgr:become active等待

在一个客户环境的数据库上发现这个问题. 当时客户求助,数据库状态不正常,连接到数据库无法正常操作,而且有时报错ORA-12537错误. ORA-12537: TNS:connection closed Cause: "End of file" condition has been reached; partner has disconnected. Action: None needed; this is an information message. 导致这个错误的原因有很多,不好确

Oracle中如何彻底的清除会话

kill session 是DBA经常碰到的事情之一.如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生.同时也应当注意, 如果kill 的session属于Oracle 后台进程,则容易导致数据库实例宕机. 通常情况下,并不需要从操作系统级别杀掉Oracle会话进程,但并非总是如此,下面的描述中给出了在Oracle级别杀掉会话以及操作系统级别杀掉进程. 一.获得需要kill session的信息(使用V$SESSION 和 GV$SESSION视图)