SHELL中執行Oracle SQL語句查詢性能視圖


數據庫日志是否報錯信息

vi check_log.sh
#!/bin/bash
# Created : 2019.10.10
# Updated : 
# Author : 
# Description :alert log


loadsql="SELECT count(1)
FROM v\$diag_alert_ext 
WHERE
originating_timestamp > ( sysdate - interval '1' HOUR )
and
( message_text LIKE '%error%'
OR message_text LIKE '%ORA-%'
OR message_text LIKE '%terminating the instance%'
OR message_text LIKE '%CRS-%');"

loadsql="$loadsql"
result=`sqlplus -s /nolog <<EOF
set echo off feedback off heading off underline off;
conn / as sysdba;
$loadsql
exit;
EOF`

echo $result

數據庫session會話數

vi check_session.sh
#!/bin/bash
# Created : 2019.10.10
# Updated : 
# Author : 
# Description :session

loadsql="select count(*) 
from v\$session
where status ='ACTIVE';"

loadsql="$loadsql"
result=`sqlplus -s /nolog <<EOF
set echo off feedback off heading off underline off;
conn / as sysdba;
$loadsql
exit;
EOF`

echo $result

數據庫是否存在死鎖

vi check_deadlock.sh
#!/bin/bash 
# Created : 2019.10.10
# Updated : 
# Author : 
# Description :dead lock 
loadsql="select count(*) 
from v\$session
where status ='ACTIVE';"

loadsql="$loadsql"
result=`sqlplus -s /nolog <<EOF
set echo off feedback off heading off underline off;
conn / as sysdba;
$loadsql
exit;
EOF`

echo $result

Oracle DG主備庫同步狀態檢測

vi check_sync.sh
#!/bin/bash
# Created : 2019.10.10
# Updated : 
# Author : 
# Description :master_standby_sync
loadsql="select status 
from v\$archive_dest 
where dest_name='LOG_ARCHIVE_DEST_2';"

loadsql="$loadsql"
result=`sqlplus -s /nolog <<EOF
set echo off feedback off heading off underline off;
conn / as sysdba;
$loadsql
exit;
EOF`

echo $result

Oracle DG備庫是否實時同步

vi check_real_time.sh
#!/bin/bash
# Created : 2019.10.10
# Updated : 
# Author : 
# Description :real-time sync
loadsql="select recovery_mode 
from v\$archive_dest_status
where dest_id=2;"

loadsql="$loadsql"
result=`sqlplus -s /nolog <<EOF
set echo off feedback off heading off underline off;
conn / as sysdba;
$loadsql
exit;
EOF`
echo $result

#SQL> select recovery_mode from v$archive_dest_status where dest_id=2;

#RECOVERY_MODE
#-----------------------
#MANAGED REAL TIME APPLY

 

若使用root用戶部署,需要導出環境變量

export ORACLE_SID=orcl1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM