删除数据:

  delete:用delete删除记录,Oracle系统会产生回滚记录,所以这种操作可以使用ROLLBACK来撤销

  truncate:删除数据时,不会产生回滚记录。所以执行速度相对较快些

可以reuse storage(保留记录所占用的空间)  drop storage(立即回收记录占用的)

事务处理

  事务是由一系列语句构成的逻辑工作单元。事务的重要属性:

A-Atomic:原子性,事务对数据库所做的操作要么全部执行,要么全部取消。

C-Consistency:一致性,事务完成时,必须使所有的数据都保持一致状态。

I-Isolated:隔离性,事务查看数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。

D-Durability:持久性,当事务提交后,对数据库所做的修改就会永久保存下来。

操作事务:Oracle 11g的事务是隐式自动开始的,它不需要用户显示地执行开始事务语句。但对于事务的结束处理,则需要用户进行指定的操作,通常在以下情况下,Oracle认为一个事务结束了。

1.执行COMMIT

2.执行ROLLBACK

3.执行一条数据定义语句,CREATE,DROP ALTER,如果执行成功,系统要么COMMIT,要么ROLLBACK

4.执行一个数据控制命令,GRANT REVOKE,这种操作执行完毕。系统自动执行COMMIT

5.正常地断开数据库的连接,正常地退出SQL *Plus环境。系统自动执行COMMIT;否则系统自动执行ROLLBACK

综合来看,Oracle结束一个事务归根结底要么执行COMMIT,要么执行ROLLBACK

a--提交事务(COMMIT)

  Oracle系统会按照如下顺序进行处理:

1.在回滚段内记录当前事务已提交,并且声明一个系统编号(SCN),以唯一标识这个事务

2.启动后台的日志写入进程(LGWR),将SGA区中的重做日志缓冲区的数据和当前事务的SCN写入重做日志文件中。

3.Oracle服务器开始释放事务处理所使用的系统资源

4.显示通知,告诉用户事务已经成功提交

b--回滚事务(ROLLBACK)

  回滚整个事务,Oracle系统内部将执行以下操作过程:

1.使用回滚段中的数据撤销对数据库所做的修改

2.Oracle后台服务进程释放掉事务所使用系统资源

3.显示通知,告诉用户回滚成功

  可以回滚到部分, 可以使用(savepoint sp);来设置断点

Oracle -操作数据库的更多相关文章

  1. ADO.NET和ORACLE操作数据库传参数赋值的方式

    在使用.Net使用OracleParameter进行Oracle数据库操作的时候,因为Oracle和SQLServer针对查询参数化的语法不同, 在操作SQLServer的时候使用的是@Paramet ...

  2. Oracle 操作数据库(增删改语句)

    对数据库的操作除了查询,还包括插入.更新和删除等数据操作.后3种数据操作使用的 SQL 语言也称为数据操纵语言(DML). 一.插入数据(insert 语句) 插入数据就是将数据记录添加到已经存在的数 ...

  3. Oracle操作数据库oracleHelper

    1 Oracle OracleHelper //============================================================================ ...

  4. 吴裕雄 python oracle操作数据库(4)

    import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")cursor = conn. ...

  5. JDBC(用Eclipse操作数据库Oracle)的基础操作集合

    JDBC: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...

  6. 非常不错的ASP操作数据库类,支持多数据库MSSQL,ACCESS,ORACLE,MYSQL等

    可同时操作多个不同类型的数据库. 完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号. 调用非常简单,对数据库的主要操作一般只需要一行代码. 支持mssql事务回滚. 可自动生成和输出sql ...

  7. Oracle 10g数据库备份与恢复操作手册

    Oracle 10g数据库备份与恢复操作手册 目录 Oracle 10g数据库备份与恢复操作手册... 前言... 文档目的... 文档范围... 目标读者... 其他说明... 冷备份... 热备份 ...

  8. Oracle相关数据库操作

    1.进入oracle后台操作 su - oracle 2.数据库备份的指定位置 Oracle用sys用户登录查询数据库 select * from dba_directories a where a. ...

  9. 菜鸡之NetCore 使用EF操作数据库 Oracle & Sqlserver (一)

    摘要: 该篇文章主要记录netCore EFCore 如何操作Oracle和SqlServer 数据库,采用Codefirst方式创建数据库以及表. 一, 项目建立 项目采用DDD领域驱动设计模式[学 ...

随机推荐

  1. input复制文本

    input.value = this.$t('title') document.body.appendChild(input) input.select() input.setSelectionRan ...

  2. P4132 [BJOI2012]算不出的等式

    传送门 看到这个式子就感觉很有意思 左边就是求一次函数 $y=\left \lfloor \frac{q}{p} \right \rfloor x$ 在 $x \in [0,(p-1)/2]$ 时函数 ...

  3. Xcode 及 iOS 常用宏和常量

    Xcode Xcode 工程设置支持 bash 脚本及其语法,如 $(PROJECT_DIR)$(PROJECT_DIR) PROJECT_DIR 代表当前工程的绝对路径,所以 $(PROJECT_D ...

  4. Maven Filter与Profile隔离生产环境与开发环境

    Maven Filter与Profile隔离生产环境与开发环境 在不同的开发阶段,我们一般用到不同的环境,开发阶段使用开发环境的一套东西,测试环境使用测试环境的东西,可能有多个测试环境,生产环境使用的 ...

  5. ini配置文件内如果有更新参数

    ini配置文件内如果有更新参数 执行更新 更新参数 自动去下载执行????

  6. python socket 的理解(1)

    前言 socket的用法简单,但里面的概念有点模糊,记录自己本人的一点理解. socket层结构图 注意,从此图中看出socket处于tcp和应用层之间.那么它代表啥意思呢?简明的说,数据的传输都是底 ...

  7. Sass函数:数字函数-round()函数

    round() 函数可以将一个数四舍五入为一个最接近的整数: >> round(12.3) 12 >> round(12.5) 13 >> round(1.4999 ...

  8. ltp-ddt nand_ecc_tests

    NAND_S_FUNC_ECC_2K_BCH8_8ERRS_NO_OOB_ERR source "common.sh"; nandecc_tests.sh -r "0:0 ...

  9. 异常关机,同时出现:Last_IO_Errno: 1236,Last_SQL_Errno: 1594

    一主两从的结构,由于异常关机,导致两个从库都出现如下问题: mysql> show slave status \G;*************************** 1. row **** ...

  10. bzoj4455 & loj2091 [Zjoi2016]小星星 容斥原理+树形DP(+状压DP?)

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4455 https://loj.ac/problem/2091 题解 很不错的一道题.(不过在当 ...