`
renzhelife
  • 浏览: 669919 次
文章分类
社区版块
存档分类
最新评论

UNDO 空间不回收, OPATCH 5442919

 
阅读更多

UNDO 空间不回收, OPATCH 5442919

主要现象表现: 
 . 查看UNDO表空间已经没有FREE SPACE,
. 在V$transaction里却看不到有事务.
. 有新事务上来,在v$session_wait中会出现free buffer wait ,等待的就是回滚段.

在确定现象后,确定是ORACLE 9208 的一个BUG.

UNDO 空间不回收, OPATCH 5442919

在这里首先要感谢hoterran在关键时刻的远程支持! 进一步感受到了团队的力量.


主要现象表现: 
  . 查看UNDO表空间已经没有FREE SPACE,
. 在V$transaction里却看不到有事务.
. 有新事务上来,在v$session_wait中会出现free buffer wait ,等待的就是回滚段.

在确定现象后,确定是ORACLE 9208 的一个BUG.


实施计划:
---------------------------------
10.2.224.44 测试库 --> ORACLE PATCH 5442919

作团队的通知:

执行时间: 2008.9.2 18:30
可能会影响的项目: 1 2 3 4
邮件通知列表: 1 2 3 4


A),Check environment for SYSTEM and DB

1,System Version:uname">oracle@rh44server:/home/oracle/heyf>uname -a
Linux rh44server 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux

2,ORACLE Version:
ORACLE 9.2.0.8
ARCHIVELOG MODE

3,DB backup mode : EXP / NO RMAN BACKUP

B),Preparing

1, Get the PATCH fileshttp://updates.oracle.com/ARULink/PatchDetails/handle_rel_change?release=8092080&plat_lang=46P&patch_file=&file_id=&password_required=&password_required_readme=&merged_trans=&aru=9113803&patch_num=5442919&patch_num_id=783143&default_release=8092080&default_plat_lang=46P&patch_password=&orderby=&direction=&no_header=0&sortcolpressed=&tab_number=&email=dba%2540alibaba-inc.com&userid=ML-ALIBABADBA
-->
/home/oracle/heyf/5442919

2, Check the requirement by README :

a) /opt/oracle/products/9.2.0/OPatch/opatch -r query #Confirm there are no other PATCH installed

b) VERSION : ORA 9.2.0.8 On LINUX AS


3, Backup the $ORACLE_HOME

cd $ORACLE_BASE
tar -cvf products.0902.tar products

C),Start opatch

#shutdown DB

lsnrctl stop;
shutdown immediate;
exit;

#Start patch
cd /home/oracle/heyf/5442919
/opt/oracle/products/9.2.0/OPatch/opatch apply

# Exception handle:

cd /home/oracle/heyf/5442919
/opt/oracle/products/9.2.0/OPatch/opatch rollback -id 5442919

D),After Patched ,startup DB

# Starting DB

startup
lsnrctl start;

# EXCEPTION HANDLE:

lsnrctl stop;
shutdown immediate;
exit;

# Restore the ORACLE_HOME
cd $ORACLE_BASE
rm -rf products
tar -xvf products.0901.tar

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



实施过程:

在执行过程中,前两步都比较顺利,但在应用PATCH的时候(/opt/oracle/products/9.2.0/OPatch/opatch apply)出现了问题,出错日志信息如下:

-------------------------------------------------
... ...

Running make for target ioracle.

OPatch found the word "error" in stderr, please look into it.
You may have to run the make again.
Stderr Output (from /opt/oracle/products/9.2.0/.patch_storage/5442919/make_local.stderr):
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_s.so: undefined reference to
`dl_iterate_phdr@GLIBC_2.2.4

collect2: ld returned 1 exit status

make: *** [/opt/oracle/products/9.2.0/rdbms/lib/oracle] Error 1

... ...

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

关键信息:/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_s.so: undefined reference to
`dl_iterate_phdr@GLIBC_2.2.4
大概是说在做RELINK的时候出错.
在网上搜了一把,得到信息:
solution:
$ cd /usr/bin
mv gcc gcc344
mv g++ g++344
ln -s gcc32 gcc
ln -s gcc++32 g++

但是这需要考虑系统版本以及数据库版本等各种环境因素,而且也没有相关处理经验,不敢轻举妄动. 于是在半夜深刻把Hoterran拉了上来!

当然,最后问题得到解决,而且很简单:
mv gcc gcc344
ln -s gcc32 gcc

重新apply补丁 ... 顺利完成.

启动数据库 ... 一切正常.

最后不要忘了把你刚才对系统所作的更改恢复回去:
rm -f gcc
mv gcc344 gcc


(虽然上面的解决办法看上去非常的简单,但这需要非常丰富的经验以及问题的定位能力,在此顶hoterran一个! 对于自己也一次积累.)



查看UNDO使用情况:
SELECT TABLESPACE_name,status,SUM(bytes)/1024/1024 FROM DBA_UNDO_EXTENTS GROUP BY TABLESPACE_name,status;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics