linux下实现oracle的自动备份
来源:互联网 发布:淘宝售后客服例子 编辑:程序博客网 时间:2024/05/20 11:47
SQL Server中自动备份可以使用系统自带的功能,但Oracle则不行,必须自己写脚本。linux下Oracle的自动备份思路,主要是利用shell提供的crontab命令,定时运行备份脚本shell文件来实现自动备份。使用Oracle账户,步骤如下:
(1)首先建立备份文件存放的地方,我在/home/oracle/下建立了backup文件夹,再建立data和log分别存放数据库备份和日志文件。
(2)编写backup.sh文件:
#!/bin/sh
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export DATA_DIR=/home/oracle/backup/data
export LOGS_DIR=/home/oracle/backup/log
export BACKUPTIME="xzjxj"$(date +%Y-%m-%d_%H:%M:%S)
echo "Starting backup..."
echo "Backup file path $DATA_DIR"
echo "Backup log path $LOGS_DIR"
$ORACLE_HOME/bin/exp xzjxj/19880112@orcl file=$DATA_DIR/$BACKUPTIME.dmp log=$LOGS_DIR/$BACKUPTIME.log
echo "Backup completed."
shell文件的作用是在/home/oracle/backup/data下导出数据库文件,在/home/oracle/backup/log下导出日志文件。这里用到的exp是oracle提供的指令,在$ORACLE_HOME/bin下,该命令有许多参数可以使用,详情可以输入exp help=y来查看。
完成后保存在/home/oracle/backup下,在终端输入sh /home/oracle/backup/backup.sh。可能会遇到EXP-00091错误,那可能是权限不够,要检查建立的data和log文件夹权限。
(3)定义crontab定时执行脚本。接下来在终端输入crontab -u oracle -e(如果权限不够需要切换到root用户下输入)以vi形式打开,按下i,输入:
*/30 * * * * /home/oracle/backup/backup.sh
按下ESC,输入:wq保存退出。这句话的意思是每隔三十分钟执行一次脚本。其中五个星号分别表示分钟、小时、日、月、星期。*/n则表示每隔n(分钟、小时等)执行一次脚本。当看到crontab:installing new crontab表示输入成功。退出后输入crontab -l可以查看刚才输入的任务。crontab会使用sh的方式执行定制脚本,然后以邮件形式将执行结果发送给用户。过一段时间后使用mail命令打开邮件系统可以看到未读邮件,输入n即可打开最新邮件观看命令执行结果。在data和log文件夹也可以看到备份文件了。
注意:如果在邮件中看到bin/sh:/home/oracle/backup/backup.sh permission denied. 说明backup.sh的权限设置不足。此时打开backup.sh的属性,将权限夹页下的“允许以程序执行文件”的复选框勾上即可。
- linux下实现oracle的自动备份
- linux下oracle的自动备份
- LINUX 下 oracle 的自动备份
- Linux下oracle的自动备份(针对oracle用户)
- Windows平台下Oracle 自动备份的实现
- Windows平台下Oracle 自动备份的实现
- Linux下Oracle的数据定时自动备份
- linux系统下oracle数据库的自动备份
- linux平台下的oracle自动备份案例
- windows下实现oracle自动备份 bat
- windows下实现oracle自动备份 bat
- Linux下Oracle自动备份脚本
- Linux下Oracle自动备份脚本
- Linux&Solaris下Oracle自动备份
- linux下oracle自动备份脚本
- linux下oracle数据库自动备份
- linux下oracle自动备份脚本
- linux上实现oracle数据库自动备份
- Win8安装驱动时提示“哈希值不在指定的目录文件中”的解决办法
- PAIP.MYSQL SLEEP 连接太多解决
- Qt邮件菜单
- VC工程的命令行编译法
- 详解 Android 的 Activity 组件
- linux下实现oracle的自动备份
- 我的2013——技术成长,从比赛到ThoughtWorks
- 基于ffmpeg的Android 2.2播放器开源代码
- 15分钟学会使用Git和远程代码库
- Flash 这些知识点你知道多少?
- 冒泡排序
- spring MVC 中json格式数据发送与接收
- at android.widget.AbsListView.obtainView(AbsListView.java:2040)
- const 引用导致问题