nz_redistribute commands

Deployment options: Netezza Performance Server for Cloud Pak for Data System

Commands to redistribute data amongst the data slices after a hardware expansion.

The nz_redistribute Command - Online redistribute

If you invoke the script with no arguments, as in

nz_redistribute
if will provide summary information, telling you which databases still have tables needing to be redistributed. You can invoke the script in this manner at any time to review the overall status of the system. When you believe all tables have been redistributed you should invoke the script in this manner a final time for confirmation -- at which point you should expect to receive the following status message:
There are no more tables needing to be redistributed.
nz_redistribute -SpaceEstimate [<dataslice_count>]
In order to perform the redistribution the data in each table is (basically) copied, after which the old/original will be discarded. This requires some amount of free space on each of the existing dataslices (the bigger the table, the more space that will be needed). This option can be used to provide an estimate as to whether or not there might be an issue with space when running this script. If you invoke this script/option before the actual hardware expansion has started then you will need to specify the number of dataslices that you plan to expand to. If you invoke this script/option afterwards, then this value would represent the prior dataslice count (the number of dataslices you are expanding from). In this scenario the <dataslice_count> is optional as the script will attempt to determine the prior value automatically. And/or you can explicitly specify the value to be used on the command line.
During the actual redistribution of the data, table storage (on the original dataslices) will begin to be freed up because:
  • Randomly distributed tables will be grouped (see: nz_rerandomize)
  • Deleted rows will be physically eliminated
  • Smaller tables will be processed first
  • And as more and more tables are processed, they will use up less space on the original dataslices as rows are moved to the new dataslices
nzredrexpand --redistributeOnly
If any table(s) is too large as to be processed via this script you will get a runtime error:
ERROR: Disk is full
at which point you may need to consider completing the task by doing an offline redistribution of the data by running nzredrexpand --redistributeOnly.