本文主要是介绍ORACLE 19C RAC单节点环境asmca界面中ACFS菜单不显示问题的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
近期,在安装一个单节点服务器,使用ORACLE 19C RAC的ASM功能进行磁盘的冗余配置(类似用ASM实现RAID卡的RAID功能),为了兼容低版本的数据库软件(数据库不升级),使用了ASM的ACFS文件系统,来提供一个挂载点目录,运行11G的数据库。
正常安装配置,过程都正常;重启服务器测试时,发现问题:ACFS的挂载点目录没自动挂载 ,数据库也就无从启动了。
继续分析,发现是12版本开始, ACFS drivers are loaded when the Grid Infrastructure is installed, but they are not automatically reloaded by Oracle Restart, in a single server environment. Note: Oracle Clusterware does reload these drivers in a RAC environment. The drivers must be loaded by the root user on linux or administrator. 简单说,ACFS模块不自动加载,需要人工处理。
因此按照ACFS/ADVM is NOT started automatically after node reboot or after CRS is restarted in non-RAC environment (Doc ID 886407.1)文档里的说法,结合11G时候人工命令创建ACFS的步骤,测试整理如下方式实现ACFS上运行数据库:
1、问题排查
检查ASM的ALERT日志,磁盘组MOUNT后,没有操作 volume 的日志;
2024-05-15T11:31:59.261683+08:00
NOTE: Instance updated compatible.rdbms to 12.1.0.0.0 for grp 1 (DATA).
2024-05-15T11:31:59.262414+08:00
SUCCESS: diskgroup DATA was mounted
2024-05-15T11:31:59.271049+08:00
SUCCESS: ALTER DISKGROUP ALL MOUNT /* asm agent call crs *//* {0:0:2} */
2024-05-15T11:31:59.341003+08:00
NOTE: diskgroup resource ora.DATA.dg is online
2024-05-15T11:32:00.244648+08:00
ALTER SYSTEM SET local_listener=' (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.18.58)(PORT=1521))' SCOPE=MEMORY SID='+ASM';
2、检查ACFS模块信息(lsmod没加载)
[grid@wmsdbprod trace]$ acfsdriverstate supported
ACFS-9200: Supported
[grid@wmsdbprod trace]$ acfsdriverstate installed
ACFS-9203: true
[grid@wmsdbprod trace]$ exit
logout
[root@wmsdbprod ~]# lsmod | grep -i acfs
[root@wmsdbprod ~]# lsmod | grep -i oracle
oracleafd 214072 1
3、人工加载
[root@wmsdbprod ~]# cd /u01/19.3.0/grid/bin
[root@wmsdbprod bin]# ls acfsload
acfsload
[root@wmsdbprod bin]# ./acfsload start
ACFS-9391: Checking for existing ADVM/ACFS installation.
ACFS-9392: Validating ADVM/ACFS installation files for operating system.
ACFS-9393: Verifying ASM Administrator setup.
ACFS-9308: Loading installed ADVM/ACFS drivers.
ACFS-9154: Loading 'oracleoks.ko' driver.
ACFS-9154: Loading 'oracleadvm.ko' driver.
ACFS-9154: Loading 'oracleacfs.ko' driver.
Use of uninitialized value $storage_mode in string ne at /u01/19.3.0/grid/lib/osds_acfslib.pm line 1175.
ACFS-9325: Driver OS kernel version = 3.10.0-862.el7.x86_64.
ACFS-9326: Driver build number = 190222.
ACFS-9212: Driver build version = 19.0.0.0.0 (19.3.0.0.0).
ACFS-9547: Driver available build number = 190222.
ACFS-9548: Driver available build version = 19.0.0.0.0 (19.3.0.0.0).
ACFS-9549: Kernel and command versions.
Kernel:
Build version: 19.0.0.0.0
Build full version: 19.3.0.0.0
Build hash: 9256567290
Bug numbers: NoTransactionInformation
Commands:
Build version: 19.0.0.0.0
Build full version: 19.3.0.0.0
Build hash: 9256567290
Bug numbers: NoTransactionInformation
ACFS-9327: Verifying ADVM/ACFS devices.
ACFS-9156: Detecting control device '/dev/asm/.asm_ctl_spec'.
ACFS-9156: Detecting control device '/dev/ofsctl'.
ACFS-9294: updating file /etc/sysconfig/oracledrivers.conf
ACFS-9322: completed
检查:
[root@wmsdbprod bin]# lsmod | grep -i oracle
oracleacfs 5581810 0
oracleadvm 1231385 0
oracleoks 721311 2 oracleacfs,oracleadvm
oracleafd 214072 1
4、人工开启volume
SQL> alter diskgroup DATA enable volume ORADATA; ==ASMCA图形界面中也可以操作
Diskgroup altered.
SQL> col VOLUME_DEVICE for a30
SQL> SELECT volume_name, volume_device,state FROM V$ASM_VOLUME;
VOLUME_NAME VOLUME_DEVICE STATE
------------------------------ ------------------------------ --------
ORADATA /dev/asm/oradata-238 ENABLED
对应日志
SQL> alter diskgroup DATA enable volume ORADATA /* ASMCA */
2024-05-15T12:36:35.523430+08:00
ERROR: failed to online volume resource ora.DATA.ORADATA.advm error CRS-2613: Could not find resource 'ora.DATA.ORADATA.advm'.
CRS-0210: Could not find resource 'ora.DATA.ORADATA.advm'.
clsr_start_resource:200 status:210
clsr_start_volume: clsr_start_resource failed 210
NOTE: volume resource ora.DATA.ORADATA.advm requested to start globally
2024-05-15T12:36:35.565391+08:00
SUCCESS: alter diskgroup DATA enable volume ORADATA /* ASMCA */
5、MOUNT挂载点
[root@wmsdbprod ~]# /bin/mount -t acfs /dev/asm/oradata-238 /oradata
[root@wmsdbprod ~]# df -h /oradata
Filesystem Size Used Avail Use% Mounted on
/dev/asm/oradata-238 6.5T 2.0T 4.5T 31% /oradata
6、后续处理建议:
总结下后续服务器重启后的处理步骤
1、加载ACFS文件模块(已经设置到/etc/rc.local)
/u01/19.3.0/grid/bin/acfsload start -s
验证是否加载成功:
[root@wmsdbprod bin]# lsmod | grep -i oracle
oracleacfs 5581810 0
oracleadvm 1231385 0
oracleoks 721311 2 oracleacfs,oracleadvm
oracleafd 214072 1
2、人工手动操作挂载ACFS目录:
crsctl stat res -t
确定集群启动成功后人工,开启ACFS volume:
[grid@wmsdbprod ~]$ sqlplus / as sysasm
alter diskgroup DATA enable volume ORADATA;
查询命令:
col VOLUME_DEVICE for a30
SELECT volume_name, volume_device,state FROM V$ASM_VOLUME;
VOLUME_NAME VOLUME_DEVICE STATE
------------------------------ ------------------------------ --------
ORADATA /dev/asm/oradata-238 ENABLED
root下MOUNT挂载点:
[root@wmsdbprod ~]# 检查:
[root@wmsdbprod ~]# df -h /oradata
Filesystem Size Used Avail Use% Mounted on
/dev/asm/oradata-238 6.5T 2.0T 4.5T 31% /oradata
3、正常启动数据库
sqlplus / as sysdba
startup
检查监听程序:lsnrctl status
这篇关于ORACLE 19C RAC单节点环境asmca界面中ACFS菜单不显示问题的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!