整理文章归类时,不小心删除了 该文件,从回收站恢复不回来。郁闷。只能重新写了一遍。
撤销表空间
撤销的目的与作用为:
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 *BS的5%到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来修改撤销记录保留的时间.