Vous connaissez index advisor, c’est le moteur SQL qui écrit dans le fichier QSYS2/SYSIXADV des suggestions d’index.
Vous pouvez l’utiliser 
 par SQL select * from QSYS2/SYSIXADV
 par Navigator for i
 par ACS
 Vous avez même des procédures pour automatiser cette gestion 
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzajq/rzajqservicesperf.htm
Mais il peut arriver que le fichier soit endommagé, et les commandes IBMi habituelles sont inefficaces sur ce fichier (idem pour  RCLDBXREF et RCLSTG).
C’est souvent un verrouillage du fichier QSYS2/SYSIXADV par des jobs QDBSRVxx  qui fait planter votre sauvegarde par exemple.
Voici la procédure à suivre 
Vous devrez trouver le bon CCSID c’est celui de la zone DBXFIL du fichier QADBXREF  
par exemple par SQL en faisant 
SELECT « CCSID » FROM SYSCOLUMNS 
WHERE COLUMN_NAME = ‘DBXFIL’ and 
TABLE_NAME = ‘QADBXREF’ 
- Essayer d’arrêter les jobs QDBSRVxx
- ALCOBJ OBJ((QSYS2/SYSIXADV *FILE *EXCL)) CONFLICT(*RQSRLS)
- DLTF QSYS2/SYSIXADVIX
- DLTF QSYS2/CONDIDXA
- DLTF QSYS2/SYSIXADV
- CHGJOB CCSID(zz)
- CALL QSYS/QSQSYSIBM
- CALL QSYS/QSQIBMCHK
Si vous n’arrivez pas, allouer le fichier.
Vous allez devoir arrêter index advisor en ajoutant une variable d’environnement 
ADDENVVAR ENVVAR(QIBM_NO_INDEX_ADVICE) VALUE( ») LEVEL(SYS) pour que cela soit pris en compte vous devez faire un IPL 
Vous devez ensuite refaire la procédure ci dessus attention il faut redémarrer index advisor en enlevant la variable d’environnement par
RMVENVVAR ENVVAR(QIBM_NO_INDEX_ADVICE) LEVEL(SYS)
Vous devez refaire un IPL
Pour contrôler, vous pouvez regarder les variables d’environnement
WRKENVVAR ou 
 par sql 
 SELECT 
        CAST(VAR_BNAME AS CHAR(50)) AS Nom_Variable,
          VAR_BVALUE AS Valeur_variable,
          VAR_CCSID AS CCSID_variable
     FROM QSYS2.ENVIRONMENT_VARIABLE_INFO
     WHERE VAR_TYPE = ‘SYSTEM’
et ensuite vous surveillez que le fichier QSYS2/SYSIXADV se remplisse de nouvelles suggestions.
Vous avez des exemples d’utilisation dans ACS.

































