加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

14、管理undo

发布时间:2020-12-12 14:48:23 所属栏目:百科 来源:网络整理
导读:14、管理 oracle undo 1、DML与undo undo data: 原始的、修改之前的数据副本 用于支持:回退操作、读一致性查询、闪回查询、闪回事务处理及闪回表、从失败事务中进行恢复。 undo:旧数据 redo:改变的数据 SQL show parameter undo NAME TYPE VALUE ---------

14、管理 oracle undo

1、DML与undo

undo data:

原始的、修改之前的数据副本

用于支持:回退操作、读一致性查询、闪回查询、闪回事务处理及闪回表、从失败事务中进行恢复。


undo:旧数据

redo:改变的数据


SQL> show parameter undo


NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

undo_management string AUTO

undo_retention integer 900

undo_tablespace string UNDOTBS1


undo_retention指定已经提交的还原信息要保留多长时间(秒)


undo表空间大小设置多大合适呢?

select name,BLOCK_SIZE/1024/1024 from v$datafile;


设置undo手动管理(需要重启数据库) ==不建议手动管理

alter system set undo_management=manual scope=spfile;


v$rollname


select * from v$rollname;



如何创建undo表空间?

SQL> select name from v$datafile;


NAME

--------------------------------------------------

+DATA/orcl/datafile/system.256.943301251

+DATA/orcl/datafile/sysaux.257.943301251

+DATA/orcl/datafile/undotbs1.258.943301251

+DATA/orcl/datafile/users.259.943301251

+DATA/orcl/datafile/example.265.943301433

+DATA/orcl/datafile/tbs.dbf


create undo tablespace untotbs2 datafile '+DATA/orcl/datafile/undotbs2.dbf' size 3m;

show parameter undo

alter system set undo_tablespace=untotbs2;//设置undo表空间为untotbs2


SQL> show parameter undo;


NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

undo_management string AUTO

undo_retention integer 900

undo_tablespace string UNTOTBS2



2、undo管理及使用


查看表空间是否自动扩展


SQL> select TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;


TABLESPACE_NAME AUT

------------------------------ ---

USERS YES

UNDOTBS1 YES

SYSAUX YES

SYSTEM YES

EXAMPLE YES

TBS_16K NO

UNTOTBS2 NO



undo快照过旧


SQL> select CURRENT_SCN from v$database;


CURRENT_SCN

-----------

2366951

################################################

例子:scn 闪回查询 15分钟。


SQL> create table t2 as select * from scott.emp;


Table created.


SQL> select CURRENT_SCN from v$database;


CURRENT_SCN

-----------

2367095


SQL> delete t2;


14 rows deleted.


SQL> commit;


Commit complete.


SQL> select count(*) from t2 as of scn 2367095;


COUNT(*)

----------

14

###################################################

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读