已經開發好的java web 專案,部署在外網上,現在客戶需要我們把資料都實時交換到內網。
從外網到內網的交換通道由第三方公司的安全交換邊界來完成,所有資料以檔案形式傳遞。
現在我的思路是,不改動我們的web專案,通過實時記錄oracle這一層的insert、update、delete sql,然后形成實時檔案,由第三方公司交換到內網,然后我在內網寫程式讀取檔案,并逐條執行sql,經過以上步驟,達到內外網資料互動的目的。
所以,我怎么樣才可以實時記錄所有sql陳述句到檔案中?
或者大家有其他解決方案的,希望提供下,先行謝過!!!!!!
uj5u.com熱心網友回復:
如果業務不算繁忙的話,可以用觸發器來實作; 把每次的操作,都記錄在一張日志表中,交換資料時,直接取日志表的內容;uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGGuj5u.com熱心網友回復:
所有表的操作,都記錄到同一張嗎?里面做一個欄位,存盤sql?如果業務表有clob欄位呢?
uj5u.com熱心網友回復:
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
uj5u.com熱心網友回復:
不存SQL, 存具體的業務資料,有 LOB 也沒有關系,都可以復制過去的;
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不管以哪種形式同步,網路肯定是連通的吧。內網的資料庫服務器能直接ping通外網服務器所在地址嗎
uj5u.com熱心網友回復:
如果業務不算繁忙的話,可以用觸發器來實作; 把每次的操作,都記錄在一張日志表中,交換資料時,直接取日志表的內容;
所有表的操作,都記錄到同一張嗎?里面做一個欄位,存盤sql?如果業務表有clob欄位呢?
不存SQL, 存具體的業務資料,有 LOB 也沒有關系,都可以復制過去的;
這樣我這邊要互動的有33張表,每張表都對應N個欄位,你這個觸發器在每一次更新都要記錄N條資料到日志表?
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不管以哪種形式同步,網路肯定是連通的吧。內網的資料庫服務器能直接ping通外網服務器所在地址嗎
安全邊界中安全審計一層又一層,不可能ping通,只能幫你傳遞檔案。
uj5u.com熱心網友回復:
這樣我這邊要互動的有33張表,每張表都對應N個欄位,你這個觸發器在每一次更新都要記錄N條資料到日志表?
更新一記錄,就寫一行日志,更新一個欄位要寫一行,更新 10 個欄位,也是寫一條;
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
通不過的,網路安全審計非常嚴格,只能按照特定的格式傳遞檔案,所以我想先記錄好資料庫變化
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
表示根本沒用過OGG,第三方公司取完檔案傳輸到內網后,會把外網的檔案給洗掉掉,請問,OGG是否支持每次都生成一個新的同步檔案?
uj5u.com熱心網友回復:
只能說樓主不要被第三方公司忽悠了,這些oracle 的DG還有OGG 都可以實作,至于說網路層面的限制,oracle 的不同產品也有不同的方案,第三方也不過做的是代理或者包裝下。無非是歸檔日志的同步而已。uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
通不過的,網路安全審計非常嚴格,只能按照特定的格式傳遞檔案,所以我想先記錄好資料庫變化
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
表示根本沒用過OGG,第三方公司取完檔案傳輸到內網后,會把外網的檔案給洗掉掉,請問,OGG是否支持每次都生成一個新的同步檔案?
可以設定檔案大小
檔案有源端 傳到 目的端,傳過去后就可以洗掉
目的端應用檔案后也可以洗掉
OGG同步比較快,可以當作實時傳輸
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
通不過的,網路安全審計非常嚴格,只能按照特定的格式傳遞檔案,所以我想先記錄好資料庫變化
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
表示根本沒用過OGG,第三方公司取完檔案傳輸到內網后,會把外網的檔案給洗掉掉,請問,OGG是否支持每次都生成一個新的同步檔案?
可以設定檔案大小
檔案有源端 傳到 目的端,傳過去后就可以洗掉
目的端應用檔案后也可以洗掉
OGG同步比較快,可以當作實時傳輸
首先謝謝你耐心的回復。
我從未接觸過OGG,通過今天在網上的了解,發現OGG的配置比較復雜。
目前還沒了解到它是如何生成檔案的?
生成的檔案路徑是否可以自定義?
生成后被第三方公司取走,是否會影響下一次生成檔案?
被取到內網的檔案是否可以被內網的OGG系統決議?
望回復!
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
通不過的,網路安全審計非常嚴格,只能按照特定的格式傳遞檔案,所以我想先記錄好資料庫變化
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
表示根本沒用過OGG,第三方公司取完檔案傳輸到內網后,會把外網的檔案給洗掉掉,請問,OGG是否支持每次都生成一個新的同步檔案?
可以設定檔案大小
檔案有源端 傳到 目的端,傳過去后就可以洗掉
目的端應用檔案后也可以洗掉
OGG同步比較快,可以當作實時傳輸
首先謝謝你耐心的回復。
我從未接觸過OGG,通過今天在網上的了解,發現OGG的配置比較復雜。
目前還沒了解到它是如何生成檔案的?
生成的檔案路徑是否可以自定義?
生成后被第三方公司取走,是否會影響下一次生成檔案?
被取到內網的檔案是否可以被內網的OGG系統決議?
望回復!
OGG要有源端和目的端
源端和目的端都有自己的佇列檔案,各自維護各自的
不過你要用OGG的話,這個軟體是另收費的
uj5u.com熱心網友回復:
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
你這個說的,不管以什么方式交換,網路必須通,網路通為什么不能做DG 主從復制,第三方估計也是這樣搞忽悠你,oracle有自己的工具你不用那沒辦法
通不過的,網路安全審計非常嚴格,只能按照特定的格式傳遞檔案,所以我想先記錄好資料庫變化
為什么不考慮資料庫復制或同步軟體呢?比如OGG
第三方公司以檔案形式做內外網交換,資料庫復制或同步軟體也只能在外網上交換吧~
不清楚你們內外網有什么限制
比如OGG,它傳遞的也是檔案,二進制檔案
OGG可以在本地生成檔案嗎?然后由第三方公司傳遞到內網,然后我如何在內網決議OGG檔案?
你內網內不是也有資料庫嗎?再安裝OGG,OGG自己就能決議自己的佇列檔案,然后把佇列檔案轉換成DML操作,應用到內網資料庫上
表示根本沒用過OGG,第三方公司取完檔案傳輸到內網后,會把外網的檔案給洗掉掉,請問,OGG是否支持每次都生成一個新的同步檔案?
可以設定檔案大小
檔案有源端 傳到 目的端,傳過去后就可以洗掉
目的端應用檔案后也可以洗掉
OGG同步比較快,可以當作實時傳輸
首先謝謝你耐心的回復。
我從未接觸過OGG,通過今天在網上的了解,發現OGG的配置比較復雜。
目前還沒了解到它是如何生成檔案的?
生成的檔案路徑是否可以自定義?
生成后被第三方公司取走,是否會影響下一次生成檔案?
被取到內網的檔案是否可以被內網的OGG系統決議?
望回復!
OGG要有源端和目的端
源端和目的端都有自己的佇列檔案,各自維護各自的
不過你要用OGG的話,這個軟體是另收費的
查了下確實是收費,這樣一來我們公司這邊不會同意
uj5u.com熱心網友回復:
如果是 MySQL,可以把事務日志匯出成為一個 sql,然后在備份的資料庫上重新執行一次但是Oracle能不能醬紫就不知道了
uj5u.com熱心網友回復:
select * from v$sqlarea a where module='JDBC Thin Client' order by a.FIRST_LOAD_TIME desc,oracle里面應該有監控陳述句的,可以查job找某時刻執行的陳述句,然后寫入檔案流,傳遞,到達內網后讀取流,執行即可。uj5u.com熱心網友回復:
一般做法是用網閘,傳xml檔案決議,<xml1>
<temp1>name:value</temp1>
<temp2>age:value</temp2>
</xml1>
uj5u.com熱心網友回復:

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS723
uj5u.com熱心網友回復:
用trigger,條件多考慮考慮,不要誤動可能需要一段時間運行觀察,debug
uj5u.com熱心網友回復:
ORACLE審計,觸發器都行,但這種最侄訓要自己拼SQL寫程式,容易出錯。不如OGG、shareplex等同步方式來的穩定妥當轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/110521.html
標籤:高級技術
