Могу ли я перестроить несколько индексных пространств в DB2 для z / OS одной командой? - PullRequest
1 голос
/ 01 июля 2019

В DB2 для z / OS версии 10 ошибочная утилита оставила МНОЖЕСТВЕННЫМ индексным пространствам в состоянии «RW, RBDP» в конкретной базе данных.Я могу успешно использовать команду REBUILD INDEXSPACE, чтобы исправить их один за другим, но их МНОГО.Итак, я надеялся на какой-то подстановочный знак или параметр * ALL, но у меня это пока не работает.

Есть ли способ сделать эквивалент следующего:

REBUILD INDEXSPACE (MYDB. *)

Заранее спасибо!

1 Ответ

1 голос
/ 02 июля 2019

Вы не можете сделать всю базу данных одновременно, но вы могли бы сделать несколько запросов вместе с LISTDEF , чтобы получить аналогичный результат.

Сначала найдите нужные индексы:

SELECT '  INCLUDE INDEX ' || RTRIM(CREATOR) || '.' || RTRIM(NAME)
FROM SYSIBM.SYSINDEXES
WHERE DBNAME = 'MYDB'

Это даст вам список индексов, связанных с этой базой данных. Затем вы можете принять результаты как часть большего LISTDEF. Вот пример JCL (честно говоря, я не уверен, насколько это относится к моему магазину, поэтому могут потребоваться некоторые изменения):

//*****************************************************
//*  RUN REBUILD INDEX UTILITY                         
//*****************************************************
//IXRBREST EXEC PGM=IEFBR14 DUMMY STEP FOR RESTART     
//IXRBUTIL EXEC DB2UPROC,SYSTEM=DB2T,COND=(4,LT)       
//STEPLIB DD DSN=DB2.PROD.SDSNLOAD,DISP=SHR            
//DB2UPROC.SYSIN DD *                                  
LISTDEF INDEXES                                        
  <insert generated list here>

REBUILD INDEX LIST INDEXES                             
      SORTKEYS SORTDEVT SYSDA SHRLEVEL CHANGE          
      STATISTICS REPORT YES UPDATE ALL                 
      MAXRO 240 LONGLOG CONTINUE DELAY 900 TIMEOUT TERM
      DRAIN_WAIT 50 RETRY 6 RETRY_DELAY 30      

Это должно дать вам индексы, которые нужно перестроить. Если есть некоторые, которые необходимо перестроить, и некоторые из них хороши, вы можете добавить SCOPE PENDING к утилите REBUILD INDEX, и она будет перестраивать только те, которые находятся в состоянии ожидания.

...