备份与恢复是数据库的生命线所在,对于企业而言,快速,高效,安全,低成本的数据库备份与恢复是始终不变的最求目标。那么在对于数据库老大的甲骨文而言,有没有一种方式帮助客户实现上面的目标呢,答案是有的----Oracle Database Backup Cloud Service(ODBC)。
ODBS有主要哪些好处呢?
1,低成本:1TB的数据量一个月只需要33美金,无前期硬件开销或投资。
2,简单易用:简单安装一个包,就可以通过rman备份恢复数据库,无需学习新的命令
3,可扩展, 冗余, 高可用:容量可无限扩展,3-路 镜像方式提供数据保护
4,安全:强制加密,还可对数据进行压缩
等等。
既然ODBC有这么多好处,那让我们来体验一下吧:
准备事项:
1,Oracle Cloud账号
2,本地基于Windows的数据库


本次的测试使用的是标准版数据库。
使用标准版数据库的话,需要对数据库打一个补丁(Bug 18339044)。请从相关渠道下载对应的补丁文件,然后打上这个补丁。
打补丁时请仔细阅读补丁包的readme文件,看看是否还需要满足其他的相关条件。
对于企业版数据库,则不需要打这个补丁。
1,打补丁前先把相关数据库的服务停止。
net start OracleServiceORCL
net start OracleOraDB12Home1TNSListener
net start OracleOraDB12Home1MTSRecoveryService
net start OracleVssWriterORCL
net start OracleRemExecServiceV2


2,打补丁

3,再次启动数据库相关服务
net start OracleServiceORCL
net start OracleOraDB12Home1TNSListener
net start OracleOraDB12Home1MTSRecoveryService
net start OracleVssWriterORCL
net start OracleRemExecServiceV2
接下来,在数据库服务器安装Oracle Database Cloud Backup Module Installer(ODCBM)
1,从下面的链接下载/解压Oracle Database Cloud Backup Module Installer
http://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html

2,在云控制台的存储服务中创建备份用的容器

3,安装ODCBM
java -jar opc_install.jar -serviceName Storage -identityDomain jppartner0155 -opcId ****** -opcPass ****** -walletDir c:\app\oracle\product\12.1.0\dbhome_1\database\opc_wallet -libDir c:\app\oracle\product\12.1.0\dbhome_1\BIN -configFile c:\app\oracle\product\12.1.0\dbhome_1\dbs\opcorcl.ora -container DBCS-BACKUP-Storage

*具体各个参数请参照下面的链接
http://docs.oracle.com/en/cloud/paas/db-backup-cloud/csdbb/installing-oracle-database-cloud-backup-module.html#GUID-F6E36F00-6464-4FC4-8511-11FD839B760F
至此Oracle Database Cloud Backup Module Installer安装完毕。
接下来配置RMAN并备份数据库
1,用rman链接到目标数据库
rman target
2,配置rman
run{
CONFIGURE CHANNEL DEVICE TYPE sbtPARMS='SBT_LIBRARY=c:\app\oracle\product\12.1.0\dbhome_1\BIN\oraopc.dll,ENV=(OPC_PFILE=C:\app\oracle\product\12.1.0\dbhome_1\dbs\opcorcl.ora, ORACLE_HOME=C:\app\oracle\product\12.1.0\dbhome_1)';
CONFIGURE DEFAULT DEVICE TYPE TO'SBT_TAPE';
CONFIGURE COMPRESSION ALGORITHM'MEDIUM';
CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET;
}
SET ENCRYPTION ON IDENTIFIED BYWelcome1 ONLY;

3,备份数据库
backup database;

4,确认备份
list backup;


通过上面的工具可以确认数据库已经备份到Oracle Cloud。
下面来通过恢复来测试备份
1,删除一个已经存在的表

2,设置恢复参数并恢复数据库
SET DECRYPTION IDENTIFIED BYWelcome1;
STARTUP FORCE MOUNT
run{
restore to restore point golddatabase;
recover database to restore pointgold;
alter database open resetlogs;
}

3,确认数据库已经恢复

至此,使用Database Backup Service来备份和恢复本地数据库的过程已经完毕。怎么样,是不是很简单。那就自己动手试一试吧。




