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
- Randomly distributed tables will be grouped (see:
nzredrexpand --redistributeOnly
- If any table(s) is too large as to be processed via this script you will get a runtime
error:
at which point you may need to consider completing the task by doing an offline redistribution of the data by runningERROR: Disk is full
nzredrexpand --redistributeOnly
.