I have tried to stop ASMlib and unload module oracleasm
However I am receiving the error:
Unmounting ASMlib driver filesystem: failed
Unable to unmount ASMlib driver filesystem
I have running ASM instance.
My main question is:
I have read that you do not need ASMlib for ASM (it is just an optional support), so why when I want to stop it it is not possible?
Note: I have tried to do so on the system without ASM instance running - actually no grid, no DB is installed, just ASMlib, and it was ok - I could do exit without any problems (sure, ).
If someone could give me an explanation what is going on, or what am I missing in ASMlib and ASM instance relationship I appreciate it so much.
#fuser -m /dev/oracleasm --> there are many processes using it (e.g. asm_dbw0_+ASM ...), which is all right I just do not understand why it is blocking ASMlib
xxx:/home/storage # rpm -qa| grep oracl
SLE 11 SP3
ASMLib for Linux is not required, but it simplifies device management. For instance, it automatically discovers ASM devices and provides them under /dev/oracleasm. To unload ASMLib you need to stop your ASM instance, which is using those devices.
If you do not use ASMLib you will need to configure the udev subsystem to set oracle device ownership and permissions and configure the appropriate ASM diskstring parameter. Keep in mind that the device tree is under Linux kernel 2.6 is rebuild at very system restart, which resets the ownership of devices to root, which won't work for ASM.
And how it is connected with the ASM instance - I mean ASMlib, why it cannot be unmounted while ASM instance is running?
I thought that ASMlib is used for device management - labeling, connecting to /dev/oracleasm so it has not 'real' efect on ASM itself. I think it is just preparing devices for AMS so this is why I do not understand why it cannot be umnounted. Like separate process helping to user/admin deal with the devices, not helping ASM itself.
I am not against ASMlib (I will try udev, but ASMlib is simplifying things - at least for me ) - I saw there are many discussion, it is not my case, just wish to understand clearly.
ASMLib uses a version depending kernel driver to manage I/O and disk handles. It's obvious to me that you cannot or should not unload the module while you have programs relying on it.
Perhaps you find the following useful: https://blogs.oracle.com/wim/entry/asmlib