Avamar: Ugyldigt svar på Avamar-brugergrænseflade (AUI) og Avamar-administratorkonsol ved oprettelse eller redigering af en sikkerhedskopieringsgruppe

Resumen: Denne artikel løser et problem med Avamar Management Console-databasen (MCDB) vedrørende en kolonneværdi i retention_policies tabellen.

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

Et forsøg på at oprette eller redigere en backupgruppe resulterer ikke i noget svar.
Der refereres ikke til noget i Management Console Service-logfilerne (MCS), men i resten af API-logfilerne.

Nedenfor vises Avamar REST API-loggen.
/usr/local/avamar/var/mc/server_log/mc-rest-api.log

java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS
  at java.lang.Enum.valueOf(Unknown Source)
  at com.avamar.mc.api.replication.dto.DurationUnits.valueOf(DurationUnits.java:3)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.convertRetentionPolicyDescriptor(RetentionServiceImpl.java:194)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.getRetentions(RetentionServiceImpl.java:65)
  at com.avamar.mc.api.retention.web.RetentionController.getRetentions(RetentionController.java:48)
  at com.avamar.mc.api.retention.web.RetentionController$$FastClassBySpringCGLIB$$5ac7ec93.invoke(<generated>)
  at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
  at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
  at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
  at com.avamar.mc.api.retention.web.RetentionController$$EnhancerBySpringCGLIB$$ebae7189.getRetentions(<generated>)
  at sun.reflect.GeneratedMethodAccessor4160.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)

Vær opmærksom på fejlen:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Causa

MCDB registrerede en værdi på 0 i enhedskolonnen i retention_policies tabellen. 

En værdi på 0 i denne kolonne angiver, at opbevaringsperioden måles i timer. Opbevaringsperiodeenheden defineres dog af fire værdier: dage [1], uger [2], måneder [3] og år [4].

Java har ikke en konstant værdi, der er indstillet for enheden af timer, så det er ikke en gyldig konstant værdi, når du kører enum.valueOf()-metoden.

Du kan se DurationUnits.HOURS, hvor den giver en fejl, der siger, at der ikke findes nogen optællingskonstant for timer.

Eksempel:
MCDB med de fejlbehæftede poster
admin@avamar:~/>: psql -p 5555 mcdb
psql (10.6)
Type "help" for help.

mcdb=# select id,name,duration,unit from retention_policies;
        id        |             name             | duration | unit
------------------+------------------------------+----------+------
 MONTHLY:PolicyID | Monthly Retention            |        1 |    3
 WEEKLY:PolicyID  | Weekly Retention             |        1 |    2
 Default:POLICYID | Default Retention            |       60 |    1
 EndUser:PolicyID | End User On Demand Retention |       60 |    1
 Minimal:PolicyID | Minimal Retention            |       60 |    1
 RP1652848159766  | Platinum                     |       60 |    0 <-- These 0s
 RP1652848162931  | Gold                         |       60 |    0 <-- These 0s
 RP1652848166086  | Silver                       |       60 |    0 <-- These 0s
 RP1652848169312  | Bronze                       |       60 |    0 <-- These 0s
(9 rows)

Resolución

Trin 1:
Tag en sikkerhedskopi af MCS.
mcserver.sh --flush


Trin 2:
Stop MCS.
mcserver.sh --stop --force


Trin 3:
Åbn MCDB manuelt.
dbmaint.sh  --db=on --dbname=mcdb


Trin 4:
Opdater værdien for enheden med opbevaringspolitikker til 1 fra 0.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Trin 5:
Start MCS.
mcserver.sh --start


Trin 6:
Sørg for, at du nu kan tilføje eller redigere sikkerhedskopieringspolitikken i AUI eller Avamar-administratoren og starte sikkerhedskopieringsplanlægningsprogrammet.

Información adicional

Se denne video:

Du kan også se denne video på YouTube.

Productos afectados

Avamar
Propiedades del artículo
Número del artículo: 000200096
Tipo de artículo: Solution
Última modificación: 09 jul 2026
Versión:  7
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.