undo表空间

--查询数据在哪个块哪号文件
--empno=7839在4号数据文件(user表空间)的151号块里面
SELECT ENAME,
       SAL,
       DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK#,
       DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) AS FILE#
  FROM SCOTT.EMP
 WHERE EMPNO = 7839;
SELECT * FROM v$datafile;

--查看undo是不是自动管理
SQL> show parameter undo_management

--查看undo是哪个表空间
SQL> show parameter undo_tablespace

--name=SYSTEM为系统段,用来存放系统表空间产生的镜像数据
--其它 非系统回归段,用来存放非系统表空间的镜像
SELECT * FROM v$rollname;
--undo查询视图
SELECT * FROM v$rollstat;
SELECT * FROM v$rollname;
SELECT * FROM Dba_Segments;
SELECT * FROM Dba_Rollback_Segs;
SELECT * FROM v$transaction;
--undo表空间保留时间
SQL> show parameter undo_retention --默认为秒

--undo表空间建立
CREATE UNDO TABLESPACE MYUNDO DATAFILE '/u01/app/oracle/oradata/orcl/myundo1.dbf' SIZE 10M AUTOEXTEND ON;
--undo删除(当前正在用的无法删)
DROP TABLESPACE MYUNDO INCLUDING CONTENTS AND DATAFILES;
--改undo表空间
ALTER SYSTEM SET UNDO_TABLESPACE=MYUNDO;
--undo改名(oracle重启后undo参数被修改)
ALTER TABLESPACE UNDOTBS RENAME TO UNDOTBS2;
SELECT tablespace_name FROM Dba_Tablespaces;
--undo表空间大小计算
UNDO SPACE=(undo_reterntion*(UNDO blocks PER SECOND*db BLOCK SIZE))+db block_size;
SELECT SUM(undoblks)/SUM((end_time-begin_time)*10800) FROM v$undostat;
SQL> show parameter undo_re;--undo_reterntion
SQL> show parameter block_s;



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值