oracle9i 恢复数据库,Oracle9i数据库备份和恢复方案

Oracle9i数据库备份和恢复方案

更新时间:2017/2/8 9:53:00  浏览量:592  手机版

Oracle9i数据库备份和恢复方案

一、数据库备份

备份前,先建立一个备份目录backup用来放置备份文件(此目录建议放在服务器单独的备份硬盘上)。接着我们可在Oracle安装目录下(也可以是其它目录)建立文件oracle_backup。需要说明的是,oracle_backup文件需要对Oracle的参数进行初始化,为了方便起见,我们不妨将初始化命令放到一个文件中(文件名定为oracle_env),再由oracle_backup文件调用它。

1. oracle_env文件对Oracle的参数进行初始化,其内容如下:

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/9.2.0

export ORACLE_SID=mega

export ORACLE_TERM=xterm

export NLS_LANG=american_america.ZHS16GBK

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export PATH=$PATH:$ORACLE_HOME/bin: /usr/ccs/bin: /usr/ucb

CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

2. oracle_backup文件对数据库做export导出,导出的文件名定为字母“mega”加当天日期,即假如当天日期是12月10号,则导出的文件名为“mega1210.dmp”,以区别于其它日期的备份文件。

oracle_backup文件内容:

#初始化Oracle数据库

./oracle安装目录/oracle_env

#导出用户的数据,包括数据文件及日志文件

exp 用户名/密码 file=/备份文件存放路径/backup/mega$(date +%y%m%d%H%M).dmp log=/备份文件存放路径/backup/mega$(date +%y%m%d%H%M).log

oracle_env、oracle_backup文件编写完成后,分别使用下述命令:

chmod 755 oracle_env

chmod 755 oracle_backup

这样,两个文件就都变成可执行文件。

直接执行oracle_backup文件即可启动数据库备份进程。

数据库自动备份(可选)

首先在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service crond start

这样可以保证在每次系统启动时,cron服务会自动启动。同时在命令行执行此命令。保证本次不用重启系统也可以启动cron服务。

现在,我们编写一个Crontab文件,用以启动自动备份进程。文件名定为oracle。存放位置和oracle_backup文件一致。

说明: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:所要运行的命令

如果一个域是

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

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

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

Crontab文件设置格式实例:

每天早上6点

0 6 * * * command line

每两个小时

0 */2 * * * command line

晚上11点到早上8点之间每两个小时,早上八点

0 23-7/2,8 * * * command line

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

oracle文件内容(根据实际需要的备份周期来设置):

# 每天23点对数据库执行备份

0 23 * * * oracle_backup存储目录/oracle_backup

使用vi建立创建文件oracle。

退出存盘后运行以下命令:crontab -u root oracle

经过以上的操作后,系统将按照你的备份周期自动产生一个备份存储在主机备份目录下。系统管理员需要做的是,转存备份文件和清理备份目录。

二、数据库恢复

把备份文件导入到数据库:

imp 用户名/密码 fromuser=导出文件用户名 file=/备份文件存放路径/备份文件.dmp 建议导出导入操作使用相同的用户名。否则使用fromuser参数来指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值