Thanks for pointing out Mujeeb ..
Looks like, even if the definition of the view is different, if you create a view with the name of an invalid view, it is replaced.
So, for the original question,
Just issue a CREATE VIEW Statement, and DB2 will replace the invalid view.
HTH
Sathyaram
[dba01][/dba01]$db2 "create table t1(i int,j int)"
DB20000I The SQL command completed successfully.
[dba01][/dba01]$db2 "create view v1 as select i,j from t1"
DB20000I The SQL command completed successfully.
[dba01][/dba01]$db2 drop table t1
DB20000I The SQL command completed successfully.
[dba01][/dba01]$db2 -x "select viewname,valid from syscat.views where viewname='V1'"
V1 X
[dba01][/dba01]$db2 "create table t1(i int,j int)"
DB20000I The SQL command completed successfully.
[dba01][/dba01]$db2 "create view v1 as select i from t1"
SQL0280W View, trigger or summary table "DBA01.V1" has replaced an existing
inoperative view, trigger or summary table. SQLSTATE=01595
[dba01][/dba01]$
[dba01][/dba01]$db2 -x "select viewname,valid from syscat.views where viewname='V1'"
V1 Y
[dba01][/dba01]$