呵呵,不要做壞事啊.
成都創新互聯是一家專業提供丁青企業網站建設,專注與成都網站建設、網站建設、H5高端網站建設、小程序制作等業務。10年已為丁青眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
抓包工具應該不可以,因為驗證時的數據包是加密的,破解起來難度很大。
2000多包是一次交互,還是一共交互?
因為oracle的查詢有點變態,如果是初次連接,那么會先傳一個交互,這邊說我這里要連接了,服務器說,我知道了,正在查詢是否可以同意。過一會,同意連接,分給你內存多少,你的權限是什么,查詢吧。再一個交互:這邊說我要查xxx,服務器說:好的。過了一會,你的查詢結果是xxxx(但不是直接發結果,題頭是什么,數據格式什么樣子。。。好象還包括執行計劃,執行時間,條數等等,這些內容好象都會發送,只是好象,這部分忘的差不多了,很久沒搞這塊內容了)
如果是一次交互,就是說,你抓的包沒有多次交互的情況,那么只能是減少查詢內容了,畢竟帶寬沒有固網那么足,假設你固網是查詢5個字段,那么動網就三個主要字段,而且每葉內容減少,多分頁,這樣能提高一些?,F在喜歡用“搶帶寬”的方式,這樣是能快一些,不過動網帶寬真的不高,你就是全搶過來也不如固網(而且也不可能)。另外我記得oracle好象有一種是不要題頭,不要前綴,不要xxxx的,你可以仔細找找,網上應該有,類似就是sqlplus 中的 set XXXXX off,類似這個,我在數據庫傳參腳本中用過,應該也能減少一些。
如果是一共交互,那么就設置一些數據庫長連接(數量自己根據實際定),也就是你的頁面斷開,但是數據庫不斷開,下一個頁面也用這個數據庫用戶,那么就不用開始的一個交互了,這樣能省下兩次交互,能減少一些。
查詢頻繁的那張表很大么,如果不大可以放在內存中,作為內存表,還有一些就是一般的oracle優化的內容,我想這部分你也清楚,我就不多寫了。
最后說一點,個人觀點,僅供參考。
寫一個after update的trigger,再寫一個存儲過程,trigger調用存儲過程,存儲過程調用java程序。
----------------------------建立一個java存儲過程
1. 先看一下這個目錄
[oracle@ocean ~]$ pwd
/home/oracle
[oracle@ocean ~]$ ls -l
total 8
-rw-r--r-- 1 oracle orains 604 Dec 26 2006 bash
2. 連接到test用戶
SQL conn test/test
Connected.
3. 授于test用戶文件讀寫和執行命令的權限
SQLexec dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','ALL FILES','read,write,execute,delete');
PL/SQL procedure successfully completed.
SQLexec dbms_java.grant_permission('TEST','java.lang.RuntimePermission','*','writeFileDescriptor' );
PL/SQL procedure successfully completed.
4. 建立java存儲過程,注意,這里的exp 路徑和dmp文件的路徑是數據庫服務器的路徑
create or replace and compile java source named "aa"
as
import java.io.*;
import java.lang.*;
import java.util.*;
import java.sql.*;
import oracle.sql.*;
public class aa
{
public static void invoke_exe() throws IOException
{
Process p=Runtime.getRuntime().exec("/oracle/product/9.2.4/bin/exp userid=test/test file=/home/oracle/test.dmp");
try
{
p.waitFor();
}catch(InterruptedException ie){System.out.println(ie);}
}
}
/
Java created.
Elapsed: 00:00:00.01
5. 建立調用java存儲過程的存儲過程call_aa
create or replace procedure call_aa
as language java
name 'aa.invoke_exe()';
/
6. 執行java存儲過程
exec call_aa;
7. 檢查一下dmp文件是否已經生成
[oracle@ocean ~]$ pwd
/home/oracle
[oracle@ocean ~]$ ls -l
total 28
-rw-r--r-- 1 oracle orains 604 Dec 26 2006 bash
-rw-r--r-- 1 oracle orains 16384 Jul 3 14:12 test.dmp
-----------------
exec dbms_Java.Grant_Permission('TEST', 'java.io.FilePermission', 'ALL FILE', 'read ,write, execute, delete');
exec dbms_Java.Grant_Permission('TEST', 'java.io.FilePermission', 'd:aa.bat', 'read ,write, execute, delete');
exec dbms_java.grant_permission('TEST','java.lang.RuntimePermission','*','writeFileDescriptor' );
你問的這個問題,其實是數據庫審計的概念。目前市面上這種產品非常之多,一般都是硬件類的產品。
他的工作原理是對你數據庫所在的端口進行鏡像,鏡像到數據庫審計產品的抓包口上,對所有數據庫的訪問包進行抓取分析,將數據庫的語句提取出來顯示到他的控制界面上。
一般包含的審計內容有:源IP,目標IP,源MAC地址,目標MAC地址,用戶名,所訪問的數據庫語句(顯示全部的語句),語句執行成功與否,數據庫響應時間。
我還沒有聽說有哪款軟件是可以實現這個功能的。最簡單的一個就是:軟件如果安裝在一臺服務器上,你根本無法配置抓包口對數據包進行抓取。
還有不懂給我留言吧。
網站欄目:oracle如何抓包 oracle數據庫抓包
鏈接分享:http://vcdvsql.cn/article28/hehjcp.html
成都網站建設公司_創新互聯,為您提供移動網站建設、企業網站制作、虛擬主機、網站維護、定制開發、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯