Welcome 微信登录

首页 / 数据库 / MySQL / 缩小undo表空间全记录

今天同事让我把undo表空间缩小为原来的40GB,之前由于开发商的需求,将undo表空间扩大到了200GB之大,现在需要缩小为40GB。虽然整件事有点不和逻辑,但事已至此也用不管他们怎么想的,毕竟人家跟客户走得近,而且有些事也不是我说得算,照做就是了。下面是过程
SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64biPL/SQL Release 10.2.0.5.0 - ProductionCORE    10.2.0.5.0      ProductionTNS for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - ProductioNLSRTL 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.8547363UNEXPIRED       2985 162.694336万幸,由于已经是下班时间,没有获得的undo表空间,今天就能完成全部工作,偷乐中。准备数据文件如下
#lslv lv_undo_tmp01LOGICAL VOLUME:     lv_undo_tmp01          VOLUME GROUP:   cxdatavgLV IDENTIFIER:      00f65ad200004c000000012e3d0271ff.104 PERMISSION:     read/writeVG STATE:           active/complete        LV STATE:       closed/syncdTYPE:               jfs2                   WRITE VERIFY:   offMAX LPs:            512                    PP SIZE:        512 megabyte(s)COPIES:             1                      SCHED POLICY:   stripedLPs:                80                     PPs:            80STALE PPs:          0                      BB POLICY:      relocatableINTER-POLICY:       maximum                RELOCATABLE:    noINTRA-POLICY:       middle                 UPPER BOUND:    4MOUNT POINT:        N/A                    LABEL:          NoneMIRROR 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 undoNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------undo_management                      string      AUTOundo_retention                       integer     900undo_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 个字符来显示它包含下列组件:数据对象编号:每个数据对象如表或索引在创建时都分配有此编号,并且此编号在数据库中是唯一的;
  • 1
  • 2
  • 3
  • 下一页
Oracle数据库CPU 100%故障诊断实例GoldenGate for Oracle的系统需求相关资讯      undo 
  • Oracle 11g undo_retention 以及  (05月28日)
  • undo表空间使用率  (07/23/2015 16:29:56)
  • undo表空间概述  (02/24/2015 20:32:43)
  • Oracle中利用undo进行数据的恢复操  (11/27/2015 09:31:30)
  • undo表空间修复小结  (07/08/2015 08:43:13)
  • Oracle 11gR2 Database UNDO表空间  (01/29/2015 11:30:59)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图