Oracle重建回滚段
今天在做数据迁移的时候发现磁盘空间完全被吃完,查看undo表空间竟然占了25G。这里记录重建undo表空间过程。
1、重建undo表空间undotbs2SQL> create undo tablespace undotbs2 datafile 'D:\ora11g\undotbs2_01.dbf' size 1G autoextend on next 500M maxsize unlimited; 表空间已创建。
2、修改undo_tablespace参数,该参数必须设置 SQL> alter system set undo_tablespace=undotbs2 scope=both; 系统已更改。
查看切换后的状态:SQL> show parameter undo_tablespace
UNDO_TABLESPACE---------------UNDOTBS2 3、查看原undo表空间UNDOTBS1各个undo段状态,当状态都为offline时则可以将该undo表空间删除 SQL> select segment_name,tablespace_name,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS------------------------------ ------------------------------ ----------------SYSTEM SYSTEM ONLINE_SYSSMU19_1323384053$ UNDOTBS1 OFFLINE_SYSSMU18_2053914518$ UNDOTBS1 OFFLINE_SYSSMU17_1486782901$ UNDOTBS1 OFFLINE_SYSSMU16_65961640$ UNDOTBS1 OFFLINE_SYSSMU15_2731980009$ UNDOTBS1 OFFLINE_SYSSMU14_1272261740$ UNDOTBS1 OFFLINE_SYSSMU13_3931036527$ UNDOTBS1 OFFLINE_SYSSMU12_277474270$ UNDOTBS1 OFFLINE_SYSSMU11_1127233206$ UNDOTBS1 OFFLINE_SYSSMU10_2010384090$ UNDOTBS1 OFFLINE_SYSSMU9_3385418537$ UNDOTBS1 OFFLINE_SYSSMU8_960788264$ UNDOTBS1 OFFLINE_SYSSMU7_2218399740$ UNDOTBS1 OFFLINE_SYSSMU6_4013851069$ UNDOTBS1 OFFLINE_SYSSMU5_14816259$ UNDOTBS1 OFFLINE_SYSSMU4_3531847310$ UNDOTBS1 OFFLINE_SYSSMU3_3898657637$ UNDOTBS1 ONLINE_SYSSMU2_2881644447$ UNDOTBS1 OFFLINE_SYSSMU1_1093178884$ UNDOTBS1 OFFLINE_SYSSMU43_2526432190$ UNDOTBS2 ONLINE_SYSSMU42_1073097992$ UNDOTBS2 ONLINE_SYSSMU41_4185790622$ UNDOTBS2 ONLINE_SYSSMU40_4075868025$ UNDOTBS2 ONLINE_SYSSMU39_1225046965$ UNDOTBS2 ONLINE_SYSSMU38_1416928319$ UNDOTBS2 ONLINE_SYSSMU37_425218863$ UNDOTBS2 ONLINE_SYSSMU36_2283506252$ UNDOTBS2 ONLINE_SYSSMU35_3741949710$ UNDOTBS2 ONLINE_SYSSMU34_3108701464$ UNDOTBS2 ONLINE_SYSSMU33_1440052939$ UNDOTBS2 ONLINE_SYSSMU31_867868996$ UNDOTBS2 ONLINE_SYSSMU30_4206031811$ UNDOTBS2 ONLINE_SYSSMU29_1581029439$ UNDOTBS2 ONLINE_SYSSMU28_2713846431$ UNDOTBS2 ONLINE_SYSSMU27_2818503999$ UNDOTBS2 ONLINE_SYSSMU26_3492104676$ UNDOTBS2 ONLINE_SYSSMU25_231788078$ UNDOTBS2 ONLINE_SYSSMU24_494800911$ UNDOTBS2 ONLINE_SYSSMU23_3011088732$ UNDOTBS2 ONLINE_SYSSMU22_358374592$ UNDOTBS2 ONLINE_SYSSMU21_3370208409$ UNDOTBS2 ONLINE 已选择42行。
这时看到回滚段_SYSSMU3_3898657637$依然处于online状态,需要等到状态变为offline时才可以drop掉表空间。
4、这时也可以查看下到底是哪个操作在占用该回滚段,如果不重要将该进程杀掉即可。SQL> show parameter undo_tablespace NAME TYPE VALUE------------------------------------ ----------- ------------------------------undo_tablespace string UNDOTBS2SQL> select r.name, 2 s.sid, 3 s.serial#, 4 s.username, 5 s.machine, 6 t.start_time, 7 t.status, 8 substr(s.program, 1, 15) operate 9 from v$session s, v$transaction t, v$rollname r, v$rollstat g 10 where t.addr = s.taddr 11 and t.xidusn = r.usn 12 and r.usn = g.usn and r.name='_SYSSMU3_3898657637$' 13 order by t.used_ublk desc; NAME SID SERIAL# USERNAME MACHINE START_TIME STATUS OPERATE------------------------------ ---------- ---------- --------------- ------------------------ --------------------- ---------------- ------------------_SYSSMU3_3898657637$ 131 24783 SJQY_1130 PDOMAIN\WIN-M8G18I89RAK 12/09/12 13:53:08 ACTIVE sqlplus.exe
可以看到该online的回滚段是sqlplus.exe的一个会话,这个是我另一个连接该数据库的sqlplus窗口,将该窗口关掉再查看回滚段状态。SQL> alter system kill session '131,24783';
5、各回滚段状态: SQL> select segment_name,tablespace_name,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS------------------------------ ------------------------------ ----------------SYSTEM SYSTEM ONLINE_SYSSMU19_1323384053$ UNDOTBS1 OFFLINE_SYSSMU18_2053914518$ UNDOTBS1 OFFLINE_SYSSMU17_1486782901$ UNDOTBS1 OFFLINE_SYSSMU16_65961640$ UNDOTBS1 OFFLINE_SYSSMU15_2731980009$ UNDOTBS1 OFFLINE_SYSSMU14_1272261740$ UNDOTBS1 OFFLINE_SYSSMU13_3931036527$ UNDOTBS1 OFFLINE_SYSSMU12_277474270$ UNDOTBS1 OFFLINE_SYSSMU11_1127233206$ UNDOTBS1 OFFLINE_SYSSMU10_2010384090$ UNDOTBS1 OFFLINE_SYSSMU9_3385418537$ UNDOTBS1 OFFLINE_SYSSMU8_960788264$ UNDOTBS1 OFFLINE_SYSSMU7_2218399740$ UNDOTBS1 OFFLINE_SYSSMU6_4013851069$ UNDOTBS1 OFFLINE_SYSSMU5_14816259$ UNDOTBS1 OFFLINE_SYSSMU4_3531847310$ UNDOTBS1 OFFLINE_SYSSMU3_3898657637$ UNDOTBS1 OFFLINE_SYSSMU2_2881644447$ UNDOTBS1 OFFLINE_SYSSMU1_1093178884$ UNDOTBS1 OFFLINE_SYSSMU43_2526432190$ UNDOTBS2 ONLINE_SYSSMU42_1073097992$ UNDOTBS2 ONLINE_SYSSMU41_4185790622$ UNDOTBS2 ONLINE_SYSSMU40_4075868025$ UNDOTBS2 ONLINE_SYSSMU39_1225046965$ UNDOTBS2 ONLINE_SYSSMU38_1416928319$ UNDOTBS2 ONLINE_SYSSMU37_425218863$ UNDOTBS2 ONLINE_SYSSMU36_2283506252$ UNDOTBS2 ONLINE_SYSSMU35_3741949710$ UNDOTBS2 ONLINE_SYSSMU34_3108701464$ UNDOTBS2 ONLINE_SYSSMU33_1440052939$ UNDOTBS2 ONLINE_SYSSMU31_867868996$ UNDOTBS2 ONLINE_SYSSMU30_4206031811$ UNDOTBS2 ONLINE_SYSSMU29_1581029439$ UNDOTBS2 ONLINE_SYSSMU28_2713846431$ UNDOTBS2 ONLINE_SYSSMU27_2818503999$ UNDOTBS2 ONLINE_SYSSMU26_3492104676$ UNDOTBS2 ONLINE_SYSSMU25_231788078$ UNDOTBS2 ONLINE_SYSSMU24_494800911$ UNDOTBS2 ONLINE_SYSSMU23_3011088732$ UNDOTBS2 ONLINE_SYSSMU22_358374592$ UNDOTBS2 ONLINE_SYSSMU21_3370208409$ UNDOTBS2 ONLINE 已选择42行。
6、此时该回滚段已经变成了offline状态,将该回滚段drop掉即可SQL> drop tablespace undotbs1 including contents and datafiles;
7、至此,重建过程结束。
转载于:https://www.cnblogs.com/zhaoshuangshuang/archive/2012/12/09/2810131.html
Oracle重建回滚段相关推荐
- Oracle回滚当前循环,oracle查看回滚段
1.监控PGA的视图: v$sql_workarea_active.v$sql_workarea.v$sesstat.v$process.v$sysstat.v$sql_workarea_histog ...
- Oracle数据库回滚段操作
1.新建undo表空间 SQL> create undo tablespace undotbs2 datafile 'E:\oracle\product\oradata\orcl\un ...
- 深入解析oracle回滚段
深入解析oracle的回滚段 日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段.回滚段文件undotbs1的数据文件已经达到23G. 希望清理这部分数据,但一时又无从下手.于是决定深入了解一 ...
- oracle数据库回滚率高,oracle数据库回滚
线下测试数据误操作,回滚攻略--把数据捞出来,这个时间自己设置 --表名一定要是:xx_tbd日期 CREATE TABLE user_tbd0718 AS select * from user as ...
- oracle数据库创建回滚,如何重建Oracle数据库的回滚段?
1.将数据关闭 svrmgrl >Shutdown abort 2.修改初始化参数文件 $ vi $ORACLE_HOME/dbs/init.ora添加以下参数 rollback_segment ...
- ORACLE 回滚段详解
ORACLE 回滚段 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个 ...
- oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办
如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数), 如果此时undo包含未提交的事务,会造成一点点的数 ...
- ORACLE回滚段管理(下)
创建回滚段 语法: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITI ...
- ORACLE回滚段管理
回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的 ...
最新文章
- 手动编译Mysql5.6.10 手动编译php 支持fastcgi
- c语言测试代码怎么写,初学C语言,写了一个测试手速的工具,代码发上来,存着。。...
- 关于Update语句在不同数据库中的差别
- java中如何确定是数字_java中怎么判断指定的数据是字符串是否是数字?
- python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界
- Android之在ubuntu上过滤多条关键字日志
- Golang基础知识入门详解
- 基础省选+NOI 第5部分 数论进阶
- RefineDetLite:腾讯提出轻量级高精度目标检测网络
- LiteOS内核源码分析:位操作模块
- 取出被正则表达式匹配的值
- foreach php 多重数组,PHP的foreach与多维数组
- 项目管理工具maven的使用
- PCL implicit shape model 做目标识别分类
- 整理 kanban 的 DoR 和 DoD
- 计算机不认2t移动硬盘,win7系统无法识别2T希捷的硬盘的解决方法
- Pinyin4j使用手册
- Rabbitmq安装过程(使用docker)
- 大型建筑公司如何实现数字化转型
- 轻松高效搭建可视化数据网站
热门文章
- php xss 实例,php - 关于sql注入和xss的具体实例分析
- python爬虫设计模式_Python3网络爬虫(一):利用urllib进行简单的网页抓取
- html5垂直线怎么画,HTML5 Canvas画线技巧
- JavaScript数组对象简介及其常用方法介绍
- MATLAB 句柄函数记录——多变量
- oracle system表空间有坏块,修复系统表空间坏块
- python列表json_python-带有列表的JSON_normalize JSON文件包含字...
- 高职计算机等级考试试题,高职院校计算机等级考试的教学与思考
- 江苏省高邮2021年高考成绩查询,2021年江苏高考成绩排名及一分一段表
- efinance获取基金、股票、债券、期货K线数据