在linux和windows下自动备份数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在linux和windows下自动备份数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3123字,纯文字阅读大概需要5分钟。
内容图文
![在linux和windows下自动备份数据库](/upload/InfoBanner/zyjiaocheng/452/0f89773f2cd54703b9bb976c02c382e4.jpg)
本文档内容共分为2大部分:linux和windows
Linux和windows都分为:准备工作和操作阶段。
Linux的详细步骤为:1.准备文件. 2.连接linux 3.实际操作也就是写命令
windows的详细步骤为:1.准备文件. 2.编辑任务和计划程序。
所用软件:notepad++,ssh
一.linux
1、准备工作(可以在windows下执行本操作)
创建三个文件
1.1文件名:exp.list (本文件主要用于存储连接数据库的用户名和密码。)
内容:oracle数据库的用户名和密码
创建好了之后如下图:
1.2.文件名:exp.log (本文件主要用于存储在自动备份数据库时的日志信息)
内容:为空就行
1.3.文件名:exp.sh (本文件主要用于执行备份脚本)
内容:#!/bin/sh
#找到数据库的路径
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export NLS_LANG=American_America.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#执行路径
cd /home/oracle/dbbackup
exptime=$(date +%Y-%m-%d_%H)
#读取创建的exp.list文件里的用户名及密码
cat exp.list | while read dbUser dbPasswd
do
echo $dbUser
exp $dbUser/$dbPasswd GRANTS=Y file=$dbUser"_"$exptime.dmp #执行导出
if [ "0" == $? ]
then
tar -zcvf $dbUser"_"$exptime.dmp.tar.gz $dbUser"_"$exptime.dmp
rm $dbUser"_"$exptime.dmp
fi
done
#导出文件名
find . -mtime +6 -name "*.dmp.tar.gz" |xargs rm
写完如下图2:
准备工作完成。
2 开始连接linux
2.1.先用ssh连接到oracle服务器(这个过程就不一一赘述了)
2.2.因为上面的文件里的执行路径是 /home/oracle/dbbackup 所以我们写好的三个文件放到本目录下面。
用chmod命令给dbbackup文件夹权限:如:chmod 777 dbbackup
用chmod命令给三个文件执行权限.
2.3把本脚本加入定时任务里面
如果在root用户下,先进入oracle用户.
命令是:su – oracle
编辑本用户下的定时任务
命令是:crontab -e
编辑命令:30 23 * * 0 /home/oracle/dbbackup/exp.sh >> /home/oracle/dbbackup/exp.log 2>&1
本命令的意思是:每星期周日的晚上23时30分执行/home/oracle/dbbackup下的exp.sh脚本,如果脚本执行报错会把错误信息放到exp.log下面。
退出并保存。
用crontab –l查看添加的命令有没有成功:
如果出现上图,就说明成功了。
二.windows系统下创建
2.1先去安装oracle的文件夹下面找到exp.exe文件。
把这个文件复制到你要执行脚本的文件夹。
比如我要执行的脚本是在D:\backup文件夹就放到本文件夹下面。
2.2编写脚本
exp xjshz_1104/123456@orcl file=d:\backup\xjshz%date:~8,10%.dmp log=‘d:\backup\xjshz%date:~8,10%.log‘ compress=n buffer=8092 consistent=y direct=n constraints=y feedback=10000 grants=y record=y indexes=y triggers=y rows=y
本语句的意思是从用户名为:xjshz_1104密码为123456sid为:orcl的库里备份。
备份的文件名是:xjshz时间的第8到10位.dmp文件。日志文件同上。
保存文件名为:expbackup.bat
可以先试着双击执行一下本文件,看看会不会生成dmp文件。
2.3在控制面板处找到“任务计划”—>创建任务—> 在操作选项卡点击新建—> 把刚才写的脚本加进来。
2.4在触发器那里设置触发事件时间。
完成。谢谢!
在linux和windows下自动备份数据库
标签:
本文系统来源:http://www.cnblogs.com/windyWu/p/4637144.html
内容总结
以上是互联网集市为您收集整理的在linux和windows下自动备份数据库全部内容,希望文章能够帮你解决在linux和windows下自动备份数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。