今天准备给weblogic打补丁时,看到了adminserver的状态是失败,检查了日志发现./data/store/diagnosticsWLS_DIAGNOSTICS000000.DAT文件也存在的,内容也是有的。报错信息如下:
<Error> <Diagnostics> <TServer-weblogic> <AdminServer> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <257900a4-83a4-4814-91bf-410159b2115c-0000001a> <1617865224117> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-320142> <An error was encountered while performing size-based data retirement on archive HarvestedDataArchive.
weblogic.diagnostics.accessor.DiagnosticDataAccessException: weblogic.store.PersistentStoreException: weblogic.store.PersistentStoreException: [Store:280029]The store record 5,816 could not be found.
at weblogic.diagnostics.archive.wlstore.PersistentStoreDataArchive.deleteDataRecords(PersistentStoreDataArchive.java:1400)
at weblogic.diagnostics.archive.wlstore.PersistentStoreDataArchive.retireOldestRecords(PersistentStoreDataArchive.java:1240)
at weblogic.diagnostics.archive.DataRetirementByQuotaTaskImpl.performDataRetirement(DataRetirementByQuotaTaskImpl.java:92)
at weblogic.diagnostics.archive.DataRetirementByQuotaTaskImpl.run(DataRetirementByQuotaTaskImpl.java:49)
at weblogic.diagnostics.archive.DataRetirementTaskImpl.run(DataRetirementTaskImpl.java:276)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
Caused By: weblogic.store.PersistentStoreException: weblogic.store.PersistentStoreException: [Store:280029]The store record 5,816 could not be found.
at weblogic.diagnostics.archive.wlstore.PersistentStoreDataArchive.readRecord(PersistentStoreDataArchive.java:711)
at weblogic.diagnostics.archive.wlstore.PersistentStoreDataArchive.readRecord(PersistentStoreDataArchive.java:681)
问了相关人员系统情况,也说不清楚。最后查阅了相关资料,按如下步骤操作,解决了问题。
1、在setDomainEnv.sh文件中添加以下内容
-Dcom.bea.wlw.netui.disableInstrumentation=true
-D_Offline_FileDataArchive=true
-Dweblogic.connector.ConnectionPoolProfilingEnabled=false
2、停掉adminserver
3、删除以下目录
./servers/AdminServer/data/store/diagnostics
./servers/AdminServer/tmp
./servers/AdminServer/cache
4、启动adminserver节点