小奋斗 - 轻松学习从此开始!
IT小奋斗群 QQ群:62017228

WORBE Oracle数据库定时备份到远程FTP

WORBE(What21 Oracle Remote Backup Engine),即What21 Oracle远程备份引擎,WORBE是由Java语言编写,需要Java1.5+运行环境,支持Windows、Liunx操作系统。

WORBE实现的功能:

WORBE是执行Oracle的备份命令(exp或者expdp),备份完成后将备份文件和日志文件上传到指定的远程FTP服务器上。也可以配置由操作系统任务调度来执行备份操作。

WORBE最适用于当前Oracle用户下表比较多,我们只需要备份其中的一类表,这样配置清晰明了,使用较为方便。


开发环境及开发目标说明:

开发环境:JDK1.6 + Eclipse4.X

源码类型:jar包中含有源码(what21-worbe-1.0.jar)

发布类型:Java可执行程序,由 Java自定义ClassLoader启动 打包发布。

运行环境:支持windows、Liunx等平台

运行时Java环境: JDK1.5+

开发目的:在实际应用中,数据库中有大量的表,这些表是内容很大的日志数据,不需要备份,那么备份时,就需要配置备份哪些表;另外,这个数据库中的表,也在不断增加中,指定表名较为麻烦。


WORBE配置和使用:

1、Java运行环境配置

WORBE是由Java语言编写,运行时需要JRE环境,因此需要确保操作系统安装了JDK或者JRE;启动脚本需要修改配置JAVA_HOME路径,如下:

WORBE启动.png

Windows环境修改%WORBE_HOME%\bin\startup.bat;Liunx环境修改%WORBE_HOME%\bin\startup.sh。

2、执行引擎配置

配置文件: %WORBE_HOME%\config\worbeConfig.xml

nameoracle数据库名称,上传FTP时的顶级目录。

usernameoracle数据库用户。

passwordoracle数据库密码。

cmdType:备份命令类型,支持expdpexp

command:执行命令模板。

type1、整库备份,2、按表备份。

tables:数据库表配置目录名。

engine:引擎执行目录名。

logs:引擎日志存储目录名。

uploadFtp:是否上传远程FTP

localHoldNumber:备份文件本地保留个数。

按表备份时,需要指定表名称,这些表也可以分类。每一类表对应一个以.table结尾的文件。

例如:%WORBE_HOME%\tables\common.table的内容如下:

表名一

表名二

表名三

3、expdp命令备份

如果使用expdp命令备份,需要创建directory,directory的目录指定到%WORBE_HOME%\engine目录下;配置命令中directory值与其对应,创建命令如下:

登录sqlplus

sqlplus / as sysdba

创建directory

create directory WORBE as '/home/oracle   /What21Worbe1.0/engine';

注意: WORBE,为directory名称;'/home/oracle   /What21Worbe1.0/engine',为WORBE1.0安装路径,到engine目录下。

授权给oracle用户

grant read, write on directory dpdata to   [用户名];

4、远程FTP配置

配置文件: %WORBE_HOME%\config\worbeConfig.xml

hostFTP服务地址。

portFTP服务端口。

usernameFTP用户账号。

passwordFTP用户密码。


expdb备份

1、创建directory(WORBE)

登录sqlplus:  sqlplus / as sysdba

创建directory:  create directory WORBE as '/home/oracle/Server/What21Worbe1.0/engine';

注意: WORBE,为directory名称;'/home/oracle/Server/What21Worbe1.0/engine',为WORBE1.0安装路径,到engine目录下。

授权给oracle用户

grant read, write on directory dpdata to [用户名];

2、备份命令

expdb ${username}/${password} tables=${tables} directory=WORBE dumpfile=${fileName} logfile=${logName}

3、命令实例

/u01/oracle/product/11.2.0/dbhome_1/bin/expdp ${username}/${password} tables=${tables} directory=WORBE dumpfile=${fileName} logfile=${logName}


imp恢复

imp [用户名]/[密码] grants=y commit=y full=y ignore=y file=/home/oracle/Data.1461224502349.dmp log=/home/oracle/imp.log

我来评几句
登录后评论

已发表评论数(0)