When a table must be altered to increase the size of a row the user must be mindful of the size of the bufferpool associated with the parent tablespace. If the row will increase beyond the size of the bufferpool record size limit then the bufferpool on the tablespace must be changed to accommodate this.
Component: RCM, RCU
This Error message is seen when a tablespace and table are altered to increase the size of the tables' row beyond 32K. The bufferpool on the tablespace has been changed to BP32K size.
Increasing the row length of a table is done with an RC/Migrator ALTERATION strategy. The alteration would involve a change to one or more columns in the table. If the row size becomes longer than the original tablespace bufferpool allows then the tablespace must also be altered referencing a bufferpool that accommodates the larger row size. This could for example be to a 32K size bufferpool like BP32K.
Having changed the bufferpool on the tablespace first and then when in the TABLE EDIT RC/Migrator still displays the RO269E error message.
On the screen you will see a message like this:
RO269E Sum of column sizes exceeds maximum Row Size by nnnn bytes. When the error message is displayed press the PF1 key to get an extensive help description regarding the next actions to take.
A table used to be stored on a tablespace with a 4K buffer pool on BP0. A new column has been added to the end of the table, a new varchar column which effectively increased it's row length beyond the 4K limit.
It used to be this : Row Size => 3,769/-279......3,769 bytes long with 279 bytes before it's 4048 byte limit is reached.
After the addition of a 4000 byte varchar column it looks like this: Row Size => 4,048/+3,723.........this suggests that it is 3,723 bytes over the 4K size.
RC/Migrator displays this message while in the Table Alter screen. :RO269E Sum of column sizes exceeds maximum Row Size by 3723 bytes.
The tablespace has already been selected and its tablespace changed to a bufferpool to BP32K. So why is the message still seen?
When RC/Migrator looks at the bufferpool being used by the tablespace its looking at the last catalog definition. When the Tablespace has been changed to 32K on the edit screen of RC/Migrator it still does not exist as such on the catalog. So when the table is edited it still does not recognise this bufferpool change.
For this reason there is a command available while editing the table called...BUFFERPOOL. Use a "?" on the COMMAND line and see the list of commands. Then use another "?" on the BUFFERPOOL command "S" column and it shows you the help text. Go back to the edit screen and enter "BUFFERPOOL 32K" and it will override the catalog value to allow the edit to be finished by clearing the error message.
When this strategy is analysed the tablespace will have the correct bufferpool and there won't be any problem with the row length of the associated table.