Avamar:数据库遇到错误 - 子查询返回多于一行

摘要: 由于返回多行的子查询导致数据库错误,Avamar Server 可能会生成事件代码 22602。此问题出现在管理控制台服务器 (MCS) 日志中,可能与不正确的 MCS 还原有关。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

在 Avamar Server 中执行了回滚,之后管理控制台服务器 (MCS) 显示错误:

Event Code 22602 - The database encountered an error: more than one row returned by a subquery used as an expression.

该错误会重复多次:

mcdb=# select date,time,summary from v_events where code='22602' ;
    date    |     time     |              summary
------------+--------------+------------------------------------
 2024-08-07 | 21:36:38.847 | The database encountered an error.
 2024-08-07 | 21:43:02.476 | The database encountered an error.
 2024-08-07 | 21:43:02.483 | The database encountered an error.
...
 2024-09-06 | 13:30:24.053 | The database encountered an error.
 2024-09-06 | 13:53:27.032 | The database encountered an error.
 2024-09-06 | 14:00:00.01  | The database encountered an error.
(427 rows) 

例外见于 /usr/local/avamar/var/mc/server_log/mcserver.log.0

09/06-11:23:33.00868 [RMI TCP Connection(1304)-10.137.1.65#25952] com.avamar.mc.util.MCException.logException
WARNING: org.postgresql.util.PSQLException: ERROR: more than one row returned by a subquery used as an expression
  at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
  at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
  at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
  at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:498)
  at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:415)
  at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:335)
  at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:321)
  at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:297)
 at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:246)
  at com.avamar.mc.datatap.MCDataAccessObject.getBytesProtected(MCDataAccessObject.java:11484)
  at com.avamar.mc.datatap.MCDataAccessObject.getBytesProtectedLast24Hours(MCDataAccessObject.java:11531)
  at com.avamar.mc.mcsm.DataProtectedCache.getBytesProtectedLast24Hours(DataProtectedCache.java:117)
  at com.avamar.mc.mcsm.MCSManagerService.getBytesProtectedLast24Hours(MCSManagerService.java:796)
  at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)

尽管出现错误消息,但 Avamar Server 正在正确地执行维护活动和备份。

进一步调查,发现管理控制台数据库 (mcdb) 中有重复条目:

admin@av-server:~/>: psql -p 5555 mcdb -c "select * from property_value;"
      property       |                 value
---------------------+----------------------------------------
 morning_cron_start  | -1
 evening_cron_start  | -1
 mcsnmp_cron_start   | 1
 clean_db_cron_start | 3
 morning_cron_start  | -1
 evening_cron_start  | -1
 mcsnmp_cron_start   | 1
 clean_db_cron_start | 3
 systemid            | 1234567890@00:50:56:AB:0E:C5
 systemid            | 1234567890@00:50:56:AB:0E:C5
 hfscreatetime       | 1234567890
 hfscreatetime       | 1234567890
 systemname          | av-server.lab.example.com
 systemname          | av-server.lab.example.com
 restoredFlushTime   | 2024-08-07 08:00:09 CST
 license_period_day  | 14
 license_period_day  | 14
 license_buffer_pct  | 10
 license_buffer_pct  | 10
 rollbacktime        | 1723065800
 rollbacktime        | 1723065800
(21 rows)
admin@av-server:~/>:

Avamar 组、数据集、计划和保留在其名称中显示“.2”:  

admin@av-server:~/>: mccli schedule show --recursive
0,23000,CLI command completed successfully.
Schedule                                 Domain
---------------------------------------- -------------------------------------------------------
Daily Schedule.2.2.2.2.2.2               /
Default Replication Schedule.2.2.2.2.2.2 /
Default Schedule.2.2.2.2.2.2             /
Default Tiering Schedule.2.2.2.2.2.2     /
Evaluation Schedule.2.2.2.2.2.2          /
Notification Schedule.2.2.2.2.2.2        /
Override Daily Schedule.2.2.2.2.2.2      /
Statistics Schedule.2.2.2.2.2.2          /
Usage Intelligence Schedule.2.2.2.2.2.2  /
...
admin@av-server:~/>: 

admin@av-server:~/>: mccli dataset show --recursive
0,23000,CLI command completed successfully.
Dataset                                  Domain                                Type
---------------------------------------- ------------------------------------- ------
Base Dataset.2                           /                                     backup
Default Dataset.2                        /                                     backup
OpenStack Image Dataset.2                /                                     backup
Oracle Cumulative Backup Dataset.2       /                                     backup
Oracle Differential Backup Dataset.2     /                                     backup
Oracle Full Backup Dataset.2             /                                     backup
Oracle Incremental Backup Dataset.2      /                                     backup
SQL Server Differential Backup Dataset.2 /                                     backup
SQL Server Full Backup Dataset.2         /                                     backup
SQL Server Incremental Backup Dataset.2  /                                     backup
Unix Dataset.2                           /                                     backup
VMware Image Dataset.2                   /                                     backup
Windows Dataset.2                        /                                     backup
...
admin@av-server:~/>: 

admin@av-server:~/>: mccli retention show --recursive
0,23000,CLI command completed successfully.
Name                                                Domain
--------------------------------------------------- -------------------------------------
Default Retention.2                                 /
End User On Demand Retention.2                      /
Minimal Retention.2                                 /
Monthly Retention.2                                 /
Weekly Retention.2                                  /
...
admin@av-server:~/>: 

admin@av-server:~/>: mccli group show --recursive
0,23000,CLI command completed successfully.
Group                          Domain                                                  Type   Auto Proxy Mapping Rule       Rule Enabled
------------------------------ ------------------------------------------------------- ------ ------------------ ---------- ------------
...
Default Group.2                /                                                       Normal false              Empty Rule false
Default Proxy Group.2          /                                                       Normal false              Empty Rule false
...
admin@av-server:~/>: 

原因

根本原因未知。经过进一步调查,确定该错误是在服务器回滚之后开始的。通过查看历史记录命令和其他输出,发现发生了不正确的 MCS 还原,这可能会导致此问题。

Avamar Server 已重新部署,无法通过进一步分析来确定根本原因和可能的解决方案。

解决方案

立即联系戴尔技术支持并使用文章 000022859 收集 getlogs。 

受影响的产品

Avamar Server

产品

Avamar
文章属性
文章编号: 000241721
文章类型: Solution
上次修改时间: 16 4月 2025
版本:  2
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。