Oracle数据库异地自动备份

合集下载

Oracle数据库异地备份

Oracle数据库异地备份

Linux上实现oracle双机实时备份DataGuard更改机器名Hostname 机器名(自己启,两台机器不能一样,建议用dataguard1和dataguard2) vi /etc/sysconfig/network 文件里面的hostname 然后vi /etc/hosts 添加本地hosts安装数据库在RHEL5下安装oracle 10g1、添加组和用户# /usr/sbin/groupadd oinstall# /usr/sbin/groupadd dba# /usr/sbin/useradd -g oinstall -G dba oracle# passwd oracle2、添加以下内容到/etc/sysctl.confkernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 1048576net.core.rmem_max = 1048576net.core.wmem_default = 262144net.core.wmem_max = 2621443、添加以下内容到/etc/security/limits.conforacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 655364、添加以下内容到/etc/pam.d/loginsession required /lib/security/pam_limits.sosession required pam_limits.so5、添加以下内容到/etc/profileif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi6、创建安装目录# mkdir -p /u01/app/oracle# chown -R oracle:oinstall /u01/app/oracle# chmod -R 775 /u01/app/oracle7、修改oracle环境变量,首先进入oracle用户模式,vi ~/.bash_profile ,在里面加入以下内容export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1export ORACLE_SID=DB99export PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/libexport LC_CTYPE=en_US.UTF-8export NLS_LANG=AMERICAN_AMERICA.ZHS16GBKexport LANG=AMERICAN_AMERICA.ZHS16GBKexport LC_ALL=C8、安装数据库# gunzip 10201_database_linux_x86_64.cpio.gz (64位)# cpio -idmv < 10201_database_linux_x86_64.cpio# vi database/install/oraparam.ini[Certified Versions]Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asi anux-2]再添加:[Linux-redhat-5.0-optional]TEMP_SPACE=80SWAP_SPACE=150MIN_DISPLAY_COLORS=256vi /etc/sysconfig/vncservers添加VNCSERVERS="1:oracle"VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost" 使用oracle用户(su –oracle)启动vnc服务(vncserver) 将.vnc/.xstart中的twm &改成gnome-session &,然后用vnc viewer连接服务器运行database 目录下的runinstaller 第一个界面选择Advanced Installation 第三个界面需要在语言选项中添加中文支持在提示是否创建新库时,选择install database software only 安装结束时注意安装程序会提示用root用户执行下面两条命令: /u01/app/oracle/oraInventory/orainstRoot.sh/u01/app/oracle/product/10.2.0/db_1/root.sh 主数据库(简称dbtest1)备用数据库(简称dbtest2) 在dbtest1上安装数据库环境并创建数据库(数据库sid为DB99,安装目录为/u01/app/) 在dbtest2上只安装数据库环境,不创建数据库。

ORACLE数据库自动备份_详细步骤

ORACLE数据库自动备份_详细步骤

ORACLE数据库自动备份_详细步骤1.确定备份策略:首先,需要确定数据库备份的频率和保留备份的时间长度。

备份频率可以是每天、每周或每月,而保留备份的时间长度可以是几天、几周或几个月。

2.创建备份脚本:接下来,需要编写一个脚本来执行数据库备份操作。

在脚本中,需要包含备份的类型(如完全备份、增量备份或差异备份)、备份存储位置、备份的文件名等信息。

3. 创建备份存储目录:在执行备份操作之前,需要创建一个用于存储备份文件的目录。

可以使用ORACLE的命令行工具或图形界面管理工具(如Enterprise Manager)来创建目录。

4. 安排计划任务:为了自动执行备份脚本,需要在操作系统上设置一个计划任务。

可以使用操作系统提供的任务调度工具(如cron或Windows Task Scheduler)来设置计划任务。

5. 测试备份脚本:在设置计划任务之前,建议先手动运行备份脚本来测试备份过程是否正常工作。

可以使用SQL*Plus工具来运行脚本并检查备份文件是否生成。

6.设置计划任务:在操作系统上设置一个计划任务来定期执行备份脚本。

可以指定备份的时间、日期和频率。

7. 监控备份过程:在执行备份操作期间,建议监控备份过程以确保一切正常。

可以查看备份日志或使用ORACLE的监控工具(如Grid Control)来监控备份活动。

8.保护备份文件:备份文件包含关键的数据库信息,因此需要采取措施保护备份文件免受损坏或恶意访问。

可以使用文件系统的权限设置或加密工具来保护备份文件。

9.恢复测试:定期测试备份恢复过程以确保备份文件可以成功恢复数据库。

可以使用数据库的恢复工具(如RMAN)来执行备份恢复操作,并验证恢复的数据库是否与原始数据库一致。

10.文件清理:根据备份策略,定期清理过期的备份文件,以释放存储空间并避免备份文件过多的问题。

总结:ORACLE数据库自动备份是保护数据库的重要步骤之一、通过创建备份脚本、设置计划任务和监控备份过程,可以确保数据库的数据不会丢失。

Oracle11gR2RMAN配置控制文件自动备份(controlfileautobackup)

Oracle11gR2RMAN配置控制文件自动备份(controlfileautobackup)

Oracle11gR2RMAN配置控制⽂件⾃动备份(controlfileautobackup)通过在 RMAN 中配置 control file autobackup,RMAN 会⾃动备份控制⽂件和参数⽂件到预先设定好的路径。

触发情况:1、当数据库的结构发⽣改变时(数据库运⾏在归档模式)2、当完成 RMAN 备份后好处:即使数据库丢失了控制⽂件和恢复⽬录(recovery catalog),控制⽂件和参数⽂件也可以从⾃动备份的控制⽂件中进⾏恢复,让数据库多了⼀层保护,⽽且从autobackup中恢复控制⽂件和参数⽂件更加快速⽅便。

设置⽅法:查看现有的 RMAN 配置参数,可以看到没有启⽤控制⽂件⾃动备份,参数依旧是默认值[oracle@ATFDB1 admin]$ rman target /Recovery Manager: Release 11.2.0.3.0 - Production on Wed Dec 9 09:19:07 2015Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.connected to target database: FIRE (DBID=917673527)RMAN> show all;using target database control file instead of recovery catalogRMAN configuration parameters for database with db_unique_name FIRE are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u02/app/oracle/product/11.2.0/db_1/dbs/snapcf_fire.f'; # default启⽤控制⽂件⾃动备份特性RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;new RMAN configuration parameters:CONFIGURE CONTROLFILE AUTOBACKUP ON;new RMAN configuration parameters are successfully stored配置控制⽂件⾃动备份的路径和格式RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/ORADATA/controlfile/cf_%F';new RMAN configuration parameters:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/ORADATA/controlfile/cf_%F';new RMAN configuration parameters are successfully stored查看重新设置的参数RMAN> show all;RMAN configuration parameters for database with db_unique_name FIRE are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/ORADATA/controlfile/cf_%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u02/app/oracle/product/11.2.0/db_1/dbs/snapcf_fire.f'; # default通过 RMAN 备份数据库,查看是否⽣成控制⽂件⾃动备份。

Windows下Oracle自动异地备份方法

Windows下Oracle自动异地备份方法

Windows下Oracle自动异地备份方法2012-6-27方法一(利用ORACLE客户端)一、编写脚本文件:Oracle自动导出脚本(Windows下,导出文件名自动加上日期和时间)只适用于Windows 客户端,通过exp命令完成数据库导出。

导出文件有以下特点:1.导出的文件名自动添加上日期和时间,避免了导出文件的混乱。

2.导出的文件自动通过RAR压缩,同时删除压缩前的文件(需要导出端Windows系统安装好WinRAR),通过WinRAR压缩,Oracle的dmp文件压缩比例很高。

3.支持windows的任务计划。

4.将导出的日志和dmp文件共同打包,避免忘记exp导出的内容。

导出条件:导出端Windows必须安装好Oracle客户端或exp.exe文件,并且配置好Net Manager(指定数据库连接符pcchina)。

以下是具体的脚本,命名为:oracle_bak.bat--------------------------------------------------------------------------------------------------@echo offset RAR_CMD="C:\Program Files\WinRAR\WinRAR.exe"set USERNAME=xxxset PASSWORD=yyyset ORA_SID=orclset COMMAND=%USERNAME%/%PASSWORD%@%ORA_SID%set BACKUPPATH=D:/set TIMESTYLE=%Date:~0,4%年%Date:~5,2%月%Date:~8,2%日%time:~0,2%时%time:~3,2%分set FILEPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.dmpset LOGPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.logset RARPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.rarecho ============================================echo 正在备份Oracle数据库,请稍等......echo ============================================exp %COMMAND% file=%FILEPATH% full=y log=%LOGPATH%echo 任务完成!echo ============================================echo 压缩备份文件,请稍等......echo ============================================%RAR_CMD% a -df "%RARPATH%" "%FILEPATH%" "%LOGPATH%"echo 压缩完成!--------------------------------------------------------------------------------------------------脚本结束。

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

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

数据库Oracle数据的异地的⾃动备份正在看的ORACLE教程是:数据库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命令建⽴。

通过NFS实现Informix-Online数据库异地备份

通过NFS实现Informix-Online数据库异地备份

通过NFS实现Informix-Online数据库异地备份
袁辉勇
【期刊名称】《湖南人文科技学院学报》
【年(卷),期】2006(000)003
【摘要】介绍了NFS(网络文件系统)的原理和在SCO UNIX中配置NFS的方法,并给出了一个利用NFS对Informix-Online数据库进行异地备份的实例.由于数据异地备份是保证数据安全的基本要求,因此,该方法对需要异地备份数据的应用系统极具实用价值.
【总页数】3页(P68-70)
【作者】袁辉勇
【作者单位】湖南人文科技学院计算机系,湖南,娄底,41700
【正文语种】中文
【中图分类】TP311.131
【相关文献】
1.Sqlserve数据库本机及异地备份的实现 [J], 黄晶慧;张冬
2.利用批处理实现数据库的自动异地备份 [J], 仝虎
3.Oracle数据库实现自动异地备份 [J], 郭朋;解宝琦
4.浅析企业数据库备份方式和批处理实现自动异地备份 [J], 许锦丰;
5.如何实现INFORMIX-ONLINE数据库的安全审计功能 [J], 王成运
因版权原因,仅展示原文概要,查看原文内容请购买。

企业 Oracle 数据库自动异地备份


似于一个网络通道功能。F T P经常 用于进 行远 程数据的传输。F T P定时传输方案采用定时传
2 . 2 . 1 工作模式
输 技术 ,利用 F T P的 网络传 输功能 来实行分 类可 以分 时传输技术 ,先在本地主机完成 o r a c l e 数据库
安全 ,但 是这 并 不能从 根 本上 解 决 问题 。一旦 发生 火 灾或 计算 机 被 盗 则 仍 会 使 得 系统 数 据 被 破 坏 因此 ,对 系统 数据 进 行异 地 容 灾 备 份是 非 常 重要 的。利 用信 息 系 统 的各 种 资 源,对数 据 库进 行 简 便 、快 速 、安 全 的数 据 可异 地备 份 是 一 个重要 的课 题 。本 文在对 数据 可 异地备 份 的原理 和操 作 方 法 的研 究基 础上 ,对 系统 的需 求 进 行 分 析 ,设 计 了 两 套 可 行 的 o r a e l e 数据 库异地备份 方案,进 步介绍企 业 O r a c l e数据库 自动 异地备份 的相 关问题 。
为定 时备份和实 时备份 。所 以数据在进行异地 的本地备份功能 ,然后在本地主机与远程备份 备份 时也 可以选择 定时备份和实 时备份两种模 机 之间完成备份数据 的远程传输功能 ,最后要
式。实时模 式是在任何 时刻都进行数据库 的异 实现定时的执行这两个功能。
地备 份,在 数据 库对其数据进行 操作 时 , 数据 库的异地 备份也同时在进行。定时模 式是在 指
技术是信息系统可靠性的有效保证 ,利用现有 的软 、硬件技术进行最大程度和效率的数据库
数据 库异 地备 份 的工作原 理 由其工 作模 异地备份具有非常重要 的意义 。本文通过对数
1引 言
随着 社会 的发展 和信 息 技术 的进 步,计

RMAN异地备份方案

RMAN 本地数据库异地备份测试方案一.分析:RMAN并不支持客户端连接服务器进行备份,所以仍然需要在服务器上使用RMAN备份,客户要求备份至异地;二.环境:1.两台win2003 Enterprise edition:主机名si_vm_w2k3,ip:192.168.2.204;备机名PC2ip:192.168.2.2052.在si_vm_w2k3上和PC2上同时安装oracle 10.2.0.1.0;3.ORACLE_HOME=C:\oracle\product\10.2.0\db_1.ORADA TA=C:\oracle\product\10.2.0\oradata\lichao;三.操作步骤:1,在PC2上创建共享目录RMAN,在RMAN目录里建子目录logs,并授予administrator权限,保证administrator具备口令为Root1!口令不能为空;2,在si_vm_w2k3确保administrator的口令与PC2的administrator口令相同且为Root1!;3,在si_vm_w2k3映射\\PC2\RMAN目录为Z盘,并明确登录用户为administrator及口令;4,在si_vm_w2k3机器修改ORACLE的两个服务OracleTNSListerner和OracleServiceLICHAO为账户登录:用户名为administrator,口令为Root1!;5,重启si_vm_w2k3机器的两个服务;备份可以备份在本地,有必要时再传到PC2上。

创建复制数据库:1,创建口令文件orapwd file=c:\oracle\product\10.2.0\db_1\database\pwdlichao.ora password=admin entries=102,创建辅助数据库实例:Oradim –new –sid test4.配置监听程序在这里我们需要配置的监听有两个分别是原数据库和复制数据库的监听TEST实例的监听Listener.ora:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = test)(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)(SID_NAME = test)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.205)(PORT = 1521))))Tnsname.ora:lichao =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.204)(PORT = 1521)) )(CONNECT_DATA =(SID = lichao)))test =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.205)(PORT = 1521)) )(CONNECT_DATA =(SID = test)))lichao实例监听配置:Listener.ora:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = test)(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)(SID_NAME = lichao)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.204)(PORT = 1521))))Tnsname.ora:lichao =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.204)(PORT = 1521)))(CONNECT_DATA =(SID = lichao)))test =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.205)(PORT = 1521)))(CONNECT_DATA =(SID = test)))配置完监听记得重新启动监听的服务进程,并使用lsnrctl stop、lsnrctl start来重新启动监听5,创建辅助(复制)数据库的目录6,创建辅助(复制)数据库的参数文件主库执行Create pfile from spfile复制pfile到复制数据库,修改相关参数:Adump、bdump、cdump、udump、ddump、db_name和控制文件路径。

关于Oracle自动异地数据备份的研究

异地数据备 份 , 当本地机房 物理环境遭 到破坏 时 , 能够最 大限度地保 护数据 。以下为详细 的设计思路及实现方法。
Orc al e自动 异 地 数 据 备 份 方 案
laa o l k编写完 成后 , “h o + la ” 令确 认 ch 用 e m d xl b k 命  ̄a
dm u p文件可 以导入 到高版本 O al rc e数据库中 ,但是版本 的级别一定要相 差较小 , 如果版 本差别太大 , 比如 Oal5 rc e
哩 对信息系统和核心数据 的依赖程度越来越高 。 对数据 进
行异地备份十分必要 。 本文 以一个实例说 明了 O al rc e自动 异地数据备份具体实现过 程。 关键字 : rc ; Oal 异地 ; e 数据备份
关于 Orce自动异地 数据备份 的研 究 l a
孔 中明
( 晋城 职 业技 术 学 院 , 西 晋 城 0 8 o ) 山 4 o O
dt型 ,u p文件 中包含 了所有 数据 库恢复 时重新 创建 a a dm
dt ii a aa co r d l d tn y的 d 语句 , 些语句 的格 式基本上 是可读 这 的 , 系统管理员不 能对 d l 但 d 语句进行手动编辑 , rc O al e明
可 能 地 保 障 核 心 数据 的安 全 与 完 整 显 得 十 分 重 要 。目前 多
式为 :sra eue as od 即 O al ue m /sr s r , rc n p w e数据库 中的用 户名
,口令 ,sr uei d必须 为 ep的第一 个参数 , 指定备份文件 x 将 要存 放的位置及名称。 设定数 据库 的用户 名为 O al, rce 口令为 13 5 , 建 246新 备份 目录 /cla , l abk 脚本 内容如下 : o

Oracle数据库三种备份方案

Oracle数据库三种备份⽅案Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。

导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。

⼀、导出/导⼊(Export/Import)利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导⼊数据(Import)Oracle⽀持三种⽅式类型的输出:(1)、表⽅式(T⽅式),将指定表的数据导出。

(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。

(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。

数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。

2、增量导出/导⼊增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。

在进⾏此种导出时,系统不要求回答任何问题。

导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。

增量导出包括三种类型:(1)、“完全”增量导出(Complete)即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp(2)、“增量型”增量导出备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp(3)、“累积型”增量导出累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。

⽐如:exp system/manager inctype=cumulative file=040731.dmp数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实现Oracle数据库每天异地自动备份
相信为数不少的系统管理员每天都在做着同一样的工作——对数据进行备份。

一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。

假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!本文结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用。

我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上,为此我们可进行如下操作:
一、导出数据库
export命令将数据库中的数据备份成一个二进制文件,它通常有三种模式:用户模式、表模式和整个数据库模式。

本文拟采用用户模式,备份之前,应先建立一个备份目录,以容纳备份文件,比如可建一个/backup目录。

接着我们可在 UNIX的Oracle目录下(也可以是其它目录)分别建立两个文件ora—backup,tar—backup。

需要说明的是,前一个文件需要对 Oracle的参数进行初始化,为了方便起见,我们不妨将初始化命令放到一个文件中(文件名姑且定为ora—env),再由第一个文件调用它。

1. ora—env文件对Oracle的参数进行初始化,其内容如下:
2. ora—backup文件对数据库做export导出,导出的文件名可以任意定,本文定为字母“xx”加当天日期,即假如当天日期是12月10号,则导出的文件名为“xx1210.dmp”,以区别于其它日期的备份文件。

ora—backup文件内容:
./oracle/ora—env
#初始化Oracle数据库
rq=′date +″%m%d″ ′
#把当天日期赋予变量rq
rm /backup/
#清空 /backup目录
exp test/test file=/backup/xx$rq.dmp log=/backup/xx
$rq.log
本命令用于在$提示符下,导出test用户的数据(其口令亦为test),导出文件及日志均放在/backup目录下。

二、磁带备份
tar—backup文件将用export命令导出的数据文件拷贝到磁带上。

tar—backup文件内容:
tar rvf /dev/rmt/0n/backup/
本命令可将/backup目录下当天产生的文件备份到磁带上。

本文件中,tar命令使用了三个参数,其中r选项表示向磁带上拷入文件而不破坏磁带原来内容,v选项表示在拷贝过程中显示文件信息,f选项后面加上磁带设备名,指定文件向何处拷贝,n 选项表示磁带机不倒带。

/dev/rmt/0表示UNIX主机第一个磁带驱动器,同理,/dev/rmt/1则表示UNIX 主机第二个磁带驱动器,依此类推。

ora—env、ora—backup、tar—backup文件编写完成后,分别使用下述命令:
这样,三个文件就都变成了可执行文件。

三、异地备份
我们知道,通常可用FTP命令在两台主机间传输数据,但一般是通过交互方式实现的,即需要手工输入目标主机的IP地址、用户名、口令等。

显然,这不符合自动备份的要求。

所幸的是,我们可以通过编写一个.netrc的文件来达到目标。

这一文件必须命名为.netrc,且必须存放在启动FTP命令的机器上的用户注册目录中,该文件的权限应禁止组内或其它用户进行读访问。

这样,当用户使用 FTP命令的时候,系统将会在该用户的注册目录中寻找.netrc文件,如果能够寻找到,将会首先执行该文件,否则,会交互式地提示用户输入用户名、口令等。

在使用FTP命令之前,应先在另一台作备份用的UNIX机器上建一目录,以容纳备份文件,本文建的目录是/pub 。

需要指出的是,为了加快备份速度,两台主机之间的传输速率应尽可能的高,最好位于同一局域网上。

.netrc文件内容如下:
#文件的传输方式设为二进制
lcd /backup
#进入本地工作目录/backup
cd /pub
#进入备份主机目录/pub
mput
#将/backup目录下的所有文件传输至备份主机
bye
#退出FTP会话进程
.netrc文件编写完成后,使用下述命令:
chmod 600 .netrc
这样,.netrc文件就只能被该用户所访问。

四、启动备份进程
Cron是一个永久进程,它由/etc/rc.local启动执行。

Cron检查
/var/spool/cron/crontabs/目录中的文件,找到所要执行的任务和执行任务的时间。

Crontab文件的每一行由六个域(minutes、hours、day of month、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;
command:所要运行的命令;
如果一个域是,表明命令可以在该域所有可能的取值范围内执行。

如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。

如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。

如果日期域和星期域都有值,则这两个域都有效。

现在,我们编写一个文件,用以启动自动备份进程。

值得注意的是,该文件只能在Oracle用户名下用crontab -e 命令来编辑,否则将不会被定时执行,文件名定为Oracle,文件将放在/var/spool/cron/crontabs 目录下。

编辑完成后,可以在Oracle的$提示符下,用crontab -l命令来查看。

Oracle文件内容:
0 23 /oracle/ora—backup
#每天23点对数据库执行备份
0 2 /oracle/tar—backup
#每天2点将文件备份到磁带上
0 4 ftp -i host2
#每天4点将文件备份到另一台主机上
经过以上的操作后,系统每天晚上将自动产生一个备份,并且自动将备份文件分别拷贝到磁带上和另一台主机上。

系统管理员需要做的是,隔几天换一盘磁带(更换磁带的周期取决于备份文件的大小和磁带的容量)和清理备份目录。

这样,他们就可以从备份数据的繁琐中解脱出来,去做其它更有意义的工作。

而数据库既实现了磁带备份,又实现了异地备份,相应的安全性也大大提高了。

相关文档
最新文档