diff --git a/skywalking-sdk-plugin/jdbc-plugin/pom.xml b/skywalking-sdk-plugin/jdbc-plugin/pom.xml
index b1b19415a..b59608cb4 100755
--- a/skywalking-sdk-plugin/jdbc-plugin/pom.xml
+++ b/skywalking-sdk-plugin/jdbc-plugin/pom.xml
@@ -29,6 +29,12 @@
5.1.36
compile
+
+ com.oracle
+ ojdbc14
+ 10.2.0.4.0
+ test
+
diff --git a/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/MyDriver.java b/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/MyDriver.java
new file mode 100644
index 000000000..13bb53706
--- /dev/null
+++ b/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/MyDriver.java
@@ -0,0 +1,71 @@
+package test.ai.cloud.skywalking.plugin.oracle;
+
+import java.sql.*;
+import java.util.Properties;
+import java.util.logging.Logger;
+
+public class MyDriver implements Driver {
+
+ private Driver realDriver;
+
+ static {
+ try {
+ DriverManager.registerDriver(new MyDriver());
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public MyDriver() {
+
+ }
+
+ public Driver buildOracleDriver() {
+ if (realDriver == null)
+ realDriver = new oracle.jdbc.OracleDriver();
+
+ return realDriver;
+ }
+
+ @Override
+ public Connection connect(String url, Properties info) throws SQLException {
+ System.out.println("MyDriver connect(String url, Properties info)");
+ return buildOracleDriver().connect(url, info);
+ }
+
+ @Override
+ public boolean acceptsURL(String url) throws SQLException {
+ System.out.println("MyDriver acceptsURL(String url)");
+ return buildOracleDriver().acceptsURL(url);
+ }
+
+ @Override
+ public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
+ System.out.println("MyDriver getPropertyInfo(String url, Properties info)");
+ return buildOracleDriver().getPropertyInfo(url, info);
+ }
+
+ @Override
+ public int getMajorVersion() {
+ System.out.println("MyDriver getMajorVersion()");
+ return buildOracleDriver().getMajorVersion();
+ }
+
+ @Override
+ public int getMinorVersion() {
+ System.out.println("MyDriver getMinorVersion()");
+ return buildOracleDriver().getMajorVersion();
+ }
+
+ @Override
+ public boolean jdbcCompliant() {
+ System.out.println("MyDriver jdbcCompliant()");
+ return realDriver.jdbcCompliant();
+ }
+
+ @Override
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+ System.out.println("MyDriver getParentLogger()");
+ return realDriver.getParentLogger();
+ }
+}
diff --git a/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/TestMyDriver.java b/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/TestMyDriver.java
new file mode 100644
index 000000000..7afec5d2f
--- /dev/null
+++ b/skywalking-sdk-plugin/jdbc-plugin/src/test/java/test/ai/cloud/skywalking/plugin/oracle/TestMyDriver.java
@@ -0,0 +1,25 @@
+package test.ai.cloud.skywalking.plugin.oracle;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+/**
+ * Created by xin on 16-6-14.
+ */
+public class TestMyDriver {
+ public static void main(String[] args) throws ClassNotFoundException, SQLException {
+ Class.forName("test.ai.cloud.skywalking.plugin.oracle.MyDriver");
+ String url = "jdbc:oracle:thin:@10.1.130.239:1521:ora";
+ Connection con = DriverManager.getConnection(url, "edc_export", "edc_export");
+ con.setAutoCommit(false);
+
+ PreparedStatement p0 = con.prepareStatement("select 1 from dual where 1=?");
+ p0.setInt(1, 1);
+ p0.execute();
+ con.commit();
+ con.close();
+
+ }
+}