CheckAllOracle.java 4.76 KB
package com.sitech.ismp.coll.tivoli;

import java.io.File;
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.Vector;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
public class CheckAllOracle {

	
	static ResourceBundle ORACLE_HOST_NAME=null;
	
	static {
        try{
        	ORACLE_HOST_NAME = ResourceBundle.getBundle("oracle_host_name");
        }
        catch(Exception e){
            System.out.println("Bundle oracle_host_name.properties error.");
            e.printStackTrace();
        }
    }
	
	public static void  printKPIs(Vector KPISet ){
		for(int i=0;i<KPISet.size();i++){
			TblATO_KPIDETAIL tblato_kpidetail = (TblATO_KPIDETAIL)KPISet.elementAt(i);
			if(tblato_kpidetail==null)
				continue;
			System.out.println(tblato_kpidetail.UNIT_ID + " : " + 
							   tblato_kpidetail.KPI_ID + " : " + 
							   tblato_kpidetail.KPI_VALUE + " : " + 
							   tblato_kpidetail.CLL_TIME );
		}	
	}
	
	
	public static void printOracleKPIStatus(String filename)throws Exception
	{
		Enumeration en = ORACLE_HOST_NAME.getKeys();
		WritableWorkbook workbook = Workbook.createWorkbook(new File(filename));
        WritableSheet sheet = workbook.createSheet("First Sheet", 0);
        //写KPI头
        Vector vector = new Vector();
        String empty[][]=CheckKPIHelper.Check_Oracle_KPI(vector);
        for(int i=0;i<empty.length;i++)
        {
        	Label label1 = new Label(i+1,0,empty[i][0]);
        	sheet.addCell(label1);
        }
        int rownum = 0;
		while(en.hasMoreElements())
		{
			rownum++;
			String hostname = (String)en.nextElement();
			
			//写hostname
			Label label = new Label(0,rownum,hostname);
			sheet.addCell(label);
			
			CollOracle or = new CollOracle();
			java.util.HashMap params = new java.util.HashMap();
			params.put("HOST_NAME",hostname);
			params.put("IP_ADDR","10.110.2.136");
			params.put("TABLENAME","DEFROLE$");
			
			Vector KPISet = new Vector();
			
			KPISet.addAll(or.getConfiguration_One_Day(params));
			KPISet.addAll(or.getConfiguration_One_Month(params));
			KPISet.addAll(or.getFailure(params));
			KPISet.addAll(or.getPerformance_One_Day(params));
			KPISet.addAll(or.getPerformance_One_Hour(params));
			KPISet.addAll(or.getPerformance_Thirty_Minute(params));
			
			//printKPIs(v);
			String temp[][]=CheckKPIHelper.Check_Oracle_KPI(KPISet);
			for(int i=0;i<temp.length;i++)
			{
				Label label2 = new Label(i+1,rownum,temp[i][1]);
				sheet.addCell(label2);
			}
		}
		
		workbook.write();
		workbook.close();
		System.out.println(filename + " write finish!");
	}
	
	
	
	/**
	 * 如果bool=ture表示打印出所有Oracle的所有KPI的状态(exist/inexistence)
	 * 如果bool=false表示打印出所有Oracle的所有未采集到KPI状态(exist)
	 * @param bool
	 * @throws Exception
	 */
	public static void getAll_KPI_Status(boolean bool)throws Exception
	{
		Enumeration en = ORACLE_HOST_NAME.getKeys();
		
		/*int num = 0;
		while(en.hasMoreElements())
		{
			num++;
		}
		
		System.out.println("====================Test Oracle Host Number Is : " + num + "====================");
		System.out.println();
		System.out.println();
		*/
		while(en.hasMoreElements())
		{
			String host_name = (String)en.nextElement();
			System.out.println("Test Oracle Host Name Is : " + host_name);
			System.out.println("========================================");
			
			Vector KPISet= new Vector();
			CollOracleMBean or = new CollOracle();
			
			java.util.HashMap params = new java.util.HashMap();
			params.put("HOST_NAME",host_name);
			params.put("SID",host_name);
			params.put("TABLENAME","DEFROLE$");
			params.put("IP_ADDR","10.110.0.16");

			KPISet.addAll(or.getConfiguration_One_Day(params));
			KPISet.addAll(or.getConfiguration_One_Month(params));
			KPISet.addAll(or.getFailure(params));
			KPISet.addAll(or.getPerformance_One_Day(params));
			KPISet.addAll(or.getPerformance_One_Hour(params));
			KPISet.addAll(or.getPerformance_Thirty_Minute(params));
			
			String temp[][] = CheckKPIHelper.Check_Oracle_KPI(KPISet);
			for(int i=0;i<temp.length;i++)
			{
				if(bool==false&&temp[i][1].equalsIgnoreCase("inexistence"))
				{
					System.out.println("KPI_ID : " + temp[i][0] + "---" + temp[i][1]);
				}
				if(bool==true)
				{
					System.out.println("KPI_ID : " + temp[i][0] + "---" + temp[i][1]);
				}
			}
			System.out.println("========================================");
			System.out.println();
		}
		System.out.println("====================FINISH====================");
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		//getAll_KPI_Status(true);
		//getAll_KPI_Status(false);
		//printKPIs(KPISet);
		String filename = "AllOracleKPIStatus.xls";
		printOracleKPIStatus(filename);

	}

}