Oracle数据的异地自动备份

在大型商业应用中,数据的异地容灾备份十分重要,也必不可少。笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套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”命令授予它可执行权限。

时间: 2024-10-21 16:11:48

Oracle数据的异地自动备份的相关文章

数据库Oracle数据的异地的自动备份_oracle

正在看的ORACLE教程是:数据库Oracle数据的异地的自动备份.在大型商业应用中,数据的异地容灾备份十分重要,也必不可少.笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考.文中所有的程序都经过测试,运行良好.这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数据库提供的标准备份:export. 相关命令 文中主要用到三个命令,这里先单独介绍一下: export: 将数据库中数据备份成一个二进制系统文件,它有

不怕丢数据 VPS定时自动备份终极指南

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 近半年,先后丢失5个网站数据,大多都是由于VPS硬盘损坏造成,RAID10为了速度是很不保险的 最近的2次分别 是DirectSpace 和 BuyVM 所以,必需备份,作好VPS随时准备丢失数据的准备 昨天花了一整天,把目前所有的站做了每日同步,以下分享给大家实际操作方法. 转载请注明原文出处 http://www.21andy.com/b

Navicat For MySQL 异地自动备份数据库方法

启动navicat软件,使用"链接" ,连接mysql数据库,使用前请保证防火墙可以通过 随后弹出,随意起一个"连接名";输入"主机名/ip"这里填写mysql数据库所在服务器的ip地址,用户名密码为mysql数据库的root和密码,一般情况下为xinwei. 这样左边就可以列出数据库"连接名"的快捷方式,双击以后可以列出这个mysql里面所有的数据库,等同于"show databases"命令.如图172

Navicat异地自动备份MySQL方法详解(图文)_Mysql

启动navicat软件,使用"链接" ,连接mysql数据库,使用前请保证防火墙可以通过. Navicat For MySQL下载地址: 下载地址 http://www.jb51.net/database/2223.html 随后弹出,随意起一个"连接名";输入"主机名/ip"这里填写mysql数据库所在服务器的ip地址,用户名密码为mysql数据库的root和密码,一般情况下为xinwei. 这样左边就可以列出数据库"连接名"

SQL Server2005异地自动备份方法_mssql2005

最近公司刚刚搭建了一台安防综合平台,综合平台服务器上安装了SQL Server 2005,由于没有备份服务器,所以只能异地备份数据库了.在网上找了很多的资料,自己整合了一下 . 一.开启SQL Agent服务,并设置为"自动" 二.备份 1.SQL代理-作业-新建作业,这是在SQL2005下的操作,其实SQL2000也是大同小异(管理→SQL Server代理→右键作业→新建作业)   图1 2.在常规中输入名字  图2 3."步骤"项->新建,输入名称,选中

网站数据自动备份方法_服务器其它

近来由于国家打击,所以各地难免会出现封机房.断网的情况,针对这种情况,站长们最需要的就是能及时备份自己的数据,本文是根据作者自己多年的维护经验,来和大家分享下网站数据自动备份的一些经验. 目前站长们大多使用的网站程序无外乎ASP\asp.net\php\jsp 数据库的话,大多是access\sqlserver\mysql 我们分2种情况来说明下. 对于win服务器下的自动数据备份,网站文件,自然是比较好备份的,那么如果数据库也可以自动备份,那就基本实现完美自动备份. 如果你有独立服务器,那么这

实现Oracle异地数据自动备份的方案

在大型商业应用中,数据的异地容灾备份十分重要,也必不可少.笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方案,可供数据库管理人员参考.文中所有的程序都经过测试,运行良好.这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数据库提供的标准备份:export. 相关命令 文中主要用到三个命令,这里先单独介绍一下: export: 将数据库中数据备份成一个二进制系统文件,它有三种模式: 用户模式.表模式.整个数据库模式.还可分为三种备份类型:

实现Oracle异地数据自动备份方案

相关命令 文中主要用到三个命令,这里先单独介绍一下: export: 将数据库中数据备份成一个二进制系统文件,它有三种模式: 用户模式.表模式.整个数据库模式.还可分为三种备份类型:完全型.积累型.增量型.本文以整个数据库模式下的完全型为例说明.export使用格式为:exp userid file. 其中:userid的用法为username/userpassword,即Oracle中的用户名/口令.userid必须为exp的第一个参数,file指备份文件所放位置及名称. ftp:一般情况下可

Oracle自动备份数据

Oracle自动备份数据 相信为数不少的系统管理员每天都在做着同一样的工作--对数据进行备份.一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了.假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用. 我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上,为此我们可进行如下操作: 一.