oracle使用还原段的目的和还原数据的管理方法及还原段的类型

一、引入还原段主要有3个目的:

  1、事务回滚:主要是针对rollback语句起作用

  2、事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort、immediate)或者数据库instance崩溃,则当数据库再次打开时oracle服务器就要还原所有没有提及的事务。这种还原就是事务恢复的一部分。要使得恢复真正的成为可能写到还原段的变化也要受到联机重做日志的保护。

  3、保证数据的读一致性。

二、还原数据的管理方法

  1、自动的还原数据管理:oracle服务器自动的管理还原段的创建、分配和优化

  2、手工的还原数据管理:所有的还原段的创建、分配和优化都是手动管理的。

注:一个事务只能将他的全部的还原数据存入同一个还原段中,但是多个并行的事务可以写一个还原段。每个还原段都有一个段头在该段头中保存了一个事务表。该表中存放着有关使用这一还原段的当前事务的信息。

三、还原段的分类

为了管理的方便oracle的还原段分为以下几种不同的类型:

  1、系统还原段system

    仅为系统表空间中的对象变化使用,在数据库创建时在系统表空间中创建的

  2、非系统还原段non-system

    为其他表空间中的对象变化所使用,当一个数据库有多个表空间时必须有必须有至少一个手动的非系统还原段或者一个自动管理的还原表空间

      1、自动管理的还原段

          需要一个还原表空间,由oracle服务器自动维护还原表空间中的还原数据

      2、手动管理的还原段

           由dba负责创建非系统还原段,所有非系统表空间中对象的变化都将使用这一非系统还原段

          1、公有:为任何一个实例所用,他们通常是在oracle集群中使用

          2、私有:为一个实例所用

  3、延迟还原段deferred

      当一个表空间置为脱机时,如果需要由oracle系统自动创建。延迟还原段被用来在该表空间被重新置为联机时回滚事务,当不需要他们时,系统会自动将他们删除。

oracle使用还原段的目的和还原数据的管理方法及还原段的类型

时间: 2025-01-04 05:39:45

oracle使用还原段的目的和还原数据的管理方法及还原段的类型的相关文章

Oracle的简单的创建dblink以及进行数据迁移的方法

1. 创建dblink 语法如下: create public database link zhaobsh connect to lcoe739999 identified by Test6530 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.24.39.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =ora11r2)))'; 2. 查询其他表中的数据

还原数据自动管理的一些参数和获得还原数据信息

一.oracle还原数据自动管理的一些参数: 1.oracle 9i之前的一些程序中开发的脚步上包含手动指定回滚段的语句.这样的语句在执行是虽然对最终结果没有影响但是会在控制台报错,对用户的感觉不好.故引入动态参数 UNDO_SUPPRESS_ERRORS那么在自动管理还原数据的模式下手动指定或设置还原段虽然对最终结果没有影响但是不会在控制台报错. alter session set  undo_suppress_errors=true; 2.UNDO_RETENTION该参数决定了为了保证读一

还原数据自动管理的概念和配置

一.oracle是通过还原表空间来实现还原数据的自动管理的,oracle9i以后才引入还原数据段的自动管理.oracle为每个实例分配一个还原表空间,该表空间要有足够的空间以应对该实例的工作负荷,之后oracle服务器将自动维护和管理还原表空间中的还原数据. 要实习oracle的自动管理还原数据必须在初始化参数文件中配置undo_management,undo_tablespace两个参数而且还必须创建至少一个还原表空间. undo_management:设置管理方式是auto或者manual

[转]不同版本的SQL Server之间数据导出导入,降级还原等

鉴于大家经常遇到数据库不同版本之间的数据导出导入,降级还原等问题,Philo童鞋搜集了两则文章. 转载到此,希望对大家有用.对贡献者表示感谢! 不同版本的SQL Server之间数据导出导入的方法及性能比较 SQLServer数据库降级方法详解(百度经验)

Oracle 闪回 找回数据的实现方法

Oracle 闪回 找回数据的实现方法 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复.这篇文章主要介绍了Oracle 闪回 找回数据的实现方法,需要的朋友可以参考下 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是

Oracle数据库中调用Java类开发存储过程、函数的方法

Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL,除此之外,还可以用时下最流行的编程语言Java来做开发.随着对oracle的了解越来越多,越来越禁不住oracle的诱惑,oracle技术真的是一门很有趣的学问.之前,我在博客中总结了挺多有关SQL.PL/SQL的,但是对于oracle数据库中Java类的调用却没有总结,也是因为之前不太会,这会儿总

ORACLE EXP不能导出空表的原因分析及解决方法

一.不能导出空表的原因 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment. 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 查看: SQL>show parameter deferred_segment_creat

转-oracle中比较两表表结构差异和数据差异的方法

oracle中比较两表表结构差异和数据差异的方法 原作者:li2008xue2008ling 出处:http://blog.csdn.net 在工作中需要完成这么一个需求:比较两个表的表结构是否形相同,并找出差异.比较两个表中的数据是否相同,并找出差异数据? 分析:由于表结构中字段比较多,手工比较很浪费时间,而且不能保证不出错误.对于表中的数据那就能多了,更不能靠这种方式比较. 为了思考问题简单和方便测试,首先先建立两个测试表,并插入一些测试数据吧,sql如下: create table t_A

分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ] FROM 'data_file' [ WITH ( [ [ , ] BATCHSIZE = batch_size ] [ [ , ] CHECK_CONSTRAINTS ] [ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_pag