프린트 하기

내맘대로긍정이 알려주는

Oracle 23ai 신기능
무료 세미나 발표자료

다운로드 trending_flat

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 11.2.0.4


쿼리 : 오라클 db 상태 확인용 쉘 스크립트

db의 상태가 OPEN 상태일 경우 db status is OPEN

db의 상태가 MOUNT 상태일 경우 db status is MOUNT

db의 상태가 NOMOUNT 상태일 경우 db status is NOMOUNT 

db의 상태가 CLOSE 상태일 경우 db status is CLOSE  라고 나오는 쉘 스크립트


db_status.sh 내용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /bin/ksh
 
_LOC=/bin
_LOG=/home/oracle/
 
sh ${_LOG}/db_status2.sh >> /dev/null
 
${_LOC}/sed -2,2p ${_LOG}/db_stat.tmp > ${_LOG}/db_stat2.tmp
 
while read stat; do 
if [ "$stat" == "OPEN" ];then
   echo "db status is OPEN"
elif [ "$stat" == "MOUNTED" ];then
   echo "db status is MOUNT"
elif [ "$stat" == "STARTED" ];then
   echo "db status is NOMOUNT"
else
   echo "db status is CLOSE"
fi
done < ${_LOG}/db_stat2.tmp > ${_LOG}/dblog.log
 
rm ${_LOG}/db_stat.tmp
rm ${_LOG}/db_stat2.tmp
 
cat ${_LOG}/dblog.log
rm ${_LOG}/dblog.log


db_status2.sh 내용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /bin/ksh
 
_LOC=/bin
_LOG=/home/oracle/
 
sqlplus -"/ as sysdba"<< EOF 
 
set heading off
set echo off
set feedback off  
set trimspool on
 
ho _LOG=/home/oracle/
 
spool ${_LOG}/db_stat.tmp
select status from v\$instance; 
spool off
 
exit
EOF


실행결과

1
2
$ sh db_status.sh 
db status is OPEN



참조 :