今天同事让我把undo表空间缩小为原来的40GB,之前由于开发商的需求,将undo表空间扩大到了200GB之大,现在需要缩小为40GB。虽然整件事有点不和逻辑,但事已至此也用不管他们怎么想的,毕竟人家跟客户走得近,而且有些事也不是我说得算,照做就是了。下面是过程

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi

PL/SQL Release 10.2.0.5.0 - Production

CORE    10.2.0.5.0      Production

TNS for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Productio

NLSRTL Version 10.2.0.5.0 - Production

查看当前undo表空间使用情况

SQL> SELECT DISTINCT STATUS "状态",

2                  COUNT(*) "EXTENT数量",

3                  SUM(BYTES) / 1024 / 1024 / 1024 "UNDO大小"

4    FROM DBA_UNDO_EXTENTS

5   GROUP BY STATUS;

????      EXTENT????   UNDO????

--------- ---------- ----------

EXPIRED         3524 49.8547363

UNEXPIRED       2985 162.694336

万幸,由于已经是下班时间,没有获得的undo表空间,今天就能完成全部工作,偷乐中。准备数据文件如下

#lslv lv_undo_tmp01

LOGICAL VOLUME:     lv_undo_tmp01          VOLUME GROUP:   cxdatavg

LV IDENTIFIER:      00f65ad200004c000000012e3d0271ff.104 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               jfs2                   WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        512 megabyte(s)

COPIES:             1                      SCHED POLICY:   striped

LPs:                80                     PPs:            80

STALE PPs:          0                      BB POLICY:      relocatable

INTER-POLICY:       maximum                RELOCATABLE:    no

INTRA-POLICY:       middle                 UPPER BOUND:    4

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: off

EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)

Serialize IO ?:     NO

STRIPE WIDTH:       4

STRIPE SIZE:        64m

DEVICESUBTYPE : DS_LVZ

COPY 1 MIRROR POOL: None

COPY 2 MIRROR POOL: None

COPY 3 MIRROR POOL: None

确认当前undo表空间

SQL> show parameter undo

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

undo_management                      string      AUTO

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

创建新的undo表空间undotemptbs1

SQL> create undo tablespace UNDOTEMPTBS1 datafile '/dev/rlv_undo_tmp01';

create undo tablespace UNDOTEMPTBS1 datafile '/dev/rlv_undo_tmp01'

*

ERROR at line 1:

ORA-01144: File size (5242879 blocks) exceeds maximum of 4194303 blocks

报错ORA-01144,仔细检查后才发现在没有使用大表空间的情况下,原来单个数据文件超过了32GB,导致报错ORA-01144,具体原因如下

rowid在磁盘上需要10 个字节(byte)的存储空间并使用18 个字符来显示它包含下列组件:

数据对象编号:每个数据对象如表或索引在创建时都分配有此编号,并且此编号在数据库中是唯一的;

oracle undo表空间缩小,缩小undo表空间全记录相关推荐

  1. oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决

    在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...

  2. Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)

    UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...

  3. oracle查看临时表空间文件,Oracle-临时表空间

    一:临时表空间查询 --查看数据库表空间数据文件 select * from dba_data_files; --查看数据库临时表空间文件 select * from dba_temp_files; ...

  4. oracle创建表空间.创建用户.创建表

    oracle创建表空间.创建用户.创建表 转:http://blog.csdn.net/zhoubl668/archive/2009/02/02/3858576.aspx 在SQL*Plus中:(1) ...

  5. oracle 修索引改空间_Oracle如何更改表空间的数据文件位置详解

    表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle中信息存储的最大逻辑单元,其下还包含有段.区.数据块等逻辑数据类型.表空 ...

  6. Oracle的SQL基础之用户与表空间

    前排提示:数据库对象不理解的,可以查看我的关于数据库对象的博文 1.用户 1.1四个系统默认用户 Oracle的安装完成会产生四个系统默认用户,其级别依次是 sys > system > ...

  7. oracle 大表删除数据后,回收空间的问题。

    在oracle中由于表结构设计不合理或者需要清楚老数据的时候,经常需要对大表数据进行清理. 一般有一下几种方法: 1. 删除大部分数据,留下小部分数据.我们可以把需要保留的数据转移到别的表,然后再把大 ...

  8. oracle+怎么清理碎片,oracle 收缩表、清理碎片,释放空间

    可以用来收缩段,消除空间碎片的方法有两种: 1.alter table table_name move 需要注意: 1)move操作会锁表.(如果是很小的表,可以在线做.如果是大表一定要注意,会长时间 ...

  9. oracle缩减表空间大小,Oracle表空间释放与增加表空间大小

    1.drop表后并没有释放磁盘空间,这时可以通过缩小表空间释放磁盘存储 注:一个表空间可以有多个datafile 查看所有的datafile,找到你要缩小的datafile select file#, ...

  10. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

最新文章

  1. ArUco估计位姿原理
  2. 宝塔如何备份网站_学习织梦网站必需会的一件事:织梦网站数据备份
  3. redis4.0.2集群搭建
  4. 八篇 NeurIPS 2019 最新图神经网络相关论文
  5. ajax mysql项目 react_React16时代,该用什么姿势写 React ?
  6. 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
  7. 纵观软件行业开发方法论的发展
  8. python 计算每日累计_5分钟学会用Python可视化数据分析美股
  9. 南京航空航天大学计算机网课,南京航空航天大学课程教学大纲-南京航空航天大学计算机科学与技术(9页)-原创力文档...
  10. 未来计算机发展趋势是自动化,工业控制计算机的未来发展趋势分析
  11. 【原创】大端和小端字节序的细节
  12. error: (-205:Formats of input arguments do not match) All the matrices must have the same data type
  13. linux 文件 跳板机_linux 跳板机得搭建
  14. HP打印机自动双面打印故障排除
  15. 4x4矩阵键盘扫描c语言程序,技巧:C语言超经典矩阵键盘连接,流程图和扫描程序...
  16. 随滚动条移动的QQ在线客服代码
  17. 三个网络接口计算机主板,电脑主板接口安装详解
  18. 团队管理:新业务团队如何结合绩效来度量开发目标
  19. 谷粒学苑项目实战(九):实现阿里云对象存储OSS功能
  20. Voxel Hashing阅读笔记

热门文章

  1. sap未分摊差异怎么处理_物料主数据价格控制及差异问题
  2. arctime工程文件怎么打开_微信dat后缀的文件怎么打开
  3. linux怎么删除代码库,是否有从代码库中删除第三方C和C库的好技巧或工具? (OS X或Linux)...
  4. https证书设置以及设置301跳转
  5. 003 python接口 cookies
  6. JS动态更新微信浏览器中的title
  7. SQLServer优化资料整理(二)
  8. Python学习相关资料
  9. python检查字典中是否已存在给定键
  10. i = i+1 和 i += 1