密封材料厂家
免费服务热线

Free service

hotline

010-00000000
密封材料厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

oracle自动异地数据备份

发布时间:2020-07-21 19:00:51 阅读: 来源:密封材料厂家

摘要:Oracle自动异地数据备份的模拟环境为一主一备两套Unix操作系统Sun Solaris8系统。数据库的备份将以整个数据库完全模式进行,每晚11点自动执行对数据库的备份。

关键词:Oracle自动异

随着经济飞速发展,部分企业的规模也迅速扩张,企业数据相应逐级分散,向地市公司集中,企业的经营与管理对于信息系统和核心数据的依赖程度越来越高,如何尽可能地保障核心数据的安全与完整显得十分重要。目前多数企业都已经实现了本地磁盘与磁带的双备份,对核心数据的安全起到了很好的保护作用。但本地备份数据一般被保存在机房内,当本地机房物理环境遭到破坏,如突发火灾、地震、洪水等意外事件时,数据就可能遭到破坏。本文结合实际,利用单位机房中现有的存储设备,采用Oracle自动备份和卸自动传输技术,实现了核心Oracle的自动异地数据备份,当本地机房物理环境遭到破坏时,能够最大限度地保护数据。以下为详细的设计思路及实现方法。

一、Oracle自动异地数据备份方案

Oracle自动异地数据备份的模拟环境为一主一备两套Unix操作系统Sun Solaris8系统。数据库的备份将以整个数据库完全模式进行,每晚11点自动执行对数据库的备份,每晚11点20分启动ftp,将备份文件传输到备份主机(备份主机为程序语句中指定IP地址的主机)。

二、自动异地远程数据备份方案的具体实施步骤

1、Oracle自动异地数据备份导出数据库

Oracle数据库有两种备份方式,一种是物理备份方式,一种是逻辑备份方式,物理备份方法可以实现数据库的完整恢复,但数据库必须运行在归挡模式下且需要占用很大的外存空间;采用逻辑备份方式不需要使数据库运行在归挡模式下,备份方法简单,而且可以不用外存。

Oracle数据库的逻辑备份分为三种模式:1、用户备份模式:即u方式,将指定用户的所有对象及数据导出;2、表备份模式:即T方式,将指定表的数据导出;3、完全备份模式:即Full方式,将数据库中的所有对象导出。

我们将使用Export备份命令,Export命令常用于在两个数据库之间传送数据以及对数据库进行备份,Export命令导出的dump文件是二进制形式.而且dump文件在所有的Oracle支持的操作系统下都是二进制的形式,Export命令导出的dump文件包含两种基本数据类型:ddl型和data型,dump文件中包含了所有数据库恢复时重新刨建data dictionary的ddl语句。这些语句的格式基本上是可读的,但系统管理员不能对ddl语句进行手动编辑,Oracle明确警告不支持对ddl文本的编辑,因为这样会损坏文件。当然dump文件中的另一种类型data型数据,也是不可进行编辑修改的,否则也将导致文件不能恢复。Export命令导出的dump文件在恢复时向上兼容,即低版本Oracle,的dump文件可以导入到高版本Oracle,数据库中,但是版本的级别一定要相差较小,如果版本差别太大。比如Oracle5到Oracle8,那兼容性就无法保证。Export命令通常有三种模式:整个数据库模式、用户模式、表模式。本文中的备份选用整个数据库模式。使用exp命令将会把数据备份成二进制文件,Export的使用格式为:exp userid file,userid的格式为:username/userpassword,即Oracle数据库中的用户名,口令,userid必须为exp的第一个参数,file指定备份文件将要存放的位置及名称。

设定数据库的用户名为Oracle,口令为123456,新建备份目录/localbak,脚本内容如下:

exp userid=Oracle/123456

direct=y full=y

file=G:Oracledatafull_database_p

log=G:Oracledatafull_g

localbak编写完成后,用“chmod+x localbak”命令确认可执行权限。

2、Orade自动异地数据备份自动数据传榆

异地传输数据通常使用FTP连接,使用FTP连接意味着必须经过用户名密码校验,即需要我们手动输入目的地主机的IP地址、用户名、口令等。显然这种手动方式不能满足自动备份和自动传输的要求。那么如何解决FTP自动传输中的密码校验问题呢,我们只需要在Sun Solaris8系统里编写一个.netrc的文件。请注意这个文件必须存放在启动FTP传输任务的主机的用户注册目录中并且后缀名必须是.netrc;另外还有一点也很重要,那就是.netrc文件的权限,.netrc文件的权限应禁止备份用户之外的其它用户访问。这样,每次备份用户启动FTP传输的时候,系统就会首先在该用户的注册目录中搜索后缀名为.netrc的文件,如果有*.netrc文件,Oracle数据库将自动执行该文件,实现自动传输,否则,系统依旧会提示用户输入IP地址、用户名、口令等。

.netrc文件内容如下:

machine host

login ftpuser

password ftpuser

macdef init#定义一个名为init的宏,它将在注册进程的最后被执行

bin

lcd /localbak#进入本地工作目录/localbak

cd /remotebak#进人远程备份主机目录/remotebak

mput *#将/localbak目录下的所有文件传输至备份主机

bye# 退出FTP会话进程

.netrc文件编写完成后,使用chmod命令确认可执行权限。[page]  3、Oracle自动异地远程数据备份启动备份进程

UNIX平台下,Cron是由/ere/cal启动执行的一个永久进程。它能够自动完成对/var/spool/emrdemntabs/目录中文件的检查,按照规定的时间执行任务。用户使用Crontab命令建立的文件保存在/var/spool/emn/emntabs/目录中。这个Crontab文件的文件名与用户名保持一致,本文设定的用户名为Oracle,所以Cmntab命令建立的文件名也是Oracle。

crontab命令的常用格式为:crontab-l:显示用户的crontab文件的内容;eronl/tb-r:从erontabs目录中删除用户的crontab文件;

Crontab文件的参数有以下几个:分钟、小时、日、月、星期以及操作命令,这六个参数是分布在同一行中的六个域,按照顺序依次是minutes、hours、day ofmonth、month、day of week、command,各域之间用空格或Tab分开,各域的含义如下:

minutes:分钟.用来确定某分开始,取值范围:0到59

hours:小时,用来确定某时开始。取值范围:0到23

day of month:日子,用来确定某日期,取值范围:1到31

month:月份,用来确定某月份,取值范围:1到12

day of week:星期。用来确定星期几,取值范围:0到6,0表示星期日,1到6依次表示星期一到星期六。

command:所要运行的命令,取值是操作命令

在一行中,域是可以缺省的,如果一行语句包含了由逗号隔开的一系列时间域,这些参数同时有效,也就是说命令将在这些参数指定的时刻执行某操作。如果某个时间域的值是由连字符隔开的两个数字,那就表示命令可以在两个数字(含两数)限定的时间范围内执行。如果某个时间域缺省,则表示命令可以在该域的取值范围内的所有可能值限定的时间执行。

了解了Crontab语句的基本知识,现在,我们就来编写用以启动Oracle自动异地数据备份进程的文件。这里需要强调一下,这个文件只能在Oracle用户名下用erontab-e命令来编辑,否则不能被定时执行,文件名设为Oracle,文件将被放在/var/spool/emn/emntabs目录下。编辑完成后,可以在Oracle的$提示符下,用crontab-l命令来查看是否已增加了此文件。

cron表中的内容如下:

00 23 ***/export/home/oracle/remotebak#每晚11点对数据库执行备份

20 23***ftp-i x.x.x.x#每晚11点20分启动远程传输,将文件备份到另一台主机上

经过以上这几个步骤的设置后,主系统就可以按照我们限定的时间。备份模式、文件格式及传输方式每天定时备份数据库,并定时把备份数据传到备份机了。这套方案较好地实现了Oracle自动异地数据备份,本地主机一旦出现故障,数据已经有了可靠备份,随时可以将数据库恢复到最近的某时间点上。同时,Oracle自动异地数据备份方案的实现也大大减轻了系统管理员烦琐、重复的备份工作。

责编:fanwei

福州隆鼻

福州隆胸

哈尔滨隆胸价格

长春热玛吉