SCO unix 系统下定时备份oracle数据库前提: 1、需要知道的信息: oracle 的system密码以及要备份数据库账户的账户名和密码 Sco unix 的root密码、oracle密码 2、会使用vi编辑文件、mkdir创建文件夹、chmod改变文件权限、su 切换用户、文件的执行 3、了解sco unix的用户、组、权限及crontab的用途、oracle的dmp文件生成 一、建立数据库dmp文件存放目录 #su - oracle $cd /dbf $mkdir dmpbak $cd dmpbak $mkdir zd $mkdir cm 二、建立导出数据库dmp的文件 1、指定目录 #su - oracle $cd bin 2、用vi编辑exp_t文件 $vi exp_t exp_t内容: ORACLE_HOME=/oracle ORACLE_SID=ora7 ORACLE_TERM=ansi export ORACLE_HOME ORACLE_SID ORACLE_TERM MENU5PATH=$ORACLE_HOME/forms30/admin/resource export MENU5PATH ORATERMPATH=$ORACLE_HOME/forms30/admin/resource export ORATERMPATH NLS_LANG=American_America.ZHS16CGB231280 export NLS_LANG ORA_NLS=/oracle/ocommon/nls/admin/data export ORA_NLS home1='/dbf/dmpbak' dt1=`date "+%y%m%d%H%M"` echo ' ' >'$home1/'new_record file_name="$home1"/zd/zd"$dt1" echo $file_name >>'$home1'/new_record $ORACLE_HOME/bin/exp zd/zdzd file=$file_name.dmp owner=zd grants=y buffer=204800 rows=y indexes=y compress=y file_name="$home1"/cm/cm"$dt1" echo $file_name >>'$home1'/new_record $ORACLE_HOME/bin/exp common/cmcm file=$file_name.dmp owner=common grants=y buffer=204800 rows=y indexes=y compress=y file='/dbf/dmpbak/new_record' backup_dir='/oracle/sec_back' if [ -d $backup_dir ] then for i in `cat $file` do cp $i $backup_dir/ done echo ' '>$file fi 3、给exp_t权限 $chmod 755 exp_t 4、测试exp_t $cd /oracle/bin $exp_t 5、查看dmp文件是否生成 $cd /dbf/dmpbak/zd $ls 如果生成dmp文件,证明exp_t可以使用 三、编辑删除dmp文件的脚本(因为不可能备份太多数据,一般留24个小时的就可以了) 1、用vi编辑deldmp文件 # su - oracle $cd /oracle/bin $vi deldmp 内容: home1='/dbf/dmpbak' TZ=CST+16;export TZ dt1='date"+%y%m%d"' file_name="$home1"/zd/zd"$dt1" rm $file_name*.dmp file_name="$home1"/cm/cm"$dt1" rm $file_name*.dmp TZ=CST-16;export TZ 2、检查脚本作用 $/oracle/bin/deldmp 四、编辑crontab #crontab -e 增加行: 35 * * * * su - oracle -c /oracle/bin/exp_t 55 1 * * * /oracle/bin/deldmp 第1行意思是每天每个小时的35分备份一次dmp文件 第2行意思是每天1点55删除前面一天的dmp内容 (t116)
上一篇:学会Linux下C语言编程--基础知识 下一篇:Linux内核模块编程源码范例—启动参数 更多相关文章
|
推荐文章
精彩文章
|