Authorization or Privilege problem with ALTER MODULE
When you try to execute a command with all privileges possible and you get an authorization or privilege error, you have to check if the command require you be the owner of the object.
One of this commands is the ALTER MODULE, see the example below:
labdb201@server1:~$ db2 "ALTER MODULE schema1.Module add TYPE ITEMLIST AS INTEGER ARRAY [VARCHAR(100)]"
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0551N "LABDB201" does not have the required authorization or privilege to
perform operation "ALTER MODULE" on object "MODULO2.SALESMODULE2". LINE
NUMBER=3. SQLSTATE=42501
How to fix the problem above
You have to drop the object, in our example, drop the module and recreate it or you have to execute the command as owner of object.
To find out who is the object owner, execute the command below:
select owner from syscat.modules where moduleschema='SCHEMA1' and modulename='MODULE'"