[oracle@test2sb ~]$ crontab -l
########check standby#############
45 06 * * * sh /home/oracle/check/check_standby_testdb.sh
#10 08 * * * sh /home/oracle/check/delete.sh > /home/oracle/check/delete.log 2>&1
[oracle@test2sb~]$ cat /home/oracle/check/check_standby_sfcdb.sh
rm /home/oracle/check/sfcdb/sb_*
. $HOME/.bash_profile
export ORACLE_SID=test2sb
if [ $ORACLE_SID != 'test2sb'];
then
exit
fi
/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus -s "/as sysdba" < set echo on
set head on
spool /home/oracle/check/sfcdb/checksb
set linesize 120 pagesize 10000
col name format a50
select a.process,a.status,b.sequence#,b.first_time,b.next_time,b.applied from v\$managed_standby a,v\$archived_log b where b.sequence# in (select max(sequence#)
from v\$archived_log);
spool off
exit
EOF
path="/home/oracle/check/test2sb"
cat $path/checksb.lst|grep -v r|awk '{print $1}' >$path/sb_check1
cat $path/checksb.lst|grep -v r|awk '{print $2}' >$path/sb_check2
cat $path/checksb.lst|grep -v r|awk '{print $3}' >$path/sb_check3
cat $path/checksb.lst|grep -v r|awk '{print $4}' >$path/sb_check4
cat $path/checksb.lst|grep -v r|awk '{print $5}' >$path/sb_check5
cat $path/checksb.lst|grep -v r|awk '{print $6}' >$path/sb_check6
cat $path/sb_check2|sed s/^/,\'\/g>$path/sb_check_2
cat $path/sb_check3|sed s/^/,\'\/g>$path/sb_check_3
cat $path/sb_check4|sed s/^/,\'\/g>$path/sb_check_4
cat $path/sb_check5|sed s/^/,\'\/g>$path/sb_check_5
cat $path/sb_check6|sed s/^/,\'\/g>$path/sb_check_6
cat $path/sb_check_2|sed s/$/\'\/g>$path/sb_check_22
cat $path/sb_check_3|sed s/$/\'\/g>$path/sb_check_33
cat $path/sb_check_4|sed s/$/\'\/g>$path/sb_check_44
cat $path/sb_check_5|sed s/$/\'\/g>$path/sb_check_55
cat $path/sb_check_6|sed s/$/\'\/g>$path/sb_check_66
cat $path/sb_check1|sed s/^/insert\ into\ checkstandby\ values\(\'10\.182\.15\.78\',\'sfcdb\'\,\'/g>$path/sb_check_1
cat $path/sb_check_1|sed s/$/\'\/g>$path/sb_check_11
paste $path/sb_check_11 $path/sb_check_22 >$path/sb_check_21
paste $path/sb_check_21 $path/sb_check_33 >$path/sb_check_31
paste $path/sb_check_31 $path/sb_check_44 >$path/sb_check_41
paste $path/sb_check_41 $path/sb_check_55 >$path/sb_check_51
paste $path/sb_check_51 $path/sb_check_66 >$path/sb_check_61
cat $path/sb_check_61|sed s/$/\)\;/g >>$path/sb_check.sql
export ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1/"
echo 'exit' >>$path/sb_check.sql
$ORACLE_HOME/bin/sqlplus
oscheck/checkdb@test @$path/sb_check.sql
刪除歷史
[oracle@ZDTSGDB ~]$ cat /home/oracle/check/delete.sh
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export PATH=.:$ORACLE_HOME/bin:PATH:.
export ORACLE_SID=zdtedisb
rman target sys/syspass << EOF
delete force noprompt archivelog all completed before 'sysdate-2';
exit;
EOF
對時
[root@test2sb init.d]# crontab -l
#dd ntpd sever coment this
*/15 * * * * /usr/sbin/ntpdate 10.182.15.* > /home/oracle/ntp.log 2>&1
[root@test2 init.d]# cat ora_test2sb
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script. to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=/home/oracle/bin:$ORACLE_HOME/bin:$PATH:.
export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=test2sb
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"< ORACLE_SID=test2sb
lsnrctl start
sqlplus /nolog< connect / as sysdba
startup force mount;
alter database recover managed standby database disconnect from session;
EOS
EOO
;;
stop)
su - "$ORACLE_USER"< ORACLE_SID=test2sb
lsnrctl stop
sqlplus /nolog< connect / as sysdba
shutdown immediate
EOS
EOO
;;
status)
su - "$ORACLE_USER"< ORACLE_SID=test2sb
lsnrctl status
emctl status dbconsole
EOO
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
加入系統自動重啟動
[root@ftest2 init.d]# chmod 775 ora_test2sb
[root@ftest2 init.d]# chkconfig --add ora_test2sb
測試
[root@ftest2 init.d]# service ora_test2sb start|stop
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15187685/viewspace-755350/
,如需转载,请注明出处,否则将追究法律责任。