oracle11g备份出错,Oracle11g 备份和恢复的方法

本文介绍了如何创建Oracle数据库的备份和恢复脚本,包括使用expdp和impdp命令进行数据导出和导入,详细说明了脚本中的参数设置,如ORACLE_SID、ORACLE_HOME、directory、dumpfile等,并提到了如何通过crontab进行定时备份和清理过期文件的方法。
摘要由CSDN通过智能技术生成

一、按方案备份

可以建立脚本db_export.sh,脚本内容如下:

#!/bin/bash

ORACLE_SID=mydb                                           #数据库的SID,我这里用mydb

ORACLE_HOME=/usr/oracle/product/11.1        #数据库的安装目录,也是bin文件夹所处的路径

export ORACLE_HOME

export ORACLE_SID

filename=`date +%Y%m%d_%H%M%S`.dmp    #文件名格式

echo DUMPING DATA TO $filename

cd /usr/oracle/product/11.1/bin                             #进入到可执行命令文件夹内,如果系统配置环境变量路径了,这个可省略,当然,也可以和下一句合并,一起执行

./expdp 用户名/密码 directory=BACKUPDIR dumpfile=$filename      #执行备份,BACKUPDIR 是在数据库内用SQL语句设置好的变量,如果没有则需要提前设置好,如果密码是含有特殊字符的非标准命名,那就得加上单引号和双引号,这么写: '用户名/"密码"'

如果就执行一次也可以写成(假设此次只导出各表结构):

/usr/oracle/product/11.1/bin/expdp 用户名/密码 directory=BACKUPDIR dumpfile=data.dmp CONTENT=METADATA_ONLY

当然这里前面的ORACLE_HOME、ORACLE_SID和BACKUPDIR得设置好,CONTENT选项用于指定要导出的内容.默认值为ALL,所以ALL时一般忽略不写了

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义

二、按方案恢复

可以建立脚本 db_import.sh,脚本内容如下:

ORACLE_SID=mydb

ORACLE_HOME=/usr/oracle/product/11.1

export ORACLE_HOME

export ORACLE_SID

filename=20130407_055001.dmp

echo LOAD DATA FROm $filename

cd /usr/oracle/product/11.1/bin

./impdp 用户名/密码 directory=BACKUPDIR dumpfile=$filename TABLE_EXISTS_ACTION=REPLACE

具体各行介绍参看一、按方案备份

可以每日用crontab定时执行备份操作,把所有操作日志和提示都存到日志文件中

.../db_export.sh >> .../db_export.log 2>&1

还可以建立脚本定期检查删除日志文件,举例脚本如下(假如删除扩展名为dmp):

echo start: `date +%F-%T`

find 目录 -name '*.dmp' -mtime +5 -exec  rm -rfv {} \;

意为只留5天数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值