p6spy個人理解就是:p6spy應用的數據源給劫持了,應用操做數據庫其實在調用p6spy的數據源,p6spyweb
劫持到須要執行的sql或者hql之類的語句以後,他本身去調用一個realDatasource,再去操做數據庫,spring
只要劫持到那些sql以後,能幹的事情就不少了。sql
p6spy 能夠輸出日誌到文件中、控制檯、或者傳遞給 Log4j,並且還能配搭 SQL Profiler 或 數據庫
IronTrackSQL 圖形化監控 SQL 語句,監測到哪些語句的執行是耗時的,逐個優化。關於與 SQL tomcat
Profiler 或 IronTrackSQL 的配合使用可參數文件的連接。 服務器
p6spy在sourceforge上下載:http://sourceforge.net/projects/p6spy/?source=dlporacle
p6spy的weblogic配置:框架
一、首先經過上面連接下載P6spy的jar包dom
二、把這些jar包放到weblogic的domian的lib目錄,例如D:\bea\user_projects\domains\base_domain1\lib將
ide
三、因爲weblogic的應用都須要配置數據源(rcu),因此會在domian的config目錄下生成對應的jdbc的XML的配置,咱們須要把數據源jdbc的驅動更改爲p6spy的驅動。
下面是具體代碼:
<?xml version='1.0' encoding='UTF-8'?> <jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/jdbc-data-source" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/jdbc-data-source http://www.bea.com/ns/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd"> <name>數據源的名稱</name> <jdbc-driver-params> <url>jdbc:oracle:thin:@192.168.0.23:1521:數據庫實例</url> <driver-name>com.P6Driver</driver-name> <!-- 把上面這行改爲p6的驅動便可--> <properties> <property> <name>用戶名</name> <value>表空間</value> </property> </properties> <password-encrypted>數據庫密碼</password-encrypted> </jdbc-driver-params> <jdbc-connection-pool-params> <initial-capacity>1</initial-capacity> <max-capacity>15</max-capacity> <capacity-increment>1</capacity-increment> <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name> <statement-cache-size>10</statement-cache-size> <statement-cache-type>LRU</statement-cache-type> </jdbc-connection-pool-params> <jdbc-data-source-params> <jndi-name>nstc/jdbc/WebData</jndi-name> <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol> </jdbc-data-source-params> </jdbc-data-source>
四、發佈執行weblogic的應用,當應用須要調用數據源訪問數據庫時,便可被p6攔截sql語句,並在本身的p6控制檯展現相對應的sql,便於調錯。
P6spy是一個很好用的開源的sql攔截監控工具,經過解析sql語句可讓咱們更清晰的分析錯誤,從而高效的開發程序。它能支持目前大多數的orm及其餘主流框架,SSH,SSI,springMVC等,主流的應用服務器也都支持,如tomcat,weblogic,jboss,WebSphere等。此次是在weblogic上面配置的,只是對p6的初步理解,後面會繼續研究在其餘服務器和框架上的配置。