官方关于OLR描述
OLR is a registry similar to OCR located on each node in a cluster, but contains information specific to each node. It contains manageability information about Oracle Clusterware, including dependencies between various services. Oracle High Availability Services uses this information. OLR is located on local storage on each node in a cluster. Its default location is in the path Grid_home/cdata/host_name.olr, where Grid_home is the Oracle Grid Infrastructure home, and host_name is the host name of the node.
OLR是类似OCR的东西,存储在集群的每个节点本地
查看OLR位置
[root@rac2 cdata]# cd /etc/oracle [root@rac2 oracle]# ls -l total 2868 drwxrwx--- 2 root oinstall 4096 Nov 24 20:00 lastgasp drwxrwxrwt 2 root oinstall 4096 Dec 21 20:51 maps -rw-r--r-- 1 root oinstall 96 Nov 25 18:38 ocr.loc -rw-r--r-- 1 root root 0 Nov 24 19:58 ocr.loc.orig -rw-r--r-- 1 root oinstall 80 Nov 24 19:58 olr.loc -rw-r--r-- 1 root root 0 Nov 24 19:58 olr.loc.orig drwxrwxr-x 5 root oinstall 4096 Nov 24 19:57 oprocd drwxr-xr-x 3 root oinstall 4096 Nov 24 19:57 scls_scr -rws--x--- 1 root oinstall 2904377 Nov 24 19:57 setasmgid [root@rac2 oracle]# more olr.loc olrconfig_loc=/u01/app/12.1.0/grid/cdata/rac2.olr crs_home=/u01/app/12.1.0/grid --在部分平台olr.loc文件可能在/var/opt/oracle/目录下 [root@rac2 oracle]# ocrcheck -config -local Oracle Local Registry configuration is : Device/File Name : /u01/app/12.1.0/grid/cdata/rac2.olr [root@rac2 oracle]# ocrcheck -local Status of Oracle Local Registry is as follows : Version : 4 Total space (kbytes) : 409568 Used space (kbytes) : 996 Available space (kbytes) : 408572 ID : 816087519 Device/File Name : /u01/app/12.1.0/grid/cdata/rac2.olr Device/File integrity check succeeded Local registry integrity check succeeded Logical corruption check succeeded [root@rac2 oracle]# ls -l /u01/app/12.1.0/grid/cdata/rac2.olr -rw------- 1 root oinstall 503484416 Dec 22 12:09 /u01/app/12.1.0/grid/cdata/rac2.olr
查看OLR备份
[root@rac2 oracle]# ocrconfig -local -showbackup rac2 2013/11/24 20:02:38 /u01/app/12.1.0/grid/cdata/rac2/backup_20131124_200238.olr
备份OLR
[root@rac2 oracle]# ocrconfig -local -manualbackup rac2 2013/12/22 12:09:33 /u01/app/12.1.0/grid/cdata/rac2/backup_20131222_120933.olr rac2 2013/11/24 20:02:38 /u01/app/12.1.0/grid/cdata/rac2/backup_20131124_200238.olr [root@rac2 oracle]# ls -l /u01/app/12.1.0/grid/cdata/rac2/ total 1908 -rw-r--r-- 1 root root 860160 Nov 24 20:02 backup_20131124_200238.olr -rw-r--r-- 1 root root 1085440 Dec 22 12:09 backup_20131222_120933.olr
OLR异常恢复
--破坏OLR [root@rac2 oracle]# ls -l /u01/app/12.1.0/grid/cdata/rac2.olr -rw------- 1 root oinstall 503484416 Dec 22 12:09 /u01/app/12.1.0/grid/cdata/rac2.olr [root@rac2 oracle]# /u01/app/12.1.0/grid/cdata/rac2.olr /u01/app/12.1.0/grid/cdata/rac2.olr_bak --关闭crs [root@rac2 oracle]# crsctl stop crs --启动crs报错 [root@rac2 oracle]# crsctl start crs PROCL-26: Error while accessing the physical storage Operating System error [No such file or directory] [2] CRS-4000: Command Start failed, or completed with errors. --跟踪crs启动 [root@rac2 oracle]# strace crsctl start crs …… uname({sys="Linux", node="rac2", ...}) = 0 open("/etc/oracle/olr.loc", O_RDONLY) = 14 fstat(14, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd8ac628000 read(14, "olrconfig_loc=/u01/app/12.1.0/gr"..., 4096) = 80 read(14, "", 4096) = 0 close(14) = 0 munmap(0x7fd8ac628000, 4096) = 0 stat("/u01/app/12.1.0/grid/cdata/rac2.olr", 0x7fffa215a580) = -1 ENOENT (No such file or directory) --这里可以看到先是读取/etc/oracle/olr.loc,然后获取/u01/app/12.1.0/grid/cdata/rac2.olr失败 …… --确定ohasd.bin关闭 [root@rac2 cdata]# ps -ef|grep ohasd root 15715 31578 0 14:34 pts/3 00:00:00 grep ohasd --还原OLR [root@rac2 oracle]# ocrconfig -local -restore /u01/app/12.1.0/grid/cdata/rac2/backup_20131124_200238.olr PROTL-35: The configured OLR location is not accessible [root@rac2 oracle]# cd /u01/app/12.1.0/grid/cdata/ [root@rac2 cdata]# ls localhost rac12c-cluster rac2 rac2.olr_bak [root@rac2 cdata]# touch rac2.olr [root@rac2 cdata]# chmod 600 rac2.olr [root@rac2 cdata]# ocrconfig -local -restore /u01/app/12.1.0/grid/cdata/rac2/backup_20131124_200238.olr --确定还原成功 [root@rac2 cdata]# ls -l total 84200 drwxr-xr-x 2 grid oinstall 4096 Nov 24 19:37 localhost drwxrwxr-x 2 grid oinstall 4096 Dec 22 09:07 rac12c-cluster drwxr-xr-x 2 grid oinstall 4096 Dec 22 12:09 rac2 -rw------- 1 root root 503484416 Dec 22 14:29 rac2.olr -rw------- 1 root oinstall 503484416 Dec 22 12:43 rac2.olr_bak --启动crs [root@rac2 cdata]# crsctl start crs CRS-4123: Oracle High Availability Services has been started.
其他OLR命令
To export OLR to a file: # ocrconfig –local –export file_name To import a specified file to OLR: # ocrconfig –local –import file_name To view the contents of the OLR file: ocrdump -local file_name To view the contents of the OLR backup file: ocrdump -local -backupfile olr_backup_file_name To change the OLR backup location: ocrconfig -local -backuploc new_olr_backup_path
当OLR异常时,RAC节点不能正常启动,而且OLR不像OCR会定时自动备份,建议人工定时备份OLR