Linux 自动备份oracle数据库详解
Linux自动备份oracle数据:
曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的。
所以,在工作中,不管是开发还是维护,备份数据库是非常有必要。
简单实用的晚间自动备份数据库小案例
步骤一、创建备份脚本,暂且命名为orabak.sh
#路径名,指定备份的路径 FILEPATH=/oracle/orabak #根据指定日期格式,定义备份数据库文件名 FILENAME=`date+%Y%m%d_%H%M #切换至指定路径,并创建文件夹 cd$FILEPATH mkdir$FILENAME chmod775$FILENAME #oracle变量设置 exportUSER=oracle; exportORACLE_SID=orcl; exportORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1; exportPATH=$ORACLE_HOME/bin:$PATH; #导出数据库这里使用了exp可以根据需要使用expdp expscott/tiger@orclfile="$FILENAME".dmplog="$FILENAME".logowner=scottrows=y #打包+加压 cd.. tar-cf$FILENAME.tar$FILENAME rm-rf$FILENAME gzip$FILENAME.tar exit EOF
步骤二、使用定时脚本crontab自动调用备份脚本
linux/aix使用crontab-e命令,再最后一行加入改功能脚本,例如:
1012***sh /oracle/orabak/orabak.sh
关于linux下crontab的使用
minutehourdaymonthdayofweekcommand
minute-从0到59的整数
hour-从0到23的整数
day-从1到31的整数(必须是指定月份的有效日期)
month-从1到12的整数(或如Jan或Feb简写的月份)
dayofweek-从0到7的整数,0或7用来描述周日(或用Sun或Mon简写来表示)
command-需要执行的命令(可用asls/proc>>/tmp/proc或执行自定义脚本的命令)
对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。
整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4
指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。
符号“/”指定步进设置。“/”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!