知识大全 Oracle自动异地远程数据备份研究
Posted 命令
篇首语:志行万里者,不中道而辍足。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle自动异地远程数据备份研究相关的知识,希望对你有一定的参考价值。
Oracle自动异地远程数据备份研究 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
当前随着行业改革的不断深入 数据逐步向地市公司集中 业务经营 政务管理对于信息系统和核心数据的依赖程度也越来越高 如何保障核心数据的安全就显得尤为重要 相信很多单位均已实现了本地的磁盘与磁带的双备份 很好的保障了对核心数据的安全管理
但本地备份一般将数据保留在机房内 当本地机房整体物理环境遭到破坏 如发生火灾地震等意外事件时 数据有可能也会损伤 美国 事件让许多公司的商务资料在瞬间毁于一旦足以证明远程数据备份的重要性 但是建立一个完备的支持实时数据恢复功能的远程备份系统的投入是非常昂贵的 本文结合工作实际 充分利用县公司机房中现有的存储条件 借助oracle自动备份和ftp自动传输技术 实现了核心Oracle数据库的自动远程异地备份 当本地机房物理环境遭到破坏时 能最大限度的保护好我们的数据
一 设计思路
当前支撑绍兴烟草营销 呼叫 专卖 财务 OA等核心系统运行的主要是TradeCtr QueryCtr JTCW OA四个Oracle数据库 运行在两台HP 小型机上 每个数据库的备份大约为 G左右 考虑到今后两年内的数据增长可能会达到 G左右 绍兴烟草下属四个县公司 每个公司均具备充分的存储空间 网络实际可利用带宽均为 Mbit/s左右 完成一个备份文件的数据传输大约需要 个小时 考虑到网络带宽 传输时间及工作时间对业务经营的影响 我们将数据备份及远程传输放在星期六进行 每个单位对应一个数据库进行远程备份 备份周期为每周一次 每周六下午开始 备份中主要用到数据库导出 ftp自动传输 HP UNIX 定时作业等技术 下面以财务数据库JTCW为例来说明具体实现方式
二 导出数据库
export命令将数据库中的数据备份成一个二进制文件 它通常有三种模式 用户模式 表模式和整个数据库模式 本文拟采用用户模式 备份之前 应先建立一个备份目录 以在本机容纳备份文件 比如可建一个/localbak目录 我们将JTCW数据库在用户模式下备份 备份保留周期为一天 具体脚本如下 保留在exp_JTCW sh文件中
export EXP_HOME=/localbak #设置环境变量EXP_HOME
export ORACLE_SID=JTCW#设置环境变量ORACLE_SID
exp system/password owner=hsa file=$EXP_HOME/JTCW$(LC_ALL=C date +%y%m%d) dmp log=$EXP_HOME/JTCW$(LC_ALL=C date +%y%m%d) log statistics=none#备份数据以日期方式命名
find /oradata/cwdata/backup type f mtime exec rm \\;#保留周期为三天
三 自动数据传输
我们知道 通常可用FTP命令在两台主机间传输数据 但一般是通过交互方式实现的 即需要手工输入目标主机的IP地址 用户名 口令等 显然 这不符合自动备份的要求 所幸的是 在HP UNIX平台下我们可以通过编写一rc的文件来达到目标 这一文件必须命名rc 且必须存放在启动FTP命令的机器上的用户注册目录中 该文件的权限应禁止组内或其它用户进行读访问 这样 当用户使用FTP命令的时候 系统将会在该用户的注册目录中寻rc文件 如果能够寻找到 将会首先执行该文件 否则 会交互式地提示用户输入用户名 口令等
在使用FTP命令之前 应先在对应县公司一台作备份用的机器上开启ftp服务并建立上传文件目录 以容纳备份文件 本文建立的目录是/remotebak 为了加快备份速度rc文件内容如下
machine host # host 为作备份用的主机名
login ftpuser # ftpuser为远程备份主机上的一个用户
password ftpuser # ftpuser用户的口令为ftpuser
macdef init #定义一个名为init的宏 它将在自动注册进程的最后被执行
bin #文件的传输方式设为二进制
lcd /localbak #进入本地工作目录/localbak
cd /remotebak #进入远程备份主机目录/remotebak
mput *# 将/localbak目录下的所有文件传输至备份主机
bye #退出FTP会话进程
rc文件编写完成后 使用下述命令
chmod rc
这样rc文件就只能被该用户所访问
四 启动备份进程
HP UNIX平台下 Cron是一个永久进程 它由/etc/rc local启动执行 Cron检查/var/spool/cron/crontabs/目录中的文件 找到所要执行的任务和执行任务的时间
Crontab文件的每一行由六个域(minutes hours day of month month day of week mand)组成 域之间用空格或Tab分开 其中
minutes 分钟域 值的范围是 到
hours 小时域 值的范围是 到
day of month 日期 值的范围是 到
month 月份 值的范围是 到
day of week 星期 值的范围是 到 星期日值为
mand 所要运行的命令
如果一个域是空 表明命令可以在该域所有可能的取值范围内执行
如果一个域是由连字符隔开的两个数字 表明命令可以在两个数字之间的范围内执行(包括两个数字本身)
如果一个域是由逗号隔开的一系列值组成的 表明命令可以在这些值组成的范围内执行 如果日期域和星期域都有值 则这两个域都有效
现在 我们编写一个文件 用以启动自动备份进程 值得注意的是 该文件只能在Oracle用户名下用crontab e 命令来编辑 否则将不会被定时执行 文件名定为Oracle 文件将放在/var/spool/cron/crontabs 目录下 编辑完成后 可以在Oracle的$提示符下 用crontab l命令来查看
cron表中的内容如下
* * /oracle/product/ /DBA/script/exp_JTCW sh
# 每周六上午 点对数据库执行备份
* * ftp i host
# 每周六下午 点启动远程传输 将文件备份到另一台主机上
cha138/Article/program/Oracle/201311/17056相关参考
Oracle远程复制和异地容灾方案分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 目前针对o
知识大全 设置sqlplus访问远程oracle数据库的方法
如果要连接远程数据库传统的一定可行的方法是在本地装一个oracle然后使用NeorkConfigurationAssistant配置之后用PL/SQLDev连接 oracle官网上提供了最小访问
实现Oracle数据库的每天的自动备份 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 相信为数不
高机复制就是物化视图 物化视图是包括一个查询结果的数据库对像它是远程数据的的本地副本或者用来生成基于数据表求和的汇总表物化视图存储基于远程表的数据也可以称为快照 物化视图可以查询表视图和其
Oracle数据库自动存储管理(ASM) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 关于AS
WIN2000下ORACLE计划任务自动备份方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
破解Oracle数据库的密码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!要连接远程的Oracle
实例讲解Oracle数据库自动增加ID的sql 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本
Oracle11G之初体验数据中心自动化等功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! O
知识大全 如何自动获取Oracle数据库启动时在Shared pool里面的对象
如何自动获取Oracle数据库启动时在Sharedpool里面的对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快