撤销表空间

整理文章归类时,不小心删除了 该文件,从回收站恢复不回来。郁闷。只能重新写了一遍。

 

撤销表空间

    撤销的目的与作用为:

       1、事务的回退;           2、读一致性;

       3、闪回查询;             4、事务的恢复;

   

    注:事务中的DDL语句是不能被回退的。

    闪回查询:

       SELECT * FROM TABLE_NAME  AS OF TIMESTAMP(systimestamp –interval ‘15’minute) WHERE ID=123456;---按离当前时间的时间间隔进行的闪回查询

      

SELECT * FROM TABLE_NAME AS OFTIMESTAMP(to_timestamp(’11-09-09 13:23;11’,’DD-MM-YY HH24:MI:SS’)) WHEREID=123456; --按绝对时间进行闪回查询

撤销表空间大小

UNDOSIZE=UR *UPS * BS * (1 + overhead)

UR:表示undo_retention参数的值(以秒为单位)

UPS:表示每秒钟产生的撤销数据的Oracle块;

BS:表示db_block_size参数决定的Oracle块的大小

Overhead:表示在撤销表空间中保留系统信息所需的额外开销一般为(UR* UPS *BS5%10%

 

可以从v$undostat动态性能视图中了解最近产生的撤销数据的Oracle块数。v$undostat中每10分钟产生一条记录。

SELECT TO_CHAR(end_time,’dd-mm-yy hh24:mi:ss’) end_time,

       TO_CHAR(begin_time,’dd-mm-yyhh24:mi:ss’) begin_time,

       (end_time-begin_time)*24*60*60end-begin_time,

       UNDOBLKS

    FROM v$undostat;

UPS的值为:

SELECT SUM(UNDOBLKS)/SUM((end_time -begin_time)*24*60*60) undoblks_per_second FROM v$undostat;

    BS UR的值:

SHOW PARAMETER db_block_size         --------BS

SHOW PARAMETER undo_retention      --------UR

 

创建撤销表空间

    CREATE UNDO TABLESPACE DATAFILEdatafile_clause [,datafile_clause]

    [EXTENT MANAGEMENT LOCAL]

[AUTOALLOCATE]

撤销表空间只能使用本地管理方式 EXTENT MANAGEMENT LOCAL而不能使用字典管理方式,区管理方式只能使用AUTOALLOCATE而不能使用UNIFORM,不能指定任何段空间管理方式。

 

修改撤销表空间

    只能对撤销表空间做如下修改:

1、 添加新的数据文件;

2、 移动数据文件即修改位置与名称;

3、 将数据文件设置为联机或脱机状态;

删除撤销表空间中的数据文件:

ALTER DATABASE DATAFILE‘D:\UNDODATAFILE.DBF’OFFLINE DROP;

这样只是将数据文件的状态改成RECOVER了,没有从数据库、磁盘中删除。要想使该数据文件被重使用,需要介质恢复,并将状态改为ONLINE.

 

更改撤销表空间

       在同一时刻同一个例程只能使用一个撤销表空间。可以在数据库运行过程中切换撤销表空间。

ALTER SYSTEMSET UNDO_TABLESPAC=UNDOTABLESPACE01 SCOPE=[SPFILE |MEMORY |BOTH];

       修改撤销表空间中数据保留时间.

ALTER SYSTEMSET UNDO_RETENTION=3600 SCOPE=[SPFILE |MEMORY |BOTH];

       修改撤销表空间为自动管理

ALTER SYSTEMSET UNDO_MANAGEMENT=AUTO SCOPE=[SPFILE |MEMORY |BOTH];

 

删除撤销表空间

       DROP TABLESPACE undospace01 INCLUDINGCONTENTS AND DATAFILES;

 

撤销管理:回退段撤销管理(Rollback Segments Undo )自动撤销管理(System Managed Undo)两种

 

选择回退段撤销管理,需要将参数设置为 undo_management=NULL,还需要设置参数 rollback_segments 即系统中所使用回退段的名称;

transaction 系统中事务总数;transaction_per_rollback_segment指定回退段可以服务的的事务个数;

max_rollback_segment系统中最大回退段的个数

 

创建撤销表空间时只能指定本地化管理表空间类型;盘区管理方式只能是自动分配管理即 autoallocate;段的管理方式也只能是手动管理方式MANUAL

 撤销表空间中的数据文件的状态只有ONLINE OFFLINE 两种;只能想撤销表空间中添加数据文件;移动撤销表空间的数据文件;撤销表空间中的撤销

 记录默认保留900秒,之后将自动清除,避免撤销表空间迅速膨胀。可以通过修改参数 undo_retention来修改撤销记录保留的时间.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值