Lately I saw two posts about ASM diskgroups. One by Rodrigo Mufalani talking about migrating ASM diskgroups to another server after failure. The other one by Michael Dinh talking about renaming ASM diskgroups. Here I’d like to summarize some information about moving ASM diskgroups and add something I had in the past
This reminded me of an issue I had years ago and not sure I blogged about it. Back then I had a client that wanted to move from Windows to Linux. What they did is simply shutdown the database, moved the storage from the Windows server to the Linux server and started the database on the Windows server. It worked but got me thinking if it should.
I contacted Oracle support that said that this is fine. Then I updated the SR with a quote from the documentation saying that we need to perform a convert. The reply from support was that actually this is not supported and shouldn’t be done.
Since then I search the documentation, but I couldn’t find any information about simply moving disks from one OS to another. I got the real answer at OOW (don’t really remember the year) from one of the ASM product managers. His explanation was that this is actually not supported, but works between Windows and Linux.
So what should we do in each scenario?
Moving ASM DG Between Servers – Same OS
If the source and target at the same OS, you can simply disconnect the storage from the old server (after everything was shutdown of course) and connect it to the new server. Use Rodrigo’s post (the links is at the top of this post for this). The only issues are if you already have a disk with the same name (if you use asmlib) or a diskgroup with the same name.
If you have a disk with the same name, rename it using:
$ oracleasm renamedisk <old-label> <new-label>
If you have a diskgroup with the same name, rename it using the steps in Michael’s post (the link is at the top of this post).
In cases where you can’t change the name, DO NOT MOVE THE DISKS. It might corrupt your ASM.
Moving ASM DG Between Servers – Different OS
As far as I know you cannot do that in a supported way. The correct way to move ASM diskgroups to a different OS is to create a new ASM on the new OS and copy the files over the network.
If you have more information about moving ASM disks between OS or if you could find anything about it in the documentation, feel free to write it in the comments.
Can we TTS migrate rather than migrate the DG.
These are 2 different thing.
Moving the DG is physically moving the storage from one server to another. Even if you do that, on the new server you still need to either configure and start the DB or use TTS to attach the tablespaces to a different DB.
When you use TTS, you perform export, then copy the files so they will be accessible to the other database, then attach the tablespaces.
One of the options to move the files is to locate them on a dedicated DG and move the entire DG.
Hope it is clear.
Yes now it is clear Liron.