设为首页 收藏本站
查看: 936|回复: 0

[经验分享] 解决Oracle 表空间UNDOTBS1太大的问题

[复制链接]

尚未签到

发表于 2016-7-28 10:32:12 | 显示全部楼层 |阅读模式
  UNDOTBS1是一个回滚表空间,随着数据库的使用,默认会自动扩展。当它增大到一定程度,占用了过多的磁盘空间时,就需要进行清理了。下面就在2种操作系统下讲解清理该表空间的方法。
  

  一、环境:windows xp;数据库:Oracle 9i。
  

  在windows系统下,无法完全使用命令行方式操作数据库。具体步骤如下:
  

  1. 启动PLSQL工具连接数据库,登录信息:system/password@DBSID as sysdba;新建一个command window;
  

  2. 创建一个新的回滚段表空间:
  

  SQL> create undo tablespace undotbs2 datafile '%oracle_home%/oradata/DBSID/undotbs02.dbf' size 500M;
  

  Tablespace created.
  

  3. 将回滚段指向新的表空间:
  

  SQL> alter system set undo_tablespace=undotbs2 scope=spfile;
  

  System altered.
  

  4. 重新启动数据库:
  

  在windows环境下,该步无法使用命令行操作;
  

  在系统服务项中,重启oracle的关键服务:
  

  OracleOraHome92TNSListener
  

  OracleServiceDBSID
  

  5. PLSQL重新连接数据库:system/password@DBSID as sysdba;新建command window;

  

  Oracle 9i默认自动管理回滚段,为了防止其无限制增长,可以将其设为人工管理:
  

  SQL> alter system set undo_management =MANUAL scope=spfile;
  

  System altered.
  

  (本人建议:还是让数据库自动管理回滚段比较好,可以定期清理该表空间)
  

  6. 重新启动数据库(参照步骤4)
  

  7. 删除原来的回滚空间:
  

  PLSQL重新连接数据库:system/password@DBSID as sysdba;新建command window;

  

  SQL> drop tablespace undotbs1 including contents and datafiles;
  

  Tablespace dropped.
  

  该步骤只能删除数据库对该空间的管理信息,要想完全删除该表空间文件,需要到相应的目录下手动删除;
  

  8. 结束
  

  二、环境:linux;数据库:Oracle 9i。
  

  1. 登陆到数据库

oracle@suse:~> sqlplus '/as sysdba'

SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 10月 10 17:24:26 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

2. 创建一个新的回滚段表空间

SQL> create undo tablespace undotbs2 datafile '%oracle_home%/oradata/DBSID/undotbs02.dbf' size 500M;

Tablespace created.

  

  3. 将回滚段指向新的表空间

SQL> alter system set undo_tablespace=undotbs2 scope=spfile;

System altered.

4. 重新启动数据库

SQL> startup force
ORACLE instance started.

Total System Global Area 688985728 bytes
Fixed Size 452224 bytes
Variable Size 671088640 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.

5. 因为oracle9i默认是自动管理回滚段,为了防止其无限制的增长,可以将其设置为人工管理:
SQL> alter system set undo_management =MANUAL scope=spfile;

System altered.

6. 重新启动数据库:

SQL> startup force
ORACLE instance started.

Total System Global Area 688985728 bytes
Fixed Size 452224 bytes
Variable Size 671088640 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.

7. 删除原来的回滚段:
SQL> drop tablespace undotbs1 including contents and datafiles;

Tablespace dropped.

8. 退出

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production。
************************
select segment_name,bytes from user_segments where tablespace_name='COLLEGE_DATA' order by byte
truncate table
**************************

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-250601-1-1.html 上篇帖子: DOC下无用户名登录oracle数据库 下篇帖子: Oracle、SQL和DB2分页查询写法介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表