oracle9相关脚本

just posted @ 2009年2月19日 23:43 in 数据库 , 1194 阅读

此文章来自网络

oracle9.2自动启动自动关闭 自动备份 自动异地备份

1.ORACLE服务随机器启动/关闭而自动启动/关闭,命令文件S99Oracle/K99Oracle放在目录/etc/rc5.d下
启动/关闭脚本startdb、stopdb放在目录/home/oracle下。导出的备份自动远程传到异地机器上。
(注意:需要运行的文件必须要有执行权限)

 

文件:S99Oracle
*****S99Oracle*****
#################oracel start#####################
su - oracle "-c /home/oracle/startdb"

文件:K99Oracle
*****K99Oracle*****
#####################oracle stop ##########
su - oracle "-c /home/oracle/stopdb"

文件:startdb
*****startdb*****
######oracle start######
echo "oracle begin to start"
lsnrctl start
sqlplus /nolog <connect sys/sys as sysdba
startup
exit
exit
echo "oracle have started"

文件:stopdb
*****stopdb*****
######oracle stop#######
sqlplus /nolog <connect sys/sys as sysdba
shutdown immediate
echo "oracle have stopped"

2.ORACLE数据库自动备份,命令放在ORACLE用户的任务里用crontab - e编辑,
脚本oraBak放在放在目录/home/oracle下
*****crontab*****
#备份前先删除七天以前的备份
00 23 * * * find /bak/oraLoc -name '*' -mtime +7 -exec rm {} \; >/dev/null 2>&1
04 23 * * * /home/oracle/oraBak

文件:oraBak
*****oraBak*****
#######oracle auto backup################
#把当天日期赋予变量rq
rq=`date +%Y%m%d`
echo $rq

# 清空临时目录
rm -f /bak/oraTmp/*

# 设置 shell
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/9.2.0
#sid根据自己数据库不同自己更改一下
ORACLE_SID=orcl
ORACLE_TERM=xterm
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
NLS_LANG=american_america.ZHS16GBK
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export PATH
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export ORACLE_TERM
export NLS_LANG
export ORA_NLS33
export LD_LIBRARY_PATH
export CLASSPATH

#导出数据
exp accms/accms file=/bak/oraTmp/bak$rq.dmp log=/bak/oraTmp/bak$rq.log

#拷贝文件到备份目录
cp /bak/oraTmp/* /bak/oraLoc/

#备份到远程主机
cat ftp.txt | ftp -n


文件:ftp.txt
*****ftp.txt*****
open 10.5.31.186
user oracle oracle
binary
hash
cd /bak/oraFar
prompt
lcd /bak/oraTmp
mput *
bye

 

 

这是我实际项目上用的,希望对大家有所帮助。:)
 

  • 无匹配
  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter