how to recover a bad block in a big file tablespace
alee alee, January 17, 2018 - 7:46 am UTC
thank you very much, and you said,"That said, its rare to need to recover a particular datafile - the most common scenarios are recover a database, or recover/fix some blocks. In either case, there are mechanisms available to avoid needing to do massive file operations", would you please teach me,if a bad block occurs in my big file space(such as a datafile with a 100G size), what is my best solution?
January 22, 2018 - 1:39 am UTC
Juan Ignacio, December 03, 2020 - 12:11 am UTC
Hi,
Talking about BIGFILES, what about allocation which is better to allocate them on ASM or FileSystem/vol-group?
Regards
December 04, 2020 - 3:32 am UTC
I don't think it really matters.
ASM is a good default because we take care of all of the underlying IO optimizations (direct/asynch IO etc).
But as long as your file system supports direct/asynch and is configured to use them, then it should be just as good.
The only thing to steer clear from nowadays is raw, because we no longer support it.
A reader, July 12, 2023 - 5:54 am UTC
July 13, 2023 - 5:40 am UTC
The arguments there seem to be:
a- less space in SGA
b- less space in controlfile
c- less files for checkpoint
I'll counter that with a challenge to anyone who can post an AWR report where they can demonstrate a significant performance degradation due to the number of datafiles in their database.
If you had thousands and thousands of datafiles (which also means you're into the hundreds of terabytes region for overall database size), then *maybe* you might see a small performance difference.
bigfiles are a *manageability* feature not a performance feature.
A reader, July 12, 2023 - 7:48 am UTC
Just adding doc id for reference and excerpts from forum url :
BIGFILE Type Tablespaces Versus SMALLFILE Type (Doc ID 262472.1)
let's say you decide to create several bigfile tablespaces rather than having smallfile tablespaces with several datafiles each,
with that you can reduce the DB_FILES initialization parameter which will reduce the amount of SGA space required for datafile information.
Also the controlfile will be smaller because it now doesn't have to store that many datafile information,
instead it will just have information for one big datafile per tablespace.
And as for the CKPT and DBWR, these bigfile tablespaces are locally managed tablespaces with automatic segment space management
which provide a different optimized code path to use them plus the rowid is "different",
since the relative file number is always the same so there's no need for that, those "extra bytes" will be used to allow bigger datafiles.