Migration from ASMLIB to ASMFD - denis-kol4ev/OraDBA GitHub Wiki
Migrate the existing ASM diskgroup disks which are stamped with ASMLib to ASMFD
ASMFD : How to Migrate ASM Diskgroups from ASMLIB to ASMFD (ASM Filter Driver) on Oracle Grid Infrastructure (RAC) (Doc ID 2172754.1)
GI 19.21 on OEL 7.9
oracleasm listdisks | xargs oracleasm querydisk -p
[root@devil19 ~]# oracleasm listdisks | xargs oracleasm querydisk -p
Disk "DATA01" is a valid ASM disk
/dev/sdd1: LABEL="DATA01" TYPE="oracleasm"
Disk "DATA02" is a valid ASM disk
/dev/sde1: LABEL="DATA02" TYPE="oracleasm"
Disk "FRA01" is a valid ASM disk
/dev/sdc1: LABEL="FRA01" TYPE="oracleasm"
asmcmd dsget
oracle@devil19 ~ $ . oraenv <<<+ASM
oracle@devil19 ~ $ asmcmd dsget
parameter:/dev/oracleasm/disks/*
profile:/dev/oracleasm/disks/*
3. As a GI owner update the Oracle ASM disk discovery string to enable Oracle ASMFD to discover devices in the future
asmcmd dsset '/dev/oracleasm/disks/*','AFD:*'
asmcmd dsget
oracle@devil19 ~ $ asmcmd dsset '/dev/oracleasm/disks/*','AFD:*'
oracle@devil19 ~ $ asmcmd dsget
parameter:/dev/oracleasm/disks/*, AFD:*
profile:/dev/oracleasm/disks/*,AFD:*
srvctl stop database -d <db_name>
oracle@devil19 ~ $ srvctl stop database -d orcl_devil19
crsctl stop has
oracle@devil19 ~ $ crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'devil19'
CRS-2673: Attempting to stop 'ora.orcl_devil19.db' on 'devil19'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'devil19'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'devil19' succeeded
CRS-2677: Stop of 'ora.orcl_devil19.db' on 'devil19' succeeded
CRS-2673: Attempting to stop 'ora.FRA.dg' on 'devil19'
CRS-2677: Stop of 'ora.FRA.dg' on 'devil19' succeeded
CRS-2673: Attempting to stop 'ora.evmd' on 'devil19'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'devil19'
CRS-2677: Stop of 'ora.DATA.dg' on 'devil19' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'devil19'
CRS-2677: Stop of 'ora.evmd' on 'devil19' succeeded
CRS-2677: Stop of 'ora.asm' on 'devil19' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'devil19'
CRS-2677: Stop of 'ora.cssd' on 'devil19' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'devil19' has completed
CRS-4133: Oracle High Availability Services has been stopped.
oracle@devil19 ~ $
oracleasm status
oracleasm exit
yum remove oracleasm-support.x86_64
[root@devil19 ~]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
[root@devil19 ~]#
[root@devil19 ~]# oracleasm exit
Unmounting ASMlib driver filesystem: /dev/oracleasm
Unloading module "oracleasm": oracleasm
[root@devil19 ~]#
[root@devil19 ~]# ls -la /dev/oracleasm/
total 0
drwxr-xr-x. 2 root root 40 Feb 14 12:52 .
drwxr-xr-x. 22 root root 3600 Feb 14 12:52 ..
[root@devil19 ~]#
[root@devil19 ~]# yum remove oracleasm-support.x86_64
...
Removed:
oracleasm-support.x86_64 0:2.1.11-2.el7
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/grid/19.3
$ORACLE_HOME/bin/asmcmd afd_configure
[root@devil19 ~]# export ORACLE_BASE=/opt/oracle
[root@devil19 ~]# export ORACLE_HOME=/opt/oracle/grid/19.3
[root@devil19 ~]# $ORACLE_HOME/bin/asmcmd afd_configure
AFD-627: AFD distribution files found.
AFD-634: Removing previous AFD installation.
AFD-635: Previous AFD components successfully removed.
AFD-9294: updating file /etc/sysconfig/oracledrivers.conf
AFD-636: Installing requested AFD software.
AFD-637: Loading installed AFD drivers.
AFD-9321: Creating udev for AFD.
AFD-9323: Creating module dependencies - this may take some time.
AFD-9154: Loading 'oracleafd.ko' driver.
AFD-649: Verifying AFD devices.
AFD-9156: Detecting control device '/dev/oracleafd/admin'.
AFD-638: AFD installation correctness verified.
Use of uninitialized value $retrycnt in numeric gt (>) at /opt/oracle/grid/19.3/lib/asmcmdafd.pm line 3612.
Use of uninitialized value $retrycnt in numeric gt (>) at /opt/oracle/grid/19.3/lib/asmcmdafd.pm line 3621.
Modifying resource dependencies - this may take some time.
[root@devil19 ~]#
$ORACLE_HOME/bin/asmcmd afd_state
[root@devil19 ~]# $ORACLE_HOME/bin/asmcmd afd_state
ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'devil19'
[root@devil19 ~]#
$ORACLE_HOME/bin/asmcmd afd_lsdsk
ls -la /dev/oracleafd/disks/
[root@devil19 ~]# $ORACLE_HOME/bin/asmcmd afd_lsdsk
--------------------------------------------------------------------------------
Label Filtering Path
================================================================================
DATA01 ENABLED /dev/sdd1
DATA02 ENABLED /dev/sde1
FRA01 ENABLED /dev/sdc1
[root@devil19 ~]# ls -la /dev/oracleafd/disks/
total 12
drwxrwxr-x. 2 oracle dba 100 Feb 14 13:50 .
drwxrwx---. 3 oracle dba 80 Feb 14 13:49 ..
-rw-rw-r--. 1 oracle oinstall 10 Feb 14 13:50 DATA01
-rw-rw-r--. 1 oracle oinstall 10 Feb 14 13:50 DATA02
-rw-rw-r--. 1 oracle oinstall 10 Feb 14 13:50 FRA01
[root@devil19 ~]#
crsctl start has
[root@devil19 ~]# su - oracle
oracle@devil19 ~ $ . oraenv <<<+ASM
oracle@devil19 ~ $ crsctl start has
CRS-4123: Oracle High Availability Services has been started.
oracle@devil19 ~ $
srvctl start database -d <db_name>
oracle@devil19 ~ $ srvctl start database -d orcl_devil19
crsctl stat res -t
oracle@devil19 ~ $ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE devil19 STABLE
ora.FRA.dg
ONLINE ONLINE devil19 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE devil19 STABLE
ora.asm
ONLINE ONLINE devil19 Started,STABLE
ora.ons
OFFLINE OFFLINE devil19 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE devil19 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.driver.afd
1 ONLINE ONLINE devil19 STABLE
ora.evmd
1 ONLINE ONLINE devil19 STABLE
ora.orcl_devil19.db
1 ONLINE ONLINE devil19 Open,Readonly,HOME=/
opt/oracle/rdbms/19c
,STABLE
ora.orcl_devil19.orcl_primary.svc
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
Database open in readonly mode because test performed on standby database.
asmcmd dsget
asmcmd dsset 'AFD:*'
asmcmd dsget
oracle@devil19 ~ $ asmcmd dsget
parameter:/dev/oracleasm/disks/*, AFD:*
profile:/dev/oracleasm/disks/*,AFD:*
oracle@devil19 ~ $ asmcmd dsset 'AFD:*'
oracle@devil19 ~ $ asmcmd dsget
parameter:AFD:*
profile:AFD:*
oracle@devil19 ~ $