分析两个主机和Oracle数据库巡检脚本,值得收藏

数据库 Oracle
分享一个之前我用来巡检主机和Oracle的脚本,不过输出结果不是很美观,内容还是可以的...

分享一个之前我用来巡检主机和Oracle的脚本,不过输出结果不是很美观,内容还是可以的...

主机巡检脚本:OSWatcher.sh

ps:这里的第10项,普通用户检查/var/log/messages很可能没有读权限,如有需要巡检此系统日志,建议切换root用户执行此脚本。

#!/bin/bash 
echo "" 
###################################################################### 
#设置命令的路径,防止命令找不到路径 
PATH=$PATH:/usr/sbin/ 
export PATH 
echo "the PATH is:$PATH" 
###################################################################### 
PLATFORM=`/bin/uname` 
# 
###################################################################### 
# Create log subdirectories if they don't exist 
###################################################################### 
if [ ! -d archive ]; then 
 mkdir archive 
fi  
case $PLATFORM in 
 Linux) 
 DF='df -h' 
 MEMINFO='free -m' 
 MPSTAT='mpstat 1 3' 
 TOP='eval top -b -n 1 | head -50' 
 VMSTAT='vmstat 1 3' 
 IOSTAT='iostat -d -x -k 1 5' 
 PSELF='ps -elf' 
 BOOTLOG='tail -500 /var/log/boot.log' 
 SYSLOG='dmesg' 
 MESSAGE='tail -500 /var/log/messages' 
 ;; 
esac 
hostn=`hostname` 
hour=`date +'%m.%d.%y.%H00.dat'` 
echo "`date` Collect">archive/${hostn}_$hour 
###################################################################### 
# Test for discovery of os utilities. Notify if not found. 
###################################################################### 
echo "" 
echo "Starting Data Collection..." 
echo "" 
case $PLATFORM in 
 Linux) 
 $DF > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "DF found on your system." 
 echo "--1.DF==========================">>archive/${hostn}_$hour 
 $DF>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... DF not found on your system." 
 MEMFOUND=0 
 fi 
  
 $MEMINFO > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "meminfo found on your system." 
 echo "--2.MEMINFO==========================">>archive/${hostn}_$hour 
 $MEMINFO>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... /proc/meminfo not found on your system." 
 MEMFOUND=0 
 fi 
  
 $MPSTAT > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "MPSTAT found on your system." 
 echo "--3.MPSTAT==========================">>archive/${hostn}_$hour 
 $MPSTAT>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... MPSTAT not found on your system." 
 MEMFOUND=0 
 fi 
  
 $TOP > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "TOP found on your system." 
 echo "--4.TOP==========================">>archive/${hostn}_$hour 
 $TOP>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... TOP not found on your system." 
 MEMFOUND=0 
 fi 
  
 $VMSTAT > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "VMSTAT found on your system." 
 echo "--5.VMSTAT==========================">>archive/${hostn}_$hour 
 $VMSTAT>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... VMSTAT not found on your system." 
 MEMFOUND=0 
 fi 
  
 $IOSTAT > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "IOSTAT found on your system." 
 echo "--6.IOSTAT==========================">>archive/${hostn}_$hour 
 $IOSTAT>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... IOSTAT not found on your system." 
 MEMFOUND=0 
 fi 
  
 $PSELF > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "PSELF found on your system." 
 echo "--7.PSELF==========================">>archive/${hostn}_$hour 
 $PSELF>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... PSELF not found on your system." 
 MEMFOUND=0 
 fi 
  
 $BOOTLOG > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "BOOTLOG found on your system." 
 echo "--8.BOOTLOG==========================">>archive/${hostn}_$hour 
 $BOOTLOG>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... BOOTLOG not found on your system." 
 MEMFOUND=0 
 fi 
  
 $SYSLOG > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "SYSLOG found on your system." 
 echo "--9.SYSLOG==========================">>archive/${hostn}_$hour 
 $SYSLOG>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... SYSLOG not found on your system." 
 MEMFOUND=0 
 fi 
  
 $MESSAGE > /dev/null 2>&1 
 if [ $? = 0 ]; then 
 echo "MESSAGE found on your system." 
 echo "--10.MESSAGE==========================">>archive/${hostn}_$hour 
 $MESSAGE>>archive/${hostn}_$hour 
 MEMFOUND=1 
 else 
 echo "Warning... MESSAGE not found on your system." 
 MEMFOUND=0 
 fi 
  
 ;; 
esac  
echo "" 
echo "Discovery completed." 
echo "Collection completed." 
echo "The Collected result saved in ./archive/${hostn}_$hour." 
echo "" 
  • 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.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.

Oracle巡检脚本:ORAWatcher.sh

这个是用来巡检Oracle数据库的

#!/usr/bin/ksh 
echo "" 
echo "ORAWatcher Version:1.0.1" 
echo ""  
###################################################################### 
#数据库连接设置 
###################################################################### 
sqlstr=$1 
test $1 
if [ $? = 1 ]; then 
 echo 
 echo "Info...You did not enter a value for sqlstr." 
 echo "Info...Using default value = system/system" 
 sqlstr="system/system"  
fi  
###################################################################### 
# Create log subdirectories if they don't exist 
###################################################################### 
if [ ! -d archive ]; then 
 mkdir archive 
fi  
echo "$sqlstr" 
echo "Starting Data Collection..." 
echo "" 
###################################################################### 
hostn=`hostname` 
hour=`date +'%m.%d.%y.%H00.dat'` 
echo "`date` collect...">archive/${hostn}_oracle_$hour 
###################################################################### 
echo "######################## 1.数据库版本" 
echo "select ' ' as \"--1.Database Version\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "Select version FROM Product_component_version  
Where SUBSTR(PRODUCT,1,6)='Oracle';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 2.控制文件" 
echo "select ' ' as \"--2.Control files\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select name from v\$controlfile;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 3.pfile、spfile" 
echo "select ' ' as \"--3.Parameter files\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "show parameter pfile;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 4.字符集" 
echo "select ' ' as \"--4.DB Character\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "col PARAMETER for a20 
col value for a20 
select * from v\$nls_parameters where parameter='NLS_CHARACTERSET';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 5.归档状态" 
echo "select ' ' as \"--5.DB Archive Mode\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 333 
show parameter log_archive" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 6.参数设置" 
echo "select ' ' as \"--6.Parameter Config\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 500 
set pages 2000 
show parameter;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 7.回滚段存储位置" 
echo "select ' ' as \"--7.Undo Info\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 500 
set pages 2000 
SELECT SEGMENT_NAME, TABLESPACE_NAME, STATUS FROM DBA_ROLLBACK_SEGS;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 8.redolog" 
echo "select ' ' as \"--8.Redolog Files\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 200 
set pages 2000 
col MEMBER for a50 
select a.member,a.group#,b.thread#,b.bytes,b.members,b.status 
from v\$logfile a,v\$log b 
where a.group#=b.group#;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 9.查看表空间大小及利用率" 
echo "select ' ' as \"--9.Tablespace Usage\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 200 
set pages 2000 
col TABLESPACENAME for a30 
select substr(a.TABLESPACE_NAME,1,30) TablespaceName, 
sum(a.bytes/1024/1024) as \"Totle_size(M)\", 
sum(nvl(b.free_space1/1024/1024,0)) as \"Free_space(M)\", 
sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0)) as \"Used_space(M)\", 
round((sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0))) 
*100/sum(a.bytes/1024/1024),2) as \"Used_percent%\" from dba_data_files a, 
(select sum(nvl(bytes,0)) free_space1,file_id from dba_free_space 
group by file_id) b where a.file_id = b.file_id(+) group by a.TABLESPACE_NAME 
order by \"Used_percent%\";" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 10.数据文件" 
echo "select ' ' as \"--10.DB Files Info\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 300 
set pagesize 500 
col file_name format a80 
col TABLESPACE_NAME for a30 
select tablespace_name,file_id,status,bytes/1024/1024 FileSizeM,file_name from dba_data_files order by tablespace_name;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 11.查看数据文件的扩展方式" 
echo "select ' ' as \"--11.DB Files Extend\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 300 
set pagesize 500 
col FILE_NAME for a60 
col TABLESPACE_NAME for a30 
select file_id,file_name,tablespace_name,autoextensible  
from dba_data_files order by file_id;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 12.查看表空间的扩展方式" 
echo "select ' ' as \"--12.TBS Extend\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 120 
select TABLESPACE_NAME, BLOCK_SIZE, EXTENT_MANAGEMENT, SEGMENT_SPACE_MANAGEMENT  
from dba_tablespaces;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 13.临时表空间" 
echo "select ' ' as \"--13.DB Temp TBS\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select FILE_NAME, FILE_ID, TABLESPACE_NAME, BYTES/1024/1024 \"BYTES(M)\", USER_BYTES/1024/1024 \"USER_BYTES(M)\", status from dba_temp_files;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 14.用户默认表空间" 
echo "select ' ' as \"--14.User Default TBS\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set lines 200 
set pages 2000 
col username for a20 
col default_tablespace for a30 
col temporary_tablespace for a30 
select username, default_tablespace, temporary_tablespace from dba_users;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 15.数据库缓冲区高速缓存命中率" 
echo "select ' ' as \"--15.DB Cache Hit\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select 1-(phy.value/(cur.value+con.value)) 
from v\$sysstat cur, v\$sysstat con, v\$sysstat phy 
where cur.name = 'db block gets'  
and con.name = 'consistent gets'  
and phy.name = 'physical reads';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 16.重写不等待比率" 
echo "select ' ' as \"--16.Redo nowaits\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select (req.value*5000)/entries.value 
from v\$sysstat req,v\$sysstat entries 
where req.name = 'redo log space requests' 
and entries.name = 'redo entires';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 17.库高速缓存命中率" 
echo "select ' ' as \"--17.Library Cache Hit\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select namespace,gethitratio from v\$librarycache;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 18.数据字典高速缓存Getmisses对gets的目标比例" 
echo "select ' ' as \"--18.DB Dic cache\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select sum(getmisses)/sum(gets) from v\$rowcache;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 19.用户对像(表、索引、大小)" 
echo "select ' ' as \"--19.User objects\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "col OWNER for a30 
col SEGMENT_NAME for a33 
col PARTITION_NAME for a22 
col SEGMENT_TYPE for a11 
col TABLESPACE_NAME for a30 
set lines 333 
set pages 5000 
select OWNER ,SEGMENT_NAME,PARTITION_NAME,SEGMENT_TYPE,TABLESPACE_NAME,bytes/1024/1024 as table_size_M  
from Dba_Segments where SEGMENT_TYPE='TABLE' order by OWNER;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
  
echo "######################## 20.检查是否有失效的索引" 
echo "select ' ' as \"--20.Check invalid Ind\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set lines 333 
set pages 50 
select index_name, owner, status, tablespace_name  
 from dba_indexes 
 where owner not in('SYS','SYSTEM') 
 and status != 'VALID' 
 and tablespace_name is not null  
union all  
select index_name, index_owner owner, status, tablespace_name 
 from dba_ind_partitions 
 where index_owner not in ('SYS','SYSTEM') 
 and status <> 'USABLE' 
 and tablespace_name is not null; 
select '' as a from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 21.检查数据库会话连接占用率" 
echo "select ' ' as \"--21.Check DB Sessions\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "col TOT_SESSIONS for a15 
select cur_sessions, tot_sessions, a.cur_sessions/b.tot_sessions*100 \"sessions used%\" 
from (select count(*) cur_sessions from v\$session) a, 
(select value tot_sessions from v\$parameter where name = 'sessions') b;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 22.检查数据库会话连接历史最高值" 
echo "select ' ' as \"--22.Highwater of Session\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "select HIGHWATER 
 from dba_high_water_mark_statistics 
 where name = 'SESSIONS';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "######################## 23.检查数据库Job状态" 
echo "select ' ' as \"--23.Check Status of Job\" from dual;" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
echo "set linesize 333 
col what for a30 
col NEXT_DATE for a30  
col INTERVAL for a30 
select job, what, next_date, INTERVAL, BROKEN 
 from dba_jobs 
 where BROKEN != 'N';" >my_sql.sql 
sqlplus $sqlstr <my_sql.sql>>archive/${hostn}_oracle_$hour 
###################################################################### 
echo "Collection completed." 
echo "The Collected result saved in ./archive/${hostn}_oracle_$hour." 
echo "" 
  • 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.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
  • 227.
  • 228.

脚本使用

1. 创建目录并授权

# mkdir -p /home/oracle/scripts 
# chown -R oracle.oinstall /home/oracle/scripts/ 
# chmod -R 755 /home/oracle/scripts/ 
  • 1.
  • 2.
  • 3.

分析两个主机和Oracle数据库巡检脚本,值得收藏

分析两个主机和Oracle数据库巡检脚本,值得收藏

2. 两脚本都用oracle用户执行

切换到oracle用户,执行两个脚本:

$./OSWatcher.sh 
$./ORAWatcher.sh 
  • 1.
  • 2.

分析两个主机和Oracle数据库巡检脚本,值得收藏

分析两个主机和Oracle数据库巡检脚本,值得收藏

3. 查看巡检内容

分析两个主机和Oracle数据库巡检脚本,值得收藏

分析两个主机和Oracle数据库巡检脚本,值得收藏

注意:ORAWatcher.sh脚本中数据库的默认连接串是:system/system,如果system密码不是这个,可以这样执行:./ORAWatcher.sh system/password

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2019-08-12 08:47:14

脚本语言数据库MySQL

2019-10-31 08:22:39

shell脚本Linux

2011-04-15 10:21:07

Oracle数据库运算

2010-04-06 18:04:09

Oracle数据库

2020-12-11 07:00:42

MySQL数据库备份脚本

2021-12-07 08:30:38

Oracle数据库后端开发

2010-03-30 10:18:45

Oracle数据库

2023-12-01 15:50:46

2011-03-11 15:49:52

Oracle数据库

2019-08-20 09:46:14

DBA收藏脚本语言

2010-04-29 16:36:19

Oracle数据库

2010-04-27 16:31:41

Oracle数据库

2010-04-21 13:52:17

Oracle数据库性能

2009-03-16 13:30:55

脚本数据字典Oracle

2021-01-11 16:30:40

SQL数据库函数

2025-04-02 09:10:00

LinuxShell脚本

2019-07-03 09:35:20

Oracle数据库监听

2025-04-08 06:00:00

2009-11-20 13:29:59

Oracle数据库恢复

2019-12-05 07:55:47

监控指标巡检指标数据库
点赞
收藏

51CTO技术栈公众号