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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。