世界备份日-使用RMAN将Oracle数据库备份到Azure Blob存储

DBA的性能仅与上次备份一样好…或更多,是他们的最后康复。

为了庆祝Twitter上的#WorldBackupDay,我’关于如何将Oracle数据库直接备份到Azure Blob存储的博客。是的,您可以在直接连接到VM的托管磁盘上进行备份,然后将其复制出来,但是Azure Blob存储价格便宜,并且提供了创建NSF挂载以与其他Oracle主机一起使用备份进行克隆,恢复,等等

在Azure门户中配置Blob存储

在此示例中,我们有一个在Azure IaaS VM上运行的Oracle数据库,需要使用RMAN备份数据库。不会使用RMAN存储库目录,但是可以的,您可以使用-没问题。

如果你不这样做’如果已经有一个数据库并且想一起玩,可以执行以下操作 博客文章 创建一个。

创建要与数据库一起使用的Blob存储,可以在门户中执行此操作,转到“存储帐户”,然后单击 +添加:

单击下一步,然后选择公共端点,然后为其余选项卡选择默认值并创建。

创建完成后,进入存储帐户,然后在左侧刀片上选择容器。添加一个容器,选择一个描述性的名称,然后选择blob和匿名读取访问权限。您’稍后将在创建blobfuse时使用此名称。

在VM Host上安装BlobFuse

设置完Oracle VM和存储后,需要获取Blob Fuse安装的克隆。遵循这些 指示 从VM Host作为Root完成此步骤。

对于我们的新VM,Oracle 的Linux需要与RHEL相同的安装:

sudo rpm -Uvh //packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

运行安装:

sudo yum install blobfuse

创建目录并确保所有权在挂载上正确

sudo mkdir /mnt/blobfuse -p

mkdir /mnt/blobfuse/orabcntr1
sudo chown oracle /mnt/blobfuse/

现在,您应该看到新的挂载点:

接下来,您需要创建一个配置文件,其中包含供Blobfuse登录的重要信息。您可以在 蔚蓝门户-> Storage Accounts ->点击您的存储帐户-> Access keys. 容器名称是您所使用的虚拟文件夹的名称’重新安装。此容器应该已经在Azure门户或Azure存储资源管理器中创建):

touch ~/connection.cfg

chmod 600 ~/connection.cfg
vi ~/connection.cfg

该文件将包含三行,其外观类似于以下内容:

accountName orabkup2
accountKey 5RD7lzbNJOABSC3/V6E3hsU1aXSRlksjdf8762lks7lksh39JKSINE-
containerName orabcntr1
保存文件。

挂载要使用的存储:

blobfuse mnt/blobfuse/orabcntr1 --tmp-path=/mnt/ramdisk/blobfusetmp --config-file=/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120 --config-file=../connection.cfg --log-level=LOG_DEBUG --file-cache-timeout-in-seconds=120

现在,您可以查看主机上的挂载点:

df -h
blobfuse         30G   17G   11G  61% /mnt/blobfuse/orabcntr1

Test that you can write to the blob storage as 甲骨文:

su - oracle
cd /mnt/blobfuse/orabcntr1
mkdir test
echo "hello world" > test/blob.txt

具有Blob存储的RMAN备份

第一步是在Linux VM上安装Blob Fuse,以与RMAN的博客存储结合使用:

export ORACLE_HOME=/u01/app/oracle/product/18.0.0/dbhome_1
export ORACLE_SID=cdb1
RMAN
connect target /

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/blobfuse/orabcntr1/snapcf_ev.f';
CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*' FORMAT   '/mnt/blobfuse/orabcntr1/DB_NAME/%U';
new RMAN configuration parameters are successfully stored
CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*' FORMAT   '/mnt/blobfuse/orabcntr1/DB_NAME/%U';
new RMAN configuration parameters are successfully stored

如果执行以下操作:

SHOW ALL;

以下内容将被视为RMAN配置的一部分:

CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*' FORMAT   '/mnt/blobfuse/orabcntr1/DB_NAME/%U';
CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*' FORMAT   '/mnt/blobfuse/orabcntr1/DB_NAME/%U';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/blobfuse/orabcntr1/snapcf_ev.f';

现在运行备份:

run
 {
 BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL NOT BACKED UP FILESPERSET 10 DELETE ALL INPUT TAG ‘ARCH’;
 }

备份成功后,您就可以计划将数据库+存档日志和常规存档日志的备份计划到CRON中的Blob存储中。

 

 

 

 

dbakevlar

http://about.me/dbakevlar