oracle之undo tablespace

UNDOTBS01.DBF太大的解决方法

最近碰到一个oracle的问题,在网上查了好久,终于找到了解决办法,虽然还在不断的测试,不过就目前测试的情况来看,好像没有不正常,不知道有没有潜在的不安全。不过通过这次问题的发生,我对oracle产生了浓厚兴趣,哈哈,纪念一下                                                           

方法一:重启计算机(推荐)

采用命令SHUTDOWN IMMEDIATE 关闭数据库,然后再采用命令STARTUP 重新开启数据库;                                                                

方法二

以SYS用户登录Oracle 自带的SQL*PLUS的方法:
sys
sys
oracle as sysdba

1-- 创建一个新的小空间的UNDO TABLESPACE
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'D:\ORACLE\ORADATA\ORCL\UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;    

2-- 设置新的表空间为系统UNDO_TABLESPACE
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;

3—在配置文件中修改undo_tablespace的设置                                  

D:\oracle\product\10.1.0\db_1\database\initoracle.ora

将其中的undo_tablespace=UNDOTBS1 改为 UNDOTBS2

4—重启数据库    

5-- DROP 旧的表空间
DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;  

查询所有表空间情况: SELECT NAME FROM V$DATAFILE;

以下步骤为重新将UNDO_TABLESPACE设置回原来的UNDOTBS1 可省略不做

6-- 创建一个新的小空间的UNDO TABLESPACE
CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF' SIZE 100M REUSE AUTOEXTEND ON;

7-- 设置新的表空间为系统UNDO_TABLESPACE
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1

8--在配置文件中修改undo_tablespace的设置                                   

D:\oracle\product\10.1.0\db_1\database\initoracle.ora

将其中的undo_tablespace=UNDOTBS2 改为 UNDOTBS1

9—重启数据库                                                               
10-- DROP 旧的表空间
DROP TABLESPACE UNDOTBS2 INCLUDING CONTENTS AND DATAFILES;

查询所有表空间情况: SELECT NAME FROM V$DATAFILE;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值