由于undo表空间设置了自动增长,导致替换了好几个undo表空间,就想把原先的undo表空间删掉腾出空间

但删的时候报错

SQL> drop tablespace undotbs1 including contents and datafiles;
drop tablespace undotbs1 including contents and datafiles
*
ERROR at line 1:
ORA-01548: active rollback segment '_SYSSMU1_3780397527$' found, terminate
dropping tablespace

错误原因: 删除undo表空间中的segment需要回复 解决方法: 删除回滚段信息
这是因为分布式事务没有提交导致的吗,看看表空间段的情况

SQL> Select segment_id,segment_name,status,tablespace_name
from dba_rollback_segs where status not in('ONLINE','OFFLINE');  2

SEGMENT_ID SEGMENT_NAME           STATUS       TABLESPACE_NAME
---------- ------------------------------ ---------------- ------------------------------
    10 _SYSSMU10_3550978943$      PARTLY AVAILABLE UNDOTBS1
     9 _SYSSMU9_1424341975$       PARTLY AVAILABLE UNDOTBS1
     8 _SYSSMU8_2012382730$       PARTLY AVAILABLE UNDOTBS1
     7 _SYSSMU7_3286610060$       PARTLY AVAILABLE UNDOTBS1
     6 _SYSSMU6_2443381498$       PARTLY AVAILABLE UNDOTBS1
     5 _SYSSMU5_1527469038$       PARTLY AVAILABLE UNDOTBS1
     4 _SYSSMU4_1152005954$       PARTLY AVAILABLE UNDOTBS1
     3 _SYSSMU3_2097677531$       PARTLY AVAILABLE UNDOTBS1
     2 _SYSSMU2_2232571081$       PARTLY AVAILABLE UNDOTBS1
     1 _SYSSMU1_3780397527$       PARTLY AVAILABLE UNDOTBS1
    22 _SYSSMU22_888340975$       PARTLY AVAILABLE UNDOTBS2

SEGMENT_ID SEGMENT_NAME           STATUS       TABLESPACE_NAME
---------- ------------------------------ ---------------- ------------------------------
    21 _SYSSMU21_2646097468$      PARTLY AVAILABLE UNDOTBS2
    20 _SYSSMU20_1273092953$      PARTLY AVAILABLE UNDOTBS2
    19 _SYSSMU19_2470562502$      PARTLY AVAILABLE UNDOTBS2
    18 _SYSSMU18_420064975$       PARTLY AVAILABLE UNDOTBS2
    17 _SYSSMU17_1769081034$      PARTLY AVAILABLE UNDOTBS2
    16 _SYSSMU16_872709384$       PARTLY AVAILABLE UNDOTBS2
    15 _SYSSMU15_1829973224$      PARTLY AVAILABLE UNDOTBS2
    14 _SYSSMU14_2564326661$      PARTLY AVAILABLE UNDOTBS2
    13 _SYSSMU13_307811187$       PARTLY AVAILABLE UNDOTBS2

状态为PARTLY AVAILABLE说明还有事务没有结束,看看需要恢复的段

SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from dba_rollback_segs;

SEGMENT_NAME               TABLESPACE_NAME              STATUS
------------------------------ ------------------------------ ----------------
SYSTEM                   SYSTEM                  ONLINE
_SYSSMU12_4168347562$           UNDOTBS1               OFFLINE
_SYSSMU11_4050559276$           UNDOTBS1               OFFLINE
_SYSSMU10_3550978943$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU9_1424341975$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU8_2012382730$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU7_3286610060$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU6_2443381498$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU5_1527469038$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU4_1152005954$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU3_2097677531$           UNDOTBS1               PARTLY AVAILABLE

SEGMENT_NAME               TABLESPACE_NAME              STATUS
------------------------------ ------------------------------ ----------------
_SYSSMU2_2232571081$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU1_3780397527$           UNDOTBS1               PARTLY AVAILABLE
_SYSSMU25_243928486$           UNDOTBS2               OFFLINE
_SYSSMU24_4009307888$           UNDOTBS2               OFFLINE
_SYSSMU23_2616232510$           UNDOTBS2               OFFLINE
_SYSSMU22_888340975$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU21_2646097468$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU20_1273092953$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU19_2470562502$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU18_420064975$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU17_1769081034$           UNDOTBS2               PARTLY AVAILABLE

SEGMENT_NAME               TABLESPACE_NAME              STATUS
------------------------------ ------------------------------ ----------------
_SYSSMU16_872709384$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU15_1829973224$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU14_2564326661$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU13_307811187$           UNDOTBS2               PARTLY AVAILABLE
_SYSSMU35_65240735$           UNDOTBS3               ONLINE
_SYSSMU34_3144578968$           UNDOTBS3               ONLINE
_SYSSMU33_3204464002$           UNDOTBS3               ONLINE
_SYSSMU32_3560741359$           UNDOTBS3               ONLINE
_SYSSMU31_3558146288$           UNDOTBS3               ONLINE
_SYSSMU30_2956244594$           UNDOTBS3               ONLINE
_SYSSMU29_2102016512$           UNDOTBS3               ONLINE

SEGMENT_NAME               TABLESPACE_NAME              STATUS
------------------------------ ------------------------------ ----------------
_SYSSMU28_1084061334$           UNDOTBS3               ONLINE
_SYSSMU27_2646077545$           UNDOTBS3               ONLINE
_SYSSMU26_2780995135$           UNDOTBS3               ONLINE

发现undotbs1,2中的回滚段status为PARTLY AVAILABLE /NEED RECOVERY这时如果有rman备份可以利用rman恢复

没有的通过设置参数文件值解决:

SQL> create pfile from spfile;

添加该参数,并将需要恢复的段名放进去

_corrupted_rollback_segments=(_SYSSMU10_3550978943$,
_SYSSMU9_1424341975$,
_SYSSMU8_2012382730$,
_SYSSMU7_3286610060$,
_SYSSMU6_2443381498$,
_SYSSMU5_1527469038$,
_SYSSMU4_1152005954$,
_SYSSMU3_2097677531$,
_SYSSMU2_2232571081$,
_SYSSMU1_3780397527$,
_SYSSMU22_888340975$,
_SYSSMU21_2646097468$,
_SYSSMU20_1273092953$,
_SYSSMU19_2470562502$,
_SYSSMU18_420064975$,
_SYSSMU17_1769081034$,
_SYSSMU16_872709384$,
_SYSSMU15_1829973224$,
_SYSSMU14_2564326661$,
_SYSSMU13_307811187$)

SQL> create spfile from pfile;

重启数据库,并重新删掉表空间

SQL> startup
ORACLE instance started.

Total System Global Area 6680915968 bytes
Fixed Size            2213936 bytes
Variable Size         5234493392 bytes
Database Buffers     1409286144 bytes
Redo Buffers           34922496 bytes
Database mounted.
Database opened.
SQL> drop tablespace undotbs1 including contents and datafiles;

Tablespace dropped.

SQL> drop tablespace undotbs2 including contents and datafiles;

Tablespace dropped.

SQL>

Oracle删除表空间报ORA01548的更多相关文章

  1. oracle 删除表空间及数据文件方法

    oracle 11g版本,创建数据库表空间,默认单个数据文件最大为32G,如果数据文件大于32G,可以增加数据文件. --删除空的表空间,但是不包含物理文件 drop tablespace table ...

  2. oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录

    oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...

  3. 总结Oracle删除表空间遇到的问题

    问题1:删除表空间期间遭遇报错 ORA-29857 问题2:删除表空间期间遭遇 ORA-02429 问题3:表空间删除完毕,主机磁盘空间不释放 问题1:删除表空间期间遭遇报错 ORA-29857 删除 ...

  4. oracle 删除表空间TABLESPACE步骤及注意项

    告诉大家,我喜欢通过toad for oralce来实现对oracle数据库的操作. 1.首先通过数据库管理员用户以SYSDBA身份登录.比如使用sys用户去登录 2.查看和记录待删除表空间所在的物理 ...

  5. oracle删除表空间和用户

    步骤一: 删除tablespace(登录对应用户删除表空间) DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES; 步骤二 ...

  6. oracle 删除表空间

    第一步,删除表空间前如果忘记表空间名称和用户名,可以通过以下命令进行查询. ---查找用户select * from dba_users; --查找工作空间的路径select * from dba_d ...

  7. 转:Oracle:删除表空间

    原文:http://space.itpub.net/40239/viewspace-365948 OMF和非OMF管理的数据文件在DROP TABLESPACE时是否会自动删除,做了测试: SQL&g ...

  8. Oracle创建表空间报错:O/S-Error: (OS 3) 系统找不到指定的路径

    创建sql:         CREATE TABLESPACE TBSP_1 DATAFILE 'E:/oracle/product/10.2.0/tablespaces/weblogic.dbf' ...

  9. oracle删除表空间下所有的表

    SELECT 'DROP TABLE ' || TABLE_NAME || ' CASCADE CONSTRAINTS' V_NAME FROM DBA_TABLES WHERE TABLESPACE ...

随机推荐

  1. 简单而粗暴的方法画任意阶数Bezier曲线

    简单而粗暴的方法画任意阶数Bezier曲线 虽然说是任意阶数,但是嘞,算法原理是可以到任意阶数,计算机大概到100多阶就会溢出了 Bezier曲线介绍] [本文代码] 背景 在windows的Open ...

  2. 单节点FastDFS安装

    环境:centos7 1.什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连. ...

  3. gcc数据对齐之: howto 2.

    原文链接:http://www.catb.org/esr/structure-packing/ 谁应阅读本文 本文探讨如何通过手工重新打包C结构体声明,来减小内存空间占用.你需要掌握基本的C语言知识, ...

  4. MySQL表存在外键关系无法清空数据的解决方案

    先 SET FOREIGN_KEY_CHECKS=0; 然后delete删除,再 SET FOREIGN_KEY_CHECKS=1;

  5. github项目多人进行合作开发,填坑记录

    1.Fork别人的github项目. Fork项目成功后,再进行把项目克隆到你本地.(我的项目已经克隆到本地了,右边是克隆下来的所有文件,除了 node_modules) git命令: git clo ...

  6. C#获取局域网主机

    C#获取局域网主机 最近在做一个使用MSRDPClient来实现远程桌面功能,需要先判断一下该局域网主机是否在线,所以就需要获取一遍局域网主机. 首先获取本地IP地址,这里需要注意的是,要排除掉虚拟机 ...

  7. 六、while循环

    案例1: do while 循环  很少用到. for循环和while循环用的最多.

  8. N4复习考试总结

    一つ(ひとつ) 半分(はんぶん) 煙草(たばこ)を吸う(すう) 玄関(げんかん) ナイフ(刀)     財布(さいふ) 浅い(あさい) 薄い(うすい) 牛乳(ぎゅうにゅう) 皿(さら) 七日(なのか) ...

  9. MATLAB中的函数句柄及其应用

    1.函数句柄的创建 函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++), ...

  10. keepalived启动后报错:(VI_1): received an invalid passwd!的解决办法

    一.配置好keepalived.conf文件后,启动keepalived,查看/var/log/message日志报错: [root@push-- sbin]# tail -f /var/log/me ...