正在看的ORACLE教程是:数据库Oracle数据的异地的自动备份
在大型商业应用中
数据的异地容灾备份十分重要
也必不可少
笔者根据自己的实践经验
设计了一套简洁地实现异地数据自动备份的方法
可供数据库管理人员参考
文中所有的程序都经过测试
运行良好
这里模拟的异地运行环境为一主一备两套Sun Solaris系统
所采用的备份方法为Oracle数据库提供的标准备份
export
相关命令
文中主要用到三个命令这里先单独介绍一下:
export: 将数据库中数据备份成一个二进制系统文件它有三种模式: 用户模式表模式整个数据库模式还可分为三种备份类型完全型积累型增量型本文以整个数据库模式下的完全型为例说明export使用格式为
exp userid file
其中userid的用法为username/userpassword即Oracle中的用户名/口令userid必须为exp的第一个参数file指备份文件所放位置及名称
ftp: 一般情况下可通过交互方式实现两台主机间的数据传输即需要手工输入目标主机的IP地址用户名口令等但是当用户使用ftp命令时系统将会先在该用户的注册目录中寻rc文件并首先执行该文件这样我们可以通过编写一rc的文件来达到自动备份的目的要注意该文件必须命名rc且必须存放在启动ftp命令主机上的用户注册目录里ftp常用选项
i进行多文件传送时关闭交互提示
n在连接之后不进行自动登录
本文使用i选项以关闭交互提示
crontab: cron是一个永久进程它由/etc/rclocal启动执行cron检查/var/spool/cron/crontabs/目录中的文件找到所要执行的任务和执行任务的时间并自动完成该目录中文件由crontab命令建立用户所建立的crontab文件存于/var/spool/cron/crontabs中其文件名与用户名一致本文使用crontab的用户为Oracle所建立的文件名也为Oracle
cron使用者的权限记载在下列两个文件中: /usr/var/adm/cron/crondeny和/usr/var/adm/cron/cronallow前面的文件中所列的用户不允许使用crontab命令后一文件中所列的用户允许使用crontab命令crontab命令的常用格式为
crontab l显示用户的crontab文件的内容
crontab r从crontabs目录中删除用户的crontab文件
crontab e编辑用户的crontab文件
crontab文件每行中有个字段前个为时间设定段第个为所要执行的命令时间段分别为 minuteshoursday of monthmonthday of week字段之间用空格或Tab分开字段如果为*表示该字段在所有可能的取值范围内取值; 如果一个字段是由连字符隔开的两个数字表明命令可以在两个数字之间的范围内执行
备份数据库
设定数据库的拥有者为Oracle用户名为mistest其口令为test新建备份目录为/export/home/oracle/backup建立一个命名为testbackup的备份文件文件内容如下
ORACLEHOME=/export/home/oracle/;export ORACLEHOME
ORACLESID=ora;export ORACLESID
rm /export/home/oracle/backup/*
rq=丶date +%m%d丶
/export/home/oracle//bin/exp mistest/test file=/export/home/oracle
/backup/exp$rqdmp log=/exoport/home/oracle/backup/exp$rqlog
说明前两句对Oracle数据库初始化第条语句清空备份目录第条语句建立一个取当前日期的变量以便在最后一条语句的备份文件名里含有当前日期信息