diff --git a/src/com/platform/service/OracleExtractHelper.java b/src/com/platform/service/OracleExtractHelper.java index d3de043f..26d5643d 100644 --- a/src/com/platform/service/OracleExtractHelper.java +++ b/src/com/platform/service/OracleExtractHelper.java @@ -22,7 +22,7 @@ public class OracleExtractHelper { * dblink的名称 * @return */ - private boolean hasSameNameDBLink(Connection conn, String linkName) { + private boolean hasSameNameDBLink(Connection conn, String linkName, String filePath) { boolean flag = false; String sql = "SELECT * FROM ALL_DB_LINKS WHERE DB_LINK='" + linkName+"'"; ResultSet rSet = null; @@ -31,9 +31,11 @@ public class OracleExtractHelper { rSet.last(); if (rSet.getRow() > 0) flag = true; + FileOperateHelper + .fileWrite(filePath, sql+ "\r\n"+"OK \r\n"); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + FileOperateHelper + .fileWrite(filePath, sql+ "\r\n"+ e.getMessage() + " \r\n"); new CustomException(Custom4exception.threadVolume_Oracle_Except, e, rSet); } return flag; @@ -59,16 +61,16 @@ public class OracleExtractHelper { + ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabaseName() + ")))\'"; if (null != oc) { - if (hasSameNameDBLink(conn, linkName)) { // 如果dblink已经存在,先删除dblink,在创建dblink + if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { // 如果dblink已经存在,先删除dblink,在创建dblink String deleteSql = "DROP PUBLIC DATABASE LINK " + linkName; - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - deleteSql+"\r\n"); +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// deleteSql+"\r\n"); if (OracleConnector.execOracleSQL(conn, deleteSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { - FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION - + oc.getName(), sql+"\r\n"); +// FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION +// + oc.getName(), sql+"\r\n"); OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); } else { Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); @@ -79,8 +81,8 @@ public class OracleExtractHelper { } else { // 否则,创建dblink OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); - FileOperateHelper.fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql); +// FileOperateHelper.fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql); } } } @@ -89,28 +91,29 @@ public class OracleExtractHelper { * 创建表空间 * * @param conn 汇总库连接 + * @param collectOracle * @param oc 汇总库信息 * @return */ - public boolean createTableSpace(Connection conn, GatherOracleInfo oc) { + public boolean createTableSpace(Connection conn, OracleConnectorParams collectOracle, GatherOracleInfo oc) { String tmpSql = "select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = '" + oc.getTableName() + "'"; - if (OracleConnector.execUpdateOracleSQL(conn, tmpSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - tmpSql+"\r\n"); + if (OracleConnector.execUpdateOracleSQL(conn, tmpSql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName())) { +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// tmpSql+"\r\n"); return true; } else { String sql = "create tablespace " + oc.getTableName() + " datafile '" + Configs.GATHER_TABLESPACE_PATH + oc.getTableName() + ".dbf" + "' size 512M autoextend on next 512M maxsize unlimited"; - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - sql+"\r\n"); - return OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// sql+"\r\n"); + return OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName()); } } @@ -122,22 +125,23 @@ public class OracleExtractHelper { */ public void createUser(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { String strTUser = oc.getName() + totalOracle.getSuffix(); + String sql = "Create user " + strTUser + " default tablespace " + totalOracle.getTableName() + " identified by " + Configs.GATHER_TABLE_PASSWORD; String grantSql = "grant connect, resource, dba to " + strTUser; OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - sql+"\r\n"); +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// sql+"\r\n"); OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - grantSql+"\r\n"); +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// grantSql+"\r\n"); } /** @@ -159,21 +163,16 @@ public class OracleExtractHelper { + " and t.owner||t.table_name not in (select owner||table_name from dba_tables@LINKTO" + oc.getName() + " where 'data_type'='CLOB')"; ResultSet rsSet = OracleConnector.getSQLExecResultSet(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - sql+"\r\n"); +// FileOperateHelper +// .fileWrite( +// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), +// sql+"\r\n"); try { while (rsSet.next()) { try { - rsSet.getRow(); - String resultSql = rsSet.getString(1); - OracleConnector.execUpdateOracleSQL(conn, resultSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); - FileOperateHelper - .fileWrite( - Configs.EXTRACT_LOG_LOCALTION + oc.getName(), - resultSql+"\r\n"); - + rsSet.getRow(); + String resultSql = rsSet.getString(1).replace(";", ""); + OracleConnector.execUpdateOracleSQL(conn, resultSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); } catch (SQLException e) { new CustomException(Custom4exception.threadVolume_Oracle_Except, e, rsSet.getString(1)); } diff --git a/src/com/platform/service/impl/LogReadServiceImpl.java b/src/com/platform/service/impl/LogReadServiceImpl.java index b5f32fd5..b07bb398 100644 --- a/src/com/platform/service/impl/LogReadServiceImpl.java +++ b/src/com/platform/service/impl/LogReadServiceImpl.java @@ -13,7 +13,7 @@ public class LogReadServiceImpl implements ILogRead { @Override public String readLog(String filename) throws Exception { - String result = FileOperateHelper.fileReader(Configs.EXTRACT_LOG_LOCALTION+filename+".log"); + String result = FileOperateHelper.fileReader(Configs.EXTRACT_LOG_LOCALTION + "J" + filename.replace("-", "_")+".log"); return result; } diff --git a/src/com/platform/service/impl/OracleExtractServiceImpl.java b/src/com/platform/service/impl/OracleExtractServiceImpl.java index d7324a80..957b5a1a 100644 --- a/src/com/platform/service/impl/OracleExtractServiceImpl.java +++ b/src/com/platform/service/impl/OracleExtractServiceImpl.java @@ -68,7 +68,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { Configs.CONSOLE_LOGGER.info(sb.toString()); // client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 oracleExtract.createDBLink(conn, collectOracle); //创建dblink - oracleExtract.createTableSpace(conn, oracleModel); //创建表空间 + oracleExtract.createTableSpace(conn, collectOracle, oracleModel); //创建表空间 oracleExtract.createUser(conn, collectOracle, oracleModel);//创建用户并授权 oracleExtract.extractColleDB(conn, collectOracle);//执行抽取 // client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "2"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 diff --git a/src/com/platform/utils/FileOperateHelper.java b/src/com/platform/utils/FileOperateHelper.java index 13ddc041..84b3d110 100644 --- a/src/com/platform/utils/FileOperateHelper.java +++ b/src/com/platform/utils/FileOperateHelper.java @@ -29,6 +29,7 @@ public class FileOperateHelper { return; } try { + path = path+".log"; File file = new File(path); if (file.exists()) file.createNewFile();