diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ce5fd05
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/Oracle/target
+/Oracle/*.log
diff --git a/Oracle/.classpath b/Oracle/.classpath
new file mode 100644
index 0000000..206ad18
--- /dev/null
+++ b/Oracle/.classpath
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Oracle/.project b/Oracle/.project
new file mode 100644
index 0000000..3f8f873
--- /dev/null
+++ b/Oracle/.project
@@ -0,0 +1,23 @@
+
+
+ zabbix
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/Oracle/.settings/org.eclipse.core.resources.prefs b/Oracle/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f9fe345
--- /dev/null
+++ b/Oracle/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/test/java=UTF-8
+encoding/=UTF-8
diff --git a/Oracle/.settings/org.eclipse.jdt.core.prefs b/Oracle/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..abec6ca
--- /dev/null
+++ b/Oracle/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/Oracle/.settings/org.eclipse.m2e.core.prefs b/Oracle/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/Oracle/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/Oracle/lib/ojdbc6.jar b/Oracle/lib/ojdbc6.jar
new file mode 100644
index 0000000..767eba7
Binary files /dev/null and b/Oracle/lib/ojdbc6.jar differ
diff --git a/Oracle/lib/ojdbc7.jar b/Oracle/lib/ojdbc7.jar
new file mode 100644
index 0000000..2077ea3
Binary files /dev/null and b/Oracle/lib/ojdbc7.jar differ
diff --git a/Oracle/pom.xml b/Oracle/pom.xml
new file mode 100644
index 0000000..6f096e8
--- /dev/null
+++ b/Oracle/pom.xml
@@ -0,0 +1,118 @@
+
+ 4.0.0
+
+ cn.netkiller
+ zabbix
+ 0.0.1-SNAPSHOT
+ jar
+
+ zabbix
+ http://maven.apache.org
+
+
+ UTF-8
+
+
+
+
+ com.oracle
+ ojdbc6
+
+ 11.2.0.3
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+ src
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.6
+
+
+
+ true
+ lib/
+ cn.netkiller.zabbix.Oracle
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 2.10
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/lib
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 1.4
+
+
+ package
+
+ shade
+
+
+
+
+ cn.netkiller.Oracle
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 2.5.2
+ false
+
+
+ install:com.oracle:ojdbc6:11g
+ validate
+
+ install-file
+
+
+ ${project.basedir}/lib/ojdbc6.jar
+ com.oracle
+ ojdbc6
+ 11.2.0.3
+ jar
+ true
+ true
+
+
+
+
+
+
+
+
diff --git a/Oracle/src/main/java/cn/netkiller/zabbix/Oracle.java b/Oracle/src/main/java/cn/netkiller/zabbix/Oracle.java
new file mode 100644
index 0000000..c4cd41f
--- /dev/null
+++ b/Oracle/src/main/java/cn/netkiller/zabbix/Oracle.java
@@ -0,0 +1,139 @@
+package cn.netkiller.zabbix;
+
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Properties;
+import java.util.logging.*;
+
+/**
+ * Hello world!
+ *
+ */
+
+class LogFormatter extends Formatter {
+ @Override
+ public String format(LogRecord record) {
+ return String.format("%s %s\t%s\r\n", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()),
+ record.getLevel(), record.getMessage());
+ }
+}
+
+public class Oracle {
+
+ String url = null; // 数据库链接地址
+ String username = null;// 用户名,系统默认的账户名
+ String password = null;// 你安装时选设置的密码
+
+ Logger log = Logger.getLogger(this.getClass().getName());
+
+ public Oracle() {
+
+ FileHandler fileHandler = null;
+ try {
+ fileHandler = new FileHandler("monitor.%g.log");
+ } catch (SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ ConsoleHandler consoleHandler = new ConsoleHandler();
+ consoleHandler.setLevel(Level.OFF);
+ log.addHandler(consoleHandler);
+
+ fileHandler.setLevel(Level.INFO);
+ this.log.addHandler(fileHandler);
+
+ fileHandler.setFormatter(new LogFormatter());
+ this.log.setLevel(Level.INFO);
+
+ }
+
+ public void openConfig() {
+ String connectionfig = "jdbc.properties";
+ Properties properties = new Properties();
+ try {
+ properties.load(new FileInputStream(connectionfig));
+ this.url = properties.getProperty("jdbc.url");
+ this.username = properties.getProperty("jdbc.username");
+ this.password = properties.getProperty("jdbc.password");
+ } catch (FileNotFoundException e) {
+ this.log.info(
+ e.getMessage() + " Working Directory = " + System.getProperty("user.dir") + "/" + connectionfig);
+ System.exit(1);
+ } catch (IOException e) {
+ this.log.info(e.getMessage());
+ System.exit(1);
+ }
+ if (this.url == null || this.username == null || this.password == null) {
+ this.log.info("This Propertie file is invalid");
+ System.exit(1);
+ // throw new Exception("");
+ }
+
+ }
+
+ public void testConnection() {
+ Connection connection = null;// 创建一个数据库连接
+ ResultSet result = null;// 创建一个结果集对象
+ Statement statement = null;
+ try {
+ Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
+ connection = DriverManager.getConnection(this.url, this.username, this.password);
+ String sql = "select current_date from dual";
+ statement = connection.createStatement();
+ result = statement.executeQuery(sql);
+ if (result.next()) {
+ this.log.info(String.format("%s %s", result.getDate(1), result.getTime(1)));
+ System.out.println(1);
+ } else {
+ System.out.println(0);
+ }
+
+ } catch (ClassNotFoundException e) {
+ log.info(e.getMessage());
+ System.exit(1);
+ } catch (SQLException e) {
+ log.info(e.getMessage());
+ System.exit(1);
+ } finally {
+ try {
+ if (result != null) {
+ result.close();
+ }
+ if (statement != null) {
+ statement.close();
+ }
+ if (connection != null) {
+ connection.close();
+ }
+ } catch (Exception e) {
+ this.log.info(e.getMessage());
+ System.exit(1);
+ }
+ }
+ }
+
+ public static void main(String[] args) {
+ try {
+ Oracle oracle = new Oracle();
+ oracle.openConfig();
+ if(args[1] == "--conn"){
+ oracle.testConnection();
+ }
+ } catch (Exception e) {
+ System.out.println(0);
+ }
+
+ }
+}
diff --git a/Oracle/src/test/java/cn/netkiller/zabbix/AppTest.java b/Oracle/src/test/java/cn/netkiller/zabbix/AppTest.java
new file mode 100644
index 0000000..177344b
--- /dev/null
+++ b/Oracle/src/test/java/cn/netkiller/zabbix/AppTest.java
@@ -0,0 +1,38 @@
+package cn.netkiller.zabbix;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}