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路径,如下:
Windows环境修改%WORBE_HOME%\bin\startup.bat;Liunx环境修改%WORBE_HOME%\bin\startup.sh。
2、执行引擎配置
配置文件: %WORBE_HOME%\config\worbeConfig.xmlname:oracle数据库名称,上传FTP时的顶级目录。
username:oracle数据库用户。
password:oracle数据库密码。
cmdType:备份命令类型,支持expdp和exp。
command:执行命令模板。
type:1、整库备份,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
host:FTP服务地址。
port:FTP服务端口。
username:FTP用户账号。
password:FTP用户密码。
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