cancel
Showing results for 
Search instead for 
Did you mean: 

db6conv & online table move

Former Member
0 Kudos

Hello experts,

i am using the DB6CONV 4.09 tool to convert a table online.

I replaced the stored procedure in /db2/db2<sid>/sqllib/functions and issued db2 invoke online_table_move_sp.

DB2 is 9.5 FP6a on AIX.

Restarting the DB is currently not possible.

Is there any other way then restarting db2 to update stored procedures?

Thanks,

Martin

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

When trying to correct DB2 DB Deadlocks on VBDATA using saptools procedure (SAP Note1430621) we received the following error from the db2 command prompt

db2 => call saptools.online_table_move('SAPWAD','VBDATA','WAD#VBDATAD','WAD#VBDATAI','','','','','"VBKEY" VARCHAR(96) NOT NULL WITH DEFAULT '' '' ,"VBMODCNT" INTEGER NOT NULL WITH DEFAULT 0 ,"VBBLKNO" INTEGER NOT NULL WITH DEFAULT 0 ,"VBLEN" SMALLINT NOT NULL WITH DEFAULT 0 ,"VBDATA" VARCHAR(30000) FOR BIT DATA ','MOVE');

SQL0440N No authorized routine named "SAPTOOLS.ONLINE_TABLE_MOVE" of type

"PROCEDURE" having compatible arguments was found. SQLSTATE=42884

and when using the same syntax within a .sql script receive the error:

jq03a010:db2wad 58> ./onlinemove.sql

./onlinemove.sql: Syntax error at line 1: `(' not expected.

Instead of having to use the ADMIN_TABLE_MOVE procedure, can we use DB6CONV to move special flag "VBDATA" VARCHAR(30000) FOR BIT DATA ', as shown in the script below:

call saptools.online_table_move(

'SAPWAD',

'VBDATA',

'WAD#VBDATAD',

'WAD#VBDATAI',

'',

'',

'',

'',

'"VBKEY" VARCHAR(96) NOT NULL WITH DEFAULT '' '' ,

"VBMODCNT" INTEGER NOT NULL WITH DEFAULT 0 ,

"VBBLKNO" INTEGER NOT NULL WITH DEFAULT 0 ,

"VBLEN" SMALLINT NOT NULL WITH DEFAULT 0 ,

"VBDATA" VARCHAR(30000) FOR BIT DATA ',

'MOVE')

;

Former Member
0 Kudos

The problem is solved.

I'll use the latest greatest DB6CONV version, although the implementation in production requires a "little" overhead and time.

Restarting DB2 is of course not neceassary when using the "invoke" command.

MfG

Martin