-- 查看例程正在使用的undo表空间show parameter undo_tablespace;-- 查看undo的管理模式show parameter undo_management;-- 查看undo数据最大保留时间show parameter undo_retention;-- 创建undo表空间create undo tablespace undo_tbs datafile 'c:\undotbs.dbf'
size 100m;-- 向表空间undo_tbs添加新的数据文件,设置文件大小为2galtertablespace undo_tbs add datafile 'c:\undotbs_add.dbf'
size 2g;-- 设定例程使用的undo表空间alter system set undo_tablespace=undo_tbs;-- 查询当前实例拥有的所有undo表空间select tablespace_name from dba_tablespaces where contents='UNDO';-- 删除undo表空间alter systemset undo_tablespace=undotbs1;droptablespace undo_tbs;-- 查询undo回退块的生产信息select to_char(begin_time,'yyyy-mm-dd hh24:mi:ss') 开始时间
,to_char(end_time,'yyyy-mm-dd hh24:mi:ss') 结束时间
,undoblks 回退块数
from v$undostat
orderby 开始时间;-- 动态性能视图监视特定undo段的信息select rn.name,rs.xacts,rs.writes,rs.extents
from v$rollname rn,v$rollstat rs
where rn,usn = rs.usn;-- 查询动态性能视图显示事务名称和状态select name,statusfrom v$transaction;-- 通过数据字典查询段信息,段号,段大小,段状态select segment_name,extent_id,bytes,statusfrom dba_undo_extents
where segment_name ='_SYSSMU3_991555123$';
误删闪回
-- 查看是否开启回收站selectvaluefrom v$parameter where name ='recyclebin';-- 开启回收站ALTER SYSTEM SET recyclebin =ON; 开启系统回收站
ALTERSESSIONSET recyclebin =ON; 开启当前连接回收站
ALTER SYSTEM SET recyclebin =OFF; 关闭系统回收站
ALTERSESSIONSET recyclebin =OFF; 关闭当前连接回收站
-- 新建表并删除createtable test(
id number(4),value varchar2(10));insertinto test values(1,'zzz');insertinto test values(2,'bbb');select*from test;-- 查看回收站select*from dba_recyclebin where owner ='SCOTT'and original_name ='TEST';-- 闪回前一个工作点
FLASHBACK table scott.test to before drop;
FLASHBACK table “BIN$5ZRRkUZVQLapP71eoBBN0g==$0” to before drop;select*from SCOTT.test;
临时表空间
概述
用于内存排序区不够而必须将数据写到磁盘的逻辑区域
用的的情形:distinct,union,minus,analyze分析,链接两个没有索引的表;
使用
-- 创建临时表空间createtemporarytablespacetemp tempfile 'c:\temp.tpf' size 300m;-- 设置默认临时表空间alterdatabasedefaulttemporarytablespacetemp;-- 查询临时表信息,临时表文件,空间大小,空间名称
col file_name for a40;
col tablespace_name for a10;select file_name,bytes,tablespace_name from dba_temp_files;