ORACLE/Exadata2014. 7. 5. 15:08
반응형

이 문서에서


목적

진단 절차
 --- 소프트웨어 요구조건 ---
 --- 스크립트 설치 ---
 --- 스크립트 수행 ---
 Sun Oracle Exadata 환경:
 Community Discussions

적용 대상:

Oracle Exadata Storage Server Software - 버전 11.1.0.3.0 과(와) 그 후속
Oracle Exadata Hardware - 버전 11.1.0.7 과(와) 그 후속
Exadata Database Machine V2 - 버전 All Versions 과(와) 그 후속
Exadata Database Machine X2-2 Hardware - 버전 All Versions 과(와) 그 후속
Exadata Database Machine X2-8 - 버전 All Versions 과(와) 그 후속
이 문서의 내용은 모든 플랫폼에 적용됩니다.

목적

이 문서는 Exadata Storage Server 의 디스크 장애 발생시, 그리고 DB 노드나 Storage server 의 하드웨어 이슈 발생시 필요한 진단 정보를 수집하는 방법을 제공합니다.

진단 절차

--- 소프트웨어 요구조건 ---


이 스크립트는 디스크 문제가 있는 Exadata Storage server 에서, 그리고 하드웨어 이슈가 있는 DB 노드나 Storage server 에서 root 사용자로 수핻되어야 합니다. 

이 스크립트는 Sun 이나 HP 에서 필요로 하는 진단 정보를 수집합니다.

--- 스크립트 설치 ---


root 사용자로 수행합니다.

--- 스크립트 수행 ---

 

Sun Oracle Exadata 환경:


이미지 버전이 11.2.3.3.0 이전의 모든 시스템:

1. sundiag.zip 파일을 다운로드 받아 첫번째 컴퓨트 노드의 /tmp 에 복사합니다.
2. dcli 를 사용하여 파일을 모든 노드에 복사하고 압축을 해제합니다. 
      #dcli -l root -g /opt/oracle.SupportTools/onecommand/all_group -f /tmp/sundiag.zip -d /tmp
      #dcli -l root -g /opt/oracle.SupportTools/onecommand/all_group "cd /tmp;unzip sundiag.zip;ls -l sundiag_v1.5.sh;md5sum sundiag_v1.5.sh"

all_group 파일에 언급된 모든 노드에서 이러한 형태로 결과가 나와야 합니다. 

nodedb03: Archive: sundiag.zip
nodedb03: -rw-r--r-- 1 root root 35315 Aug  6 2013  sundiag_v1.5.sh
nodedb03: fc273498acf72f0b3b0c20e5993b74ed  sundiag_v1.5.sh


3. 신규 버전의 sundiag.sh 을 기본 위치에 복사합니다. 
     #dcli -l root -g /opt/oracle.SupportTools/onecommand/all_group "cd  /opt/oracle.SupportTools;mv sundiag.sh sundiag.sh.orig"
     #dcli -l root -g /opt/oracle.SupportTools/onecommand/all_group "cd /tmp;cp sundiag_v1.5.sh /opt/oracle.SupportTools/sundiag.sh;md5sum /opt/oracle.SupportTools/sundiag.sh;ls -l /opt/oracle.SupportTools/*sundiag*"

4. sundiag.sh 사용법:

Usage:

# /opt/oracle.SupportTools/sundiag.sh

명령어를 수행하면 /tmp/sundiag_/tar.bz2 에 날짜가 기록된 tar.bz2 파일을 생성할 것입니다. 

이 파일을 서비스 요청에 업로드 하십시오. 

5. 신규 버전의 sundiag.sh 스크립트가 실행중인지 확인해보십시오.


sundiag.sh 버전 1.5 에 의해 생성되는 파일 목록입니다 :

.version_sundiag
asr/
cell/
CmdTool.log
fru-print_ipmitool.out
ilom/
imagehistory-all.out
imageinfo-all.out
MegaSAS.log
messages/
net/
RackMasterSN
raid/
SerialNumbers
sysconfig/




6. 임시 파일들을 삭제하십시오.
 
    #dcli -l root -g /opt/oracle.SupportTools/onecommand/all_group "cd /tmp;rm -fr sundiag.zip;rm -fr sundiag_v1.5.sh"


OS Watcher 데이터와 sundiag 를 함께 수집하려면:  

사용법:

# /opt/oracle.SupportTools/sundiag.sh osw

이 명령을 실행하면 /tmp/sundiag_/tar.bz2 에 OS Watcher 아카이브 로그들과 함께 날짜가 기록된 tar.bz2 파일을 생성할 것입니다. 이 로그들은 매우 클 수 있습니다. 

이 파일을 서비스 요청에 업로드 하십시오.


전체 rack 에 대한 sundiag 데이터를 수집하려면:

dcli 를 사용하여 전체 rack 에 대한 sundiag.sh 결과를 수집하면 결과물이 같은 이름을 가질 수 있어 압축 해제시 오버라이트될 수 있습니다. 이것을 방지하기 위해 DB01 에서 다음을 사용하십시오:

1. [root@exadb01 ~]# cd /opt/oracle.SupportTools/onecommand (혹은 rack 호스트이름 목록을 가진 all_group 의 위치)

2. [root@exadb01 onecommand]# dcli -g all_group -l root /opt/oracle.SupportTools/sundiag.sh 2>&1
<약 2분 정도 소요>

3. 각 노드의 /tmp 에 결과물이 생성되었는지 확인하십시오:
[root@exadb01 onecommand]# dcli -g all_group -l root --serial 'ls -l /tmp/sundiag* '

4. 같은 날짜기록을 가진 같은 파일이름이 있을 수 있으므로 호스트명으로 디렉토리를 정렬하십시오:
[root@exadb01 onecommand]# for H in `cat all_group`; do mkdir /root/rack-sundiag/$H ; scp -p $H:/tmp/sundiag*.tar.bz2 /root/rack-sundiag/$H ; done

5. [root@exadb01 onecommand]# cd /root/rack-sundiag

6. [root@exadb01 ~]# ls exa*
exacel01:
sundiag_2011_05_24_10_11.tar.bz2

exacel02:
sundiag_2011_05_24_10_11.tar.bz2
...
exadb08:
sundiag_2011_05_24_10_11.tar.bz2

7. [root@exadb01 ~]# tar jcvf exa_rack_sundiag_oracle.tar.bz2 exa*
exacel01/
exacel01/sundiag_2011_05_24_10_11.tar.bz2
exacel02/
exacel02/sundiag_2011_05_24_10_11.tar.bz2
...
exadb08/
exadb08/sundiag_2011_05_24_10_11.tar.bz2

8. [root@exadb01 ~]# ls -l exa_rack_sundiag_oracle.tar.bz2
-rw-r--r-- 1 root root 3636112 May 24 10:21 exa_rack_oracle.tar.bz2

이 파일을 서비스 요청에 업로드 해주십시오.


HP Oracle Exadata 환경:

1. 디스크 장애가 있는 Exadata Storage Server 로 deaddisk.zip 파일을 다운로드 하십시오.
2. 적당한 디렉토리에 압축을 해제합니다. 
3. deaddisk.sh 파일의 권한을 700 으로 바꾸고 실행하십시오:
    # chmod 700 deaddisk.sh
    #./deaddisk.sh
4. 생성된 zip 파일을 업로드 하십시오. 이 스크립트의 실행으로 /tmp 디렉토리에 info_deaddisk_.zip 형식의 zip 파일이 생성될 것입니다. 
    Example: info_deaddisk_2009-01-18-19:52:14.zip


만일 deaddisk.zip 에 대한 링크가 깨졌다면, 이 코드를 복사하여 사용하십시오:


#!/bin/ksh
mdate=`/bin/date '+%Y-%m-%d-%H:%M:%S'`
mkdir -p /tmp/info_deaddisk_$mdate
cd /tmp/info_deaddisk_$mdate
cellcli -e alter cell shutdown services ms
MSSTATUS='cellcli -e list cell attributes msstatus'
if [ `$MSSTATUS` != 'stopped' ]
then
echo MS did not stop!!!!
echo -n 'Continuing may not be safe, do you whish to continue (y|N)? '
read Answer
if [ `echo $Answer` = 'Y' -o `echo $Answer` = 'y' ]
then
echo Coninuing to dump diagnostics
else
exit 0
fi
fi
echo "Starting to collect disk information....."
hpacucli ctrl all show config detail > `hostname -a`_$mdate.hpacucli.txt
hpaducli -f `hostname -a`_$mdate.hpaducli.txt
hpaducli -x -f `hostname -a`_$mdate.hpaducli.xml
cellcli -e alter cell startup services ms
MSSTATUS='cellcli -e list cell attributes msstatus'
if [ `$MSSTATUS` != 'running' ]
then
echo MS did not start!!!!
echo If this is unexpected, please contact Oracle Customer Support
echo dead disk diagnostics were collected but the state of MS is unknown
fi
cp /var/log/messages .
cp /var/spool/compaq/hpasm/registry/serial_output/* .
cd ..
zip -r info_deaddisk_$mdate info_deaddisk_$mdate


반응형
Posted by [PineTree]