@Override public OracleSGAModel viewSGAInfo(String monitorId) { OracleSGAModel oracleSGAModel = new OracleSGAModel(); if (dbUtil4Monitor.canConnect(monitorId)) { DBUtil dbutil = dbUtil4Monitor.getDBUtil(monitorId); String sql1 = OracleMonitorSql.sgaInfo1; String sql2 = OracleMonitorSql.sgaInfo2; List<Map<String, String>> rsList1 = dbutil.queryStrMaps(SqlObj.newInstance(sql1)); // 'Fixed SGA Size','Redo Buffers','Buffer Cache Size','Shared Pool Size','Large Pool // Size','Java Pool Size' String fixedSGASize = rsList1.get(0).get("bytes"); String redoBuffers = rsList1.get(1).get("bytes"); String bufferCacheSize = rsList1.get(2).get("bytes"); String sharedPoolSize = rsList1.get(3).get("bytes"); String largePoolSize = rsList1.get(4).get("bytes"); String javaPoolSize = rsList1.get(5).get("bytes"); List<Map<String, String>> rsList2 = dbutil.queryStrMaps(SqlObj.newInstance(sql2)); // 'sql area' ,'library cache','sga dev dict ; String sqlArea = ""; String libCache = ""; String sgaDevDict = ""; try { sqlArea = rsList2.get(0).get("bytes"); libCache = rsList2.get(1).get("bytes"); sgaDevDict = rsList2.get(2).get("bytes"); } catch (Exception e) { logger.error("该数据库版本不兼容SGA信息的查询"); } oracleSGAModel.setBufferCacheSize(bufferCacheSize); oracleSGAModel.setDictSize(sgaDevDict); oracleSGAModel.setFixedSGASize(fixedSGASize); oracleSGAModel.setJavaPoolSize(javaPoolSize); oracleSGAModel.setRedoLogCacheSize(redoBuffers); oracleSGAModel.setSqlAreaSize(sqlArea); oracleSGAModel.setLargePoolSize(largePoolSize); oracleSGAModel.setLibCacheSize(libCache); oracleSGAModel.setSharePoolSize(sharedPoolSize); } else { oracleSGAModel.setBufferCacheSize(""); oracleSGAModel.setDictSize(""); oracleSGAModel.setFixedSGASize(""); oracleSGAModel.setJavaPoolSize(""); oracleSGAModel.setRedoLogCacheSize(""); oracleSGAModel.setSqlAreaSize(""); oracleSGAModel.setLargePoolSize(""); oracleSGAModel.setLibCacheSize(""); oracleSGAModel.setSharePoolSize(""); } return oracleSGAModel; }