How to change existing database block size in all tablespaces

Hi,
Need Help to change block size for my existing database which is in 8kb of block size.
I have read that we can only change block size during database creation, but i want to change it after database installation.
because for some reason i dont want to change the database installation script.
Can any one list the steps to change database block size for all existing table space (except system, temp ).
want to change it to 32kb.
Thank you for you time.
-Rushang Kansara

> We are facing more and more physical reads, I thought by using 32K block size
we would resolve that..
A physical read reported by Oracle may not be - it could well be a logical read from the o/s file system cache and not a true physical read. With raw devices for example, a physical I/O reported by Oracle is indeed one as there is no o/s cache for raw devices. So one needs to be careful how aone interprets number like physical reads.
Lots of physical reads may not necessarily be a bad thing. In contrast, a high percentage of "good/fast" logical reads (i.e. a high % buffer cache hit ratio) may indicate a serious problem with application design - as the application is churning through the exact same data again and again and again. Applications should typically only make a single pass through a data set.
The best way to deal with physical reads is to make them less. Simple example. A database deals with a lot of inserts. Some bright developer decided to over-index a table. Numerous indexes for the same columns exist in difference physical column orders.
Oracle now spends a lot of time dealing (reading) with these indexes when inserting (or updating a row). A single write I/O may incur a 100 read I/Os as a result of these indexes needing to be maintained.
The bottom line is that "more and more physical I/O" is merely a symptom of a problem. Trying to speed these up could well be a wasted exercise. Besides, the most optimal approach to "lots of I/O" is to tune it to make less I/O.
I/O is the most expensive operation for a RDBMS. It is very difficult to make this expense less (i.e. make I/Os faster). It is more effective to make sure that you use this expensive resource in an optimal way.
Simple example. Single very large table with 4 indexes. Not very efficient design I/O wise. Single very large partitioned table with local indexes. This can reduce I/O on that table by up to 80% in my experience.

Similar Messages

  • How to Calculate the Database block size??

    Can someone please tell me how during the Oracle Installation does one calculate the db_dblock_size. Thank u

    One way to find is to right click the drive in Windows Explorer and click Format (Not actually formatting it).
    In the popup window, you would see the "Allocation unit size" for the selected drive. Click "Close" to exit when done.

  • Database Block Size Smaller Than Operating System Block Size

    Finding that your database block size should be in multiples of your operating system block size is easy...
    But what if the reverse of the image below were the case?
    What happens when you store an Oracle Data Block that is 2 KB in an 8 KB Operating System Block?  Does it waste 6 KB or are there 4 Oracle Data Blocks stored in 1 Operating System Block?
    Is it different if you use ASM?
    I'd like to introduce a 2 KB block size into a RAC Exadata environment for a small set of highly transactional tables and indexes to reduce contention on blocks being requested in the Global Cache.  I've witnessed horrendous wait times for a plethora of sessions when a block was highly active.
    One index in particular has a column that indicates the "state" of the record, it is a very dense index.  Records will flood in, and then multiple processes will poll, do work, and change the state of the record.  The record eventually reaches a final state and is never updated again.
    I know that I can fill up the block with fluff by adjusting the percent free, percent used, and initrans, but that seems like a lazy hack to me and I'd like to do it right if possible.
    Any thoughts or wisdom is much appreciated.
    "The database requests data in multiples of data blocks, not operating system blocks."
    "In contrast, an Oracle block is a logical storage structure whose size and structure are not known to the operating system."
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#BABDCGIB

    But what if the reverse of the image below were the case?
    What happens when you store an Oracle Data Block that is 2 KB in an 8 KB Operating System Block?  Does it waste 6 KB or are there 4 Oracle Data Blocks stored in 1 Operating System Block?
    Is it different if you use ASM?
    I'd like to introduce a 2 KB block size into a RAC Exadata environment for a small set of highly transactional tables and indexes to reduce contention on blocks being requested in the Global Cache.  I've witnessed horrendous wait times for a plethora of sessions when a block was highly active.
    One index in particular has a column that indicates the "state" of the record, it is a very dense index.  Records will flood in, and then multiple processes will poll, do work, and change the state of the record.  The record eventually reaches a final state and is never updated again.
    I know that I can fill up the block with fluff by adjusting the percent free, percent used, and initrans, but that seems like a lazy hack to me and I'd like to do it right if possible.
    Any thoughts or wisdom is much appreciated.
    "The database requests data in multiples of data blocks, not operating system blocks."
    "In contrast, an Oracle block is a logical storage structure whose size and structure are not known to the operating system."
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#BABDCGIB
    You could have answered your own questions if you had just read the top of the page in that doc you posted the link for
    >
    At the finest level of granularity, Oracle Database stores data in data blocks. One logical data block corresponds to a specific number of bytes of physical disk space, for example, 2 KB. Data blocks are the smallest units of storage that Oracle Database can use or allocate.
    An extent is a set of logically contiguous data blocks allocated for storing a specific type of information. In Figure 12-2, the 24 KB extent has 12 data blocks, while the 72 KB extent has 36 data blocks.
    >
    There isn't any 'wasted' space using 2KB Oracle blocks for 8KB OS blocks. As the doc says Oracle allocates 'extents' and an extent, depending on your space management, is going to be a substantial multiple of blocks. You might typically have extents that are multiples of 64 KB and that would be 8 OS blocks for your example. Yes - it is possible that the very first OS block and the very last block might not map exactly to the Oracle blocks  but for a table of any size that is unlikely to be much of an issue.
    The single-block reads used for some index accesses could affect performance since the read of a 2K Oracle block will result in an 8K OS block being read but that 8K block is also likely to be part of the same index.
    The thing is though that an index entry that is 'hot' is going to be hot whether the block it is in is 2K or 8K so any 'contention' for that entry will exist regardless of the block size.
    You will need to conduct tests using a 2K (or other) block and cache size for your index tablespaces and see which gives you the best results for your access patterns.
    You should use the standard block size for ALL tablespaces unless you can substantiate the need for a non-standard size. Indexes and LOB storage are indeed the primary use cases for uses non-standard block sizes for one or more tablespaces. Don't forget that you need to allocate the appropriate buffer cache.

  • How should be set Index block size in Warehouse databases?

    Hi,
    We have Warehouse database.
    I cannot find out index block size.
    1. Where can I get know our index block sizes?
    2. How can I enlarge index block sizes? Is it related with tablespace?
    After your suggestion do I need increase or set buffer cache keep pool according to block sizes? 2K, 4K, 8K, 16K and 32K can be specified?
    could you help me please?
    thanks and regards,

    See the BLOCK_SIZE column in DBA_TABLESPACES.
    You can't "increase" the block size. You'd have
    a) to allocate DB_xK_cache_size for the new "x"K block size
    b) create a new tablespace explicitly specifying the block size in the CREATE TABLESPACE command
    c) rebuild your indexes into the new tablespace.
    Indexes created in a tablespace with a larger block size have more entries in each block.
    You may get better performance.
    You may get worse performance.
    You may see no difference in performance.
    You may encounter bugs.
    "increasing block size" is an option to be evaluated and tested thoroughly. It is not, per se, a solution.
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Is tablespace block size and database block size have different meanings

    at the time of database creation we can define database block size
    which can not be changed afterwards.while in tablespace we can also
    define block size which may be different or same as define block size
    at the time of database creation.if it is different block size from
    the database creation times then what the actual block size using by oracle database.
    can any one explain in detail.
    Thanks in Advance
    Regards

    You can't meaningfully name things when there's nothing to compare and contrast them with. If there is no keep or recycle cache, then whilst I can't stop you saying, 'I only have a default cache'... well, you've really just got a cache. By definition, it's the default, because it's the only thing you've got! Saying it's "the default cache" is simply linguistically redundant!
    So if you want to say that, when you set db_nk_cache_size, you are creating a 'default cache for nK blocks', be my guest. But since there's no other bits of nk cache floating around the place (of the same value of n, that is) to be used as an alternate, the designation 'default' is pointless.
    Of course, at some point, Oracle may introduce keep and recycle caches for non-standard caches, and then the use of the differentiator 'default' becomes meaningful. But not yet it isn't.

  • Database block size and swap

    Hi,
    I changed the db_block_size from 4k(oracle 9.2.0.1) to 8k on my solaris machine. The swap use has increased dramatically I am wondering is there any relation between db_block_size and swap.

    Dup Database Block Size, please check our replies in other post.

  • How to change the default window size display font size on Lync 2013 main window?

    Hi champs,
    Just a simple non-technical question: How to change the default window size display font size on Lync 2013 main window on Windows 7 desktop?
    Thanks,

    Hi,
    Did you mean change the Lync: Change the Default Font and Color of Instant Messages just as Edwin said above?
    If not, as I know, there is no natural way to change it.
    If yes, on the latest version of Lync 2013 client, there is a new option “IM” on Lync client “Options” list. And you need to change the default Font and Color of IM in the interface of “IM”.
    Best Regards,
    Eason Huang
    Eason Huang
    TechNet Community Support

  • How to change the picture frame size in Lightroom 5 Book

    I would like to control the actual picture frame size when making a Book in Lightroom 5. Or else know the sizes of the different picture frames provided by choosing the different page layouts. That way I can either change the picture frame dimensions to accomodate each photo or change the image size to fit in the offered picture frame. I find that using the software as is winds up cropping the images in unwanted ways. Modifying the picture frame would be my preferred alternative. Appreciate any ideas

    Hi again Tony,
                I have been using Adobe Photoshop 7, Photoshop Elements, Perfect Photo Suite, Photo Studio, etc., changing Image size, placing a picture on a page and then, do a simple last minute size adjustment by using the arrows to stretch or shrink it in place. Things would be a lot simpler if I could do the same thing with the cells in Lightroom 5. Cell pad adjustments do not fill the bill.
    I think we’ve pretty much concluded this exchange. Thanks again for your effort.
        david
    ay [email protected]
    Sent: Wednesday, March 12, 2014 11:27 PM
    To: dgbrow
    Subject: How to change the picture frame size in Lightroom 5 Book
    Re: How to change the picture frame size in Lightroom 5 Book
    created by Tony Jay <http://forums.adobe.com/people/Tony+Jay>  in Photoshop Lightroom - View the full discussion <http://forums.adobe.com/message/6205206#6205206

  • How to know the OS block size ?

    Hi all
    I want to know how to get the OS block size of my server ?
    For example if my server is Windows 2000 Professionnal , how can I get the size of my OS block size ?
    Thank you

    One way to find is to right click the drive in Windows Explorer and click Format (Not actually formatting it).
    In the popup window, you would see the "Allocation unit size" for the selected drive. Click "Close" to exit when done.

  • How to change the payment Block?

    Dear all,
    How to change the payment Block?
    Please help.
    Regards
    Mahfuz

    Hello,
    Please go through the below mentioned links it will help you
    Mass Removal of Payment block
    Payment block in customer/vendors - how to clear | SCN
    Posting block removal in the payment proposal editing
    Regards,
    Basappa

  • How to change predefine bar code size in smartform style

    hi,
    in smartstyles--character setting, when we define barcode, there is one bar code "BC_C128B" with width 9CM. May i know how to change it into smaller size. Thanks.
    regards,
    BK

    Try this:
    Go to SE73 transaction code
    Look for the barcode you want.
    Go to edit mode make a copy of this.
    change the width and height to the one you want.
    Attach this new barcode in the device type you are using in printer barcodes button in SE73
    In the prefix - create a new printer control eg. SBP99
    in the control sequence part:
    eg.
    BY2,3.0,80BCN,,N,N,N,N^FD>9
    The 80 here corresponds to 1 cm height. This is in DPI and depends on the zebra label printer default.
    Download ZPL II programming guide in Zebra website to give you more details on the commands to use.
    Hope this helps.

  • 8K Database Block Size in 11.5.2

    The Release Notes for 11.5.2 state the minimum database block size is 8K. However, this was not a requirement for 11.5.1 and instead patch 1301168 was created for customers with a database block size less than 8K.
    In 11.5.2 is it MANDATORY that the database block size be 8K or greater, or can patch 1301168 be applied in lieu of migrating to a larger block size?

    4K to 8K:
    Use 7.3.4 Export using Unix Pipe to create the export. Files mayhave to split.
    Rebuild the 8.1.6 database. Good Opportunity to consolidate files.
    Import using Unix Pipe with 8.1.6 import utility.
    Set data files to autoextend, unlimited including system. Do not autoextend RBS, TEMP and log.
    Use COMMIT and IGNORE on import.
    Use COMPRESS on export.
    USE very large buffers on both export and import.
    Ignore messages on SYS and SYSTEM tablespace and other definitions.
    If you are using 10.7 with 8.1.6, use interop patch,a nd other module patches (see release notes). Run adprepdb.sql after Import.
    Compile all invalid modules till they match 10.7 invalid modules. Fix invalid modules like the ones documented in release notes.
    If you doing it for just 11.5.2 Just do export import in 8.1.6 with large file system set on your file system and you should be fine. AIX supports Large file systems.
    null

  • Database block size vs. tablespace blocksize

    dear colleques
    the block size of my database is 8192 (db_block_size=8192), all the tablespace that i have, have the same block size, now i want to create a new tablespace with a different block size, and when i do so i receive the following error
    ORA-29339: tablespace block size 4096 does not match configured block size
    please help solving the problems
    cheers
    asif

    $ oerr ora 29339
    29339, 00000, "tablespace block size %s does not match configured block sizes"
    // *Cause:  The block size of the tablespace to be plugged in or
    //          created does not match the block sizes configured in the
    //          database.
    // *Action:Configure the appropriate cache for the block size of this
    //         tablespace using one of the various (db_2k_cache_size,
    //         db_4k_cache_size, db_8k_cache_size, db_16k_cache_size,
    //         db_32K_cache_size) parameters.
    $                                                 You have to configure db_4k_cache_size to a value different from zero. See http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams037.htm#sthref161

  • How to change the UWL refresh rate for all portal users.

    Hi Portal Experts,
    How to change the UWL refresh rate for all portal users?
    Users can individually change the refresh rate through "Personalise View" in UWL.But we want this to set it for all users(we have 10k portal users).
    It was defaultically set to 5 mins for all users.How to change this to 20 mins.
    Thanks
    Sony.

    1.      Launch the UWL iView configuration page.
    You can access the iView from the UWL administration pages (System Administration ® System Configuration). Navigate to the property editor as follows:
          From the Universal Worklist Systems, choose the system for which you want to edit the properties.
        Choose Edit.
    may be you can get clear help from below help file
    http://help.sap.com/saphelp_nw04s/helpdata/en/eb/101fa0a53244deb955f6f91929e400/frameset.htm
    regards
    nagaraju

  • Can tablespace block size different from the database block size

    I have a 10.2.0.3 database in Unix system.
    I created a database used default block size of 8k. However, the client application requires 16k block size database. Can I work around to create a tablespace that has 16k block size instead of drop the database to recreate the database.
    Thanks a lot!

    As Steven pointed out, you certainly can.
    I would generally question, though, whether you should.
    - Why does the application require 16k block sizes? If this is a custom application, it almost certainly doesn't really require 16k blocks. If this is a packaged application, it probably doesn't really require 16k blocks. If 16k blocks are a requirement for support, I would wager that having the application's objects in 16k block size tablespaces in a database with 8k blocks would not be supported.
    - Mixing block sizes increases the management complexity of your database, potentially substantially. You need to specify a completely separate buffer cache for the 16k blocks, a buffer cache that would not be integrated with Oracle's automatic SGA management functionality. Figuring out how to split up the buffer cache between 8k and 16k blocks tends to be rather hard (particularly if the mix changes over time), which means that DBAs are going to be spending substantially more time managing the SGA in this sort of system than in a vanilla 10.2.0.3 system. And that DBAs will have many more opportunities to set things up incorrectly.
    Justin

Maybe you are looking for