[Linux] Oracle Linux 6 update 9

原文はこちら。
https://blogs.oracle.com/wim/entry/oracle_linux_6_update_9

Oracle Linux 6 update 9を先頃リリースしました。ULN (Unbreakable Linux Network) および Oracle Linux Yumリポジトリからご利用いただけます。
Unbreakable Linux Network (ULN)
http://linux.oracle.com/
Oracle Linux Yum Server
http://yum.oracle.com/ 
通例通り、ISOイメージはMy Oracle Supportからダウンロードでき、数日するとSoftware Delivery Cloudからもダウンロードできるようになります。
My Oracle Support
http://support.oracle.com/
Oracle Software Delivery Cloud
http://edelivery.oracle.com/
変更内容を含むリリースノートが公開されています。
Oracle® Linux Release Notes for Release 6 Update 9
http://docs.oracle.com/cd/E37670_01/E84716/html/index.html
1点、Oracle Linux 6.9のテスト中に発見しました。”upstream”のglibcに対する最近の変更により、メモリの破損を引き起こし、結果としてデータベースの起動に失敗する可能性がある、というものです。
この事象をリリース前に見つけたため、もちろんのことながら不具合を修正しました。

以下のコード変更によって不具合が混入していました (glibc-rh1012343.patch)
char newmode[modelen + 2];
 -  memcpy (mempcpy (newmode, mode, modelen), "c", 2);
 +  memcpy (mempcpy (newmode, mode, modelen), "ce", 2);
    FILE *result = fopen (file, newmode);
ご覧の通り、誰かがnewmodeにeを追加(c から ceにコピー内容を変更) しましたが、最後にNull文字がないために、newmodeのサイズを大きく(+2から+3に変更)するのを忘れていました。
Oracle Linux 6.9に取り込んだglibcに適用した修正パッチは以下の通りです。
-  char newmode[modelen + 2];
 -  memcpy (mempcpy (newmode, mode, modelen), "ce", 2);
 +  char newmode[modelen + 3];
 +  memcpy (mempcpy (newmode, mode, modelen), "ce", 3);
OracleでのBug IDは25609196です。このパッチはglibc src rpmにあります。お客様が遭遇する症状は、fopen()の失敗が原因でデータベースの起動に失敗するというものです。以下はその例です。
Wed Mar 22 *17:19:51* 2017
*ORA-00210: cannot open the specified control file*
ORA-00202: control file:

'/opt/oracle/oltest/.srchome/single-database/nas/12.1.0.2.0-8192-72G/control_001'
ORA-27054: NFS file system where the file is created or resides is
not mounted with correct options
*Linux-x86_64 Error: 13: Permission denied*
Additional information: 2
ORA-205 signalled during: ALTER DATABASE   MOUNT...
Shutting down instance (abort) 

0 件のコメント:

コメントを投稿