|  |  |  | @ -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)); | 
			
		
	
		
			
				
					|  |  |  |  | 					} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |