Skip to Main Content
  • Questions
  • Time needed to move 1 datafile from 1 diskgroup to another in ASM.

Breadcrumb

May 4th

Question and Answer

Connor McDonald

Thanks for the question, Saivishnu.

Asked: January 07, 2020 - 6:26 am UTC

Last updated: January 22, 2020 - 2:55 am UTC

Version: 11.2.0

Viewed 1000+ times

You Asked

Hi,we have 1 TB datafile in a diskgroup with normal redundancy. We are planning to move that datafile to another diskgroup with external redundancy. The reason for that is because we have a huge diskspace consumption and if we get rid of redundancy, then we will save half the space. We would like to know the time required to move that 1 TB datafile to another diskgroup. Is there a mechanism available to find out an approximate time required to move the datafile from 1 diskgroup to another. We need to complete the activity in 30 minutes.

and Connor said...

It will take...

|--------------------------------------------|

....this long :-)

Jokes aside, it depends on your storage hardware, your CPU power, concurrent usage, number of disks, cache overhead, etc etc etc etc..... Moving a terabyte could take anything from 1min to 1 month.

But....the BEST person to know how long it will take is YOU.

- create a 1gig datafile, and move that, and time it
- create a 10gig datafile, and move that, and time it
- create a 50gig datafile, and move that, and time it

And then you'll have a very good estimate of what a terabyte will take.

But mirroring can be controlled at the file level, so perhaps an option for you currently is:

- Leave existing files in the current (mirrored) disk group, but set them to un-mirrored at the file level. That frees up some space
- Wait until you upgrade to 12c, at which point you can move files around with no outage at all.

Rating

  (2 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

How to un-mirror the existing datafile in asm?

A reader, January 13, 2020 - 5:35 am UTC

Hi,
Thank you for your reply. Can you please give us a link which gives us an idea on how to carry out the activity?
Just to confirm some idea i got from the discussion:
We can un-mirror a datafile even in a diskgroup with normal/high redundancy.
We can create a new datafile without any mirroring in a diskgroup with normal/high redundancy.
Connor McDonald
January 14, 2020 - 2:54 am UTC

The following should work I think (I don't have an ASM instance to hand currently, so make sure you do this on a test system first)

1) Add a filegroup

alter diskgroup MYDH add filegroup FG set 'datafile.redundancy'='unprotected';

2) Move the file to the file group

alter diskgroup MYDH move file '...' to filegroup FG ;

But given solution can be used for flex diskgroups only,right?

A reader, January 17, 2020 - 6:53 am UTC

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ostmg/asm-filegroups.html#GUID-B2AC119F-BFFE-4288-A721-E8B97D574632

According to the above link, only disk groups with flex or extended redundancy can have file group. So we have to change the redundancy of the disk group to flex and perform above mentioned activities? Is that the better option we have?

I have one more doubt. ASM store copy in failure group. By default, failure group of a disk is within that disk itself. Does that mean copy is stored in failure group of other disks? If that is the case, then ASM won't store a copy if there is only one DISK in DB server. Is my understanding right?



Connor McDonald
January 22, 2020 - 2:55 am UTC

I spoke to the ASM people.

File groups are the only way to do this until 12.2.

If you only have 1 disk in your server, then no matter would you do in ASM, you obviously are at risk.


More to Explore

Administration

Need more information on Administration? Check out the Administrators guide for the Oracle Database