在大型商业应用中,数据的异地容灾备份十分重要,也必不可少。笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数据库提供的标准备份:export。
相关命令
文中主要用到三个命令,这里先单独介绍一下:
export: 将数据库中数据备份成一个二进制系统文件,它有三种模式: 用户模式、表模式、整个数据库模式。还可分为三种备份类型:完全型、积累型、增量型。本文以整个数据库模式下的完全型为例说明。export使用格式为:
exp userid file
其中:userid的用法为username/userpassword,即Oracle中的用户名/口令。userid必须为exp的第一个参数,file指备份文件所放位置及名称。
ftp: 一般情况下可通过交互方式实现两台主机间的数据传输,即需要手工输入目标主机的IP地址、用户名、口令等。但是当用户使用ftp命令时,系统将会先在该用户的注册目录中寻找.netrc文件,并首先执行该文件。这样,我们可以通过编写一个.netrc的文件来达到自动备份的目的。要注意该文件必须命名为.netrc,且必须存放在启动ftp命令主机上的用户注册目录里。ftp常用选项:
-i:进行多文件传送时关闭交互提示;
-n:在连接之后不进行自动登录。
本文使用“-i”选项,以关闭交互提示。
crontab: cron是一个永久进程,它由/etc/rc.local启动执行。cron检查/var/spool/cron/crontabs/目录中的文件,找到所要执行的任务和执行任务的时间,并自动完成。该目录中文件由crontab命令建立。用户所建立的crontab文件存于/var/spool/cron/crontabs中,其文件名与用户名一致,本文使用crontab的用户为Oracle,所建立的文件名也为Oracle。
cron使用者的权限记载在下列两个文件中: /usr/var/adm/cron/cron.deny和/usr/var/adm/cron/cron.allow。前面的文件中所列的用户不允许使用crontab命令;后一文件中所列的用户允许使用crontab命令。crontab命令的常用格式为:
crontab -l:显示用户的crontab文件的内容;
crontab -r:从crontabs目录中删除用户的crontab文件;
crontab -e:编辑用户的crontab文件。
crontab文件每行中有6个字段,前5个为时间设定段,第6个为所要执行的命令。时间段分别为: minutes、hours、day of month、month、day of week,字段之间用空格或Tab分开。字段如果为“*”,表示该字段在所有可能的取值范围内取值; 如果一个字段是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行。
备份数据库
设定数据库的拥有者为Oracle,用户名为mistest,其口令为test,新建备份目录为/export/home/oracle/backup。建立一个命名为testbackup的备份文件,文件内容如下:
ORACLE-HOME=/export/home/oracle/815;export ORACLE-HOME
ORACLE-SID=ora815;export ORACLE-SID
rm /export/home/oracle/backup/*
rq=丶date +“%m%d”丶
/export/home/oracle/815/bin/exp mistest/test file=/export/home/oracle
/backup/exp$rq.dmp log=/exoport/home/oracle/backup/exp$rq.log
说明:前两句对Oracle数据库初始化,第3条语句清空备份目录,第4条语句建立一个取当前日期的变量,以便在最后一条语句的备份文件名里含有当前日期信息。
testbackup编写完成后,用“chmod +x testbackup”命令授予它可执行权限。[NextPage]
异地传输
在备份主机里建立一个备份目录:/data/oradata/newbackup, 在本地主机Oracle用户的注册目录/export/home/oracle里建立一个.netrc文件。设定好备份主机的IP地址,备份主机上的用户为oraclebk, 口令为testbk2。.netrc文件内容为:
machine x.x.x..x
login oraclebk
password testbk2
macdef init
bin
lcd /export/home/oracle/backup
cd /data/oradata/backup
mput *
bye
说明: 前3条语句完成在备份主机上的登录,第4条语句定义一个名为init的宏,第5条语句表示以二进制传输,第6条语句表示进入本地工作目录,第7条语句表示进入备份主机目录,第8条语句完成将本地主机/export/home/oracle/backup目录下的所有文件传输至备份主机/data/oradata/backup目录下,最后一条语句退出ftp会话进程。
.netrc文件编写完成后,用命令“chmod 600
.netrc”使该文件只能被该用户所访问。
自动执行
我们以oracle用户登录本地主机,用“crontab -e”编写crontab文件用以启动自动备份进程。oracle文件内容如下:
10 23 * * * /export/home/oracle/testbackup
30 23 * * * ftp -i x.x.x.x
说明:第1条语句指定每天自动在23点10分执行对数据库的备份,第2条语句指定每天自动在23点半启动ftp,将备份文件传输到备份主机(备份主机为符合语句中指定IP地址的主机)。
Oracle文件只能在Oracle用户名下用“crontab -e”命令来编辑。编辑完成后,可以在用“crontab-l”命令来查看crontab文件内容,同时在/var/spool/cron/crontabs目录下查看是否增加了一个Oracle文件。
至此,本地主机可以每天定时备份数据库,并定时把备份数据传到备份主机。这样,较好地实现了Oracle数据异地自动备份,本地主机如果有什么故障,数据有了可靠备份,同时,在一定程度上也减轻了系统管理人员烦琐、重复的备份工作。
分享到:
相关推荐
Oracle数据库异地自动备份是指将Oracle数据库备份到远程服务器或磁带上,以确保数据的安全和可靠性。本文将结合实践经验,讨论UNIX环境下Oracle数据库的自动备份实现方法。 一、数据库export备份 数据库export备份...
相信为数不少的系统管理员每天都在做着同一样的工作——对数据进行备份。一旦哪一天疏忽了, 而这一天系统又恰恰发生了故障,...本文结合实践 经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用。
该教程旨在教你如何使用ORACLE RMAN实现异地备份,解决了由于数据量急剧增加、备份和恢复的困难问题。通过使用RMAN和EXP/IMP工具,用户可以实现本地数据库的异地备份,避免服务器空间不足的问题。 知识点一:异地...
Oracle的异地自动备份是数据库管理中的重要环节,特别是在大型商业应用中,确保数据的安全和异地容灾备份至关重要。本文将详细介绍如何利用Oracle的自动备份功能和FTP自动传输技术,实现核心Oracle数据库的远程异地...
Oracle数据库异地自动备份的实现是企业确保数据安全和业务连续性的重要策略。本文主要探讨了在Windows环境下,如何结合任务计划和Oracle数据库的导出功能,实现周期性的异地自动备份。 首先,文章强调了自然灾害和...
Oracle的异地数据备份主要涉及两个关键点:一是自动备份机制,二是远程数据传输。在本文的实例中,采用的是基于Unix操作系统Sun Solaris8的一主一备架构。数据库的备份以完全模式进行,每天晚上11点自动执行,然后在...
功能说明: 备份oracle数据库,并压缩打包,传至远程FTP服务器,做到本地异地同时备份,可自动清理本地过期备份,自动保留N个最新备份(针对此种备份,不针对文件夹),老的备份自动删除,将此文件加入系统任务计划,...
总结来说,实现Oracle数据的异地自动备份,主要涉及以下步骤: 1. 配置Oracle `export`工具进行数据库备份。 2. 创建并配置`.netrc`文件,自动化FTP传输。 3. 使用`crontab`设置定时任务,控制备份和传输的时间。 4....
Linux 下 Oracle 的数据定时自动备份 Linux 下 Oracle 的数据定时自动备份是系统管理员每天都在做着同一样的工作。为避免数据丢失,需要进行数据备份。本文将结合实践经验谈一谈 UNIX 环境下 Oracle 数据库的自动...
"oracle数据库自动备份上传至FTP服务器" Oracle 数据库自动备份上传至 FTP 服务器是指通过 Shell 脚本来实现对 Oracle 数据库的自动备份,并将备份文件上传至 FTP 服务器上,以防服务器出现故障,导致数据库无法...
Oracle数据库异地自动备份是IT系统管理中至关重要的环节,它确保了数据的安全性和灾难恢复能力。本教程将详细介绍如何在UNIX环境下配置Oracle数据库的每日自动备份,并将其复制到异地存储,以实现全面的数据保护策略...
通过上述步骤,我们可以构建一个完整的Oracle异地自动备份系统,实现定期备份数据库并在远程位置存储,以确保数据安全。这个方案的关键在于正确配置备份脚本、FTP传输和定时任务调度,同时确保所有涉及的安全性和...
【Oracle异地数据自动备份方案详解】 Oracle数据库是企业级的重要数据存储系统,为了确保数据的安全性和可用性,定期进行异地备份至关重要。本方案主要利用`export`、`ftp`和`crontab`三个命令来实现Oracle数据库的...
通过以上步骤,Oracle 数据库的异地自动备份方案能够确保即使在本地服务器出现问题时,也能从远程备份恢复数据,从而保证业务连续性和数据安全性。在实际应用中,应根据具体环境调整参数和脚本,以适应不同的数据库...
笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方案,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为...
expdp 是 Oracle 提供的一种数据导出工具,用于将数据库中的数据导出到一个文件中,以便于数据的备份和迁移。下面将详细介绍 expdp 异地备份的全过程。 安装数据库 在备份服务器上安装与生产数据库版本一致的...
数据库Oracle数据的异地自动备份是确保企业数据安全和业务连续性的重要策略。Oracle数据库作为广泛使用的数据库管理系统,提供了多种方式进行数据备份,其中包括使用export工具进行的逻辑备份。本教程将介绍如何结合...
3. **异地备份**:除了本地备份外,还应该考虑异地备份,增加数据的安全性。 4. **自动化管理**:通过脚本或工具实现备份过程的自动化管理,减少人工干预。 综上所述,备份与恢复Oracle数据库是一项复杂但极其重要...