Oracle 12c rac配置归档到本地文件系统

一、环境介绍

redhat 7.4 + Oracle 12.2.0.1 +rac +ASM

二、为了方便对归档文件进行管理,客户要求将Oracle rac归档文件放到本地文件系统

2.1.从存储上映射两块磁盘作为rac两节点的存放归档文件的文件系统

这里/dev/sdg为节点1,/dev/sdh为节点2存放归档的文件系统:

Disk /dev/sdg: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes


Disk /dev/sdh: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes

[root@or12c01 backup]# 

2.2.各节点格式化并挂载文件系统

节点1:

# mkfs.etx4 /dev/sdg


节点2:

# mkfs.etx4 /dev/sdh

节点1 mount文件系统:

mount /dev/sdg /u03

节点2 mount文件系统:

mount /dev/sdh /u03


设置开机自动挂载:

UUID=265a1d12-b2cd-4461-bb39-33dd65777099   /u03    ext4 _netdev 0 0

节点2:

UUID=dcffe53e-fe66-4f96-9269-df9687dd3c47  /u03   ext4  _netdev  0 0


2.3.创建归档目录

节点1:

mkdir -p /u03/arch   ---用于节点1的归档日志存放地

mkdir -p /u03/arch2  ---用于挂载节点2的归档存放地

节点2:

mkdir -p /u03/arch   ---用于节点2的归档日志存放地

mkdir -p /u03/arch1  ---用于挂载节点1的归档存放地

2.4.启动各节点的nfs服务并设置开机启动

[root@or12c02 u03]# systemctl enable nfs.service
[root@or12c02 u03]# 
[root@or12c02 u03]# systemctl status nfs.service
[root@or12c02 u03]# systemctl restart nfs.service
[root@or12c02 u03]# 
[root@or12c02 u03]# systemctl status nfs.service

节点1同上

2.5.配置/etc/exports文件

节点1;

[root@or12c01 backup]# cat /etc/exports

/u03/arch   or12c02(rw,async,no_root_squash)


说明:

/u02/arch  为归档文件存放地

or12c02    为节点2的主机名

()       括号里面为相关的权限配置


节点2:


[oracle@or12c02 backup]$ cat /etc/exports

/u03/arch or12c01(rw,async,no_root_squash)


节点1:

[root@or12c01 backup]# showmount -e 192.168.127.61
Export list for 192.168.127.61:
/u03/arch or12c02
[root@or12c01 backup]#

可以看到节点1已成功将/u03/arch 目录共享给了节点2

[root@or12c01 backup]# showmount -e 192.168.127.63
Export list for 192.168.127.63:
/u03/arch or12c01
[root@or12c01 backup]#

同样也可以看到节点2将/u03/arch目录共享给了节点1

2.6.配置各节点挂载对端目录

# mount -t nfs -o rw,bg,hard,nointr,rsize=2048,wsize=2048,timeo=300,actimeo=0 or12c02:/u03/arch /u03/arch2   ---将节点2的归档路径共享给节点1

# mount -t nfs -o rw,bg,hard,nointr,rsize=2048,wsize=2048,timeo=300,actimeo=0 or12c01:/u03/arch /u03/arch1   ---同理,将节点2的归档目录/u01/arch共享给节点1,并挂载到节点1的/u03/arch1

2.7.将Oracle归档路径改为/u03/arch

SQL> alter system set log_archive_dest_1='location=/u03/arch';

SQL> alter system set log_archive_dest_1='location=/u03/arch';


查看数据库的归档路径:

SQL> archive log list
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       /u03/arch
Oldest online log sequence     76
Next log sequence to archive   78
Current log sequence	       78
SQL> 

三、使用本地文件系统存放归档时Oracle的备份

3.1.创建备份片存放路径(两节点都要创建且路径完全一致)

两节点都要执行:

# mkidr -p /u02/backup

# chown -R oracle:oinstall /u02

# chmod -R 775 /u02

3.2.配置两节点的tnsname.ora文件

看节点2的配置:

[root@or12c02 arch]# vim /u01/app/oracle/product/12.2.0/db_1/network/admin/tnsnames.ora 


OR12C2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.127.63)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = or12c)
    )
  )

OR12C1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.127.61)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = or12c)
    )
  )


看节点1的配置:

OR12C1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.127.61)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = or12c)
    )
  )

OR12C2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.127.63)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = or12c)
    )
  )
   

3.3.rman全库备份

登录rman:

[oracle@or12c01 backup]$ rman target /

执行备份:

run{   
allocate channel c1 type disk connect sys/oracle@or12c1 maxpiecesize 5G;
allocate channel c2 type disk connect sys/oracle@or12c2 maxpiecesize 5G;
crosscheck backupset;
crosscheck archivelog all;
delete expired archivelog all;
DELETE NOPROMPT EXPIRED BACKUPSET;
sql 'alter system archive log current ';
BACKUP AS COMPRESSED BACKUPSET SKIP INACCESSIBLE TAG hot_db_bk_level0 FORMAT '/u02/backup/bk_%s_%p_%t' FULL  DATABASE;
sql 'alter system archive log current ';
sql 'alter system archive log current ';
sql 'alter system archive log current ';
backup archivelog all format '/u02/backup/arc_%t_%s';
backup current controlfile format '/u02/backup/cntrl_%s_%p_%s';
crosscheck archivelog all;
release channel c1;
release channel c2;
}

此时,备份的文件分为两部分。一部分是由通道1生成,在节点1上;另一部分是由通道2生成,在节点2上。只有将两节点的备份文件加起来,才算是完整的备份信息!

有个奇怪的地方:每次执行:alter system archive log current时,对面节点的归档既可能存在本节点,也可能存在对方节点!!

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值