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

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

Ten artykuł dotyczy Ten artykuł nie dotyczy Ten artykuł nie jest powiązany z żadnym konkretnym produktem. Nie wszystkie wersje produktu zostały zidentyfikowane w tym artykule.

Objawy

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

Przyczyna

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)

Rozwiązanie

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.

Dodatkowe informacje

Se denne video:

Du kan også se denne video på YouTube.

Produkty, których dotyczy problem

Avamar
Właściwości artykułu
Numer artykułu: 000200096
Typ artykułu: Solution
Ostatnia modyfikacja: 09 lip 2026
Wersja:  7
Znajdź odpowiedzi na swoje pytania u innych użytkowników produktów Dell
Usługi pomocy technicznej
Sprawdź, czy Twoje urządzenie jest objęte usługą pomocy technicznej.