Avamar: Interfejs użytkownika Avamar (AUI) i konsola administratora Avamar są nieprawidłowe podczas tworzenia lub edytowania grupy kopii zapasowych

Summary: Ten artykuł dotyczy problemu z bazą danych konsoli Avamar Management Console (MCDB) dotyczącego wartości kolumny w tabeli retention_policies.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Próba utworzenia lub edycji grupy kopii zapasowych nie powoduje odpowiedzi.
Nic nie jest przywoływane w dziennikach usługi konsoli zarządzania (MCS) poza dziennikami interfejsu API reszty.

Poniżej przedstawiono dziennik interfejsu API REST Avamar.
/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)

Uwaga na błąd:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Cause

Baza danych MCDB zarejestrowała wartość 0 w kolumnie jednostki tabeli retention_policies. 

Wartość 0 w tej kolumnie sugeruje, że okres przechowywania jest mierzony w godzinach. Jednak jednostka okresu retencji jest definiowana przez cztery wartości: dni [1], tygodnie [2], miesiące [3] i lata [4].

Java nie ma ustawionej stałej wartości dla jednostki godzin, więc nie jest to prawidłowa wartość stała podczas uruchamiania metody

enum.valueOf().Można zobaczyć element DurationUnits.HOURS, w którym zgłasza błąd mówiący, że nie istnieje stała wyliczeniowa godzin.

Przykład:
MCDB z błędnymi wpisami
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)

Resolution

Krok 1:
Wykonaj kopię zapasową MCS.
mcserver.sh --flush


Krok 2:
Zatrzymaj MCS.
mcserver.sh --stop --force


Krok 3:
Wywołaj bazę danych MCDB ręcznie.
dbmaint.sh  --db=on --dbname=mcdb


Krok 4:
Zaktualizuj wartość jednostki zasad przechowywania z 0 do 1.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Krok 5:
Uruchom MCS.
mcserver.sh --start


Krok 6:
Upewnij się, że możesz teraz dodać lub edytować zasady tworzenia kopii zapasowych w AUI lub Avamar Administrator i uruchom harmonogram tworzenia kopii zapasowych.

Additional Information

Zobacz ten film:

Możesz także obejrzeć ten film na YouTube.

Affected Products

Avamar
Article Properties
Article Number: 000200096
Article Type: Solution
Last Modified: 03 Feb 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.