3.4.6.3 Disabling Write Back Flash Cache on a Rolling Basis for Software Versions Lower Than 11.2.3.3.1

You can enable Write Back Flash Cache on each storage server using a rolling method.

The cell services must be shut down before changing the flashCacheMode attribute. The cell services can shut down on rolling basis. The flash cache must be flushed and dropped before changing the attribute to writethrough. After the flush operation begins, all caching to the flash cache stops. Ensure cell services resynchronization is complete on the current storage server before changing the next storage server.

There is a shell script to automate enabling and disabling write back Flash Cache. Refer to My Oracle Support note 1500257.1 for the script and additional information.

  1. Log in as the root user to the first cell to be disabled for write back flash cache.
  2. Verify the asmDeactivationOutcome attribute is yes for all grid disks on the cell.
    # dcli -g cell_group -l root cellcli -e "LIST GRIDDISK WHERE   \
     asmdeactivationoutcome != 'Yes' attributes name, asmdeactivationoutcome, \
    asmmodestatus"
    The grid disk attribute asmDeactivationOutcome must be yes, and the asmModeStatus attribute must be online for all grid disks on the current cell before moving to the next cell. If a grid disk does not have an asmDeactivationOutcome attribute value of yes, then you must resolve this issue before proceeding.
  3. Check the amount of dirty data in the flash cache.
    # dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES  \
    name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\'"
  4. Flush the flash cache.
    # dcli -g cell_group -l root cellcli -e ALTER FLASHCACHE ALL FLUSH
  5. Check the status of the flash cache.
    # dcli -g cell_group -l root cellcli -e LIST CELLDISK ATTRIBUTES name, \
    flushstatus, flusherror | grep FD

    The status shows completed when the flush is done.

  6. Perform the following set of steps on for all cells, one cell at a time.
    In other words, perform steps (a) through (i) on one cell, then perform the same steps on another cell until all the cells are done.
    1. Drop the flash cache.
      # cellcli -e DROP FLASHCACHE
    2. Inactivate all grid disks on the cell.
      # cellcli -e ALTER GRIDDISK ALL INACTIVE
    3. Shut down CELLSRV services.
      # cellcli -e ALTER CELL SHUTDOWN SERVICES CELLSRV
    4. Set the flashCacheMode attribute to writethrough.
      # cellcli -e "ALTER CELL FLASHCACHEMODE=writethrough"
    5. Restart cell services.
      # cellcli -e ALTER CELL STARTUP SERVICES CELLSRV
    6. Reactivate the grid disks on the cell.
      # cellcli -e ALTER GRIDDISK ALL ACTIVE
    7. Re-create the flash cache.
      # cellcli -e CREATE FLASHCACHE ALL
    8. Check the status of the cell.
      # cellcli -e LIST CELL DETAIL | grep flashCacheMode
    9. Check the grid disk attributes asmDeactivationOutcome and asmModeStatus.
      # cellcli -e LIST GRIDDISK ATTRIBUTES name,status,asmdeactivationoutcome,asmmodestatus
      

      The asmDeactivationOutcome attribute should be yes, and the asmModeStatus attribute should be online.

      If the disk status is SYNCING, wait until it is ACTIVE before proceeding.