解决回滚表空间太大或回滚表空间丢失情况(上)

以下步骤可以解决回滚表空间太大及回滚表空间文件被误删除的问题:

1. 停止数据库,不启动数据库实例
sql>shutdown abort
sql>startup mount

2.让原回滚表空间 offline
alter database datafile 7 offline drop;(7为fileid);

查询file_id 查询
select f.file_name,f.file_id ,f.tablespace_name from dba_data_files f;

3.创建新的表空间
create tablespace undotbs2 datafile '/opt/oracle/oradata/undotbs2.dbf' size 5000m AUTOEXTEND ON NEXT 32M MAXSIZE 2048M;

4. 新建spfile
create spfile from pfile;

5.指定新的表空间为回滚表空间

sql> alter system set undo_tablespace=undotbs2 scope=both;

6.重新启动数据库
sql>shutdown abort
sql>startup

并查看spfileSID.ora是否已经将undotbs2设置为回滚表空间
cat /opt/oracle/product/11.1/dbs/spfileiread84.ora

*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1610612736
*.undo_tablespace='UNDOTBS2'


7.删除原回滚表空间
sql> drop tablespace undotb1 including contents and datafiles;
到/opt/oracle/oradata/ 目录下查看回滚文件是否已经被删除,若是未删除可以直接删除
sql>rm undotbs1.dbf

8.重新启动数据库
sql>shutdown abort
sql>startup

一切顺利的话,以上步骤就可以实现减小回滚表空间大小的目的。但是可能在第7步出现:
ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间 问题。

请详见下篇
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值