當前位置:首頁 » 操作系統 » oracle分布式資料庫

oracle分布式資料庫

發布時間: 2024-01-08 08:52:02

A. Oracle資料庫基本知識

Oracle資料庫基本知識

Oracle Database,又名OracleRDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。本文為大家分享的是Oracle資料庫的基本知識,希望對大家有所幫助!

它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的適應高吞吐量的資料庫解決方案。

介紹

ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。比如SilverStream就是基於資料庫的一種中間件。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。但它的所有知識,只要在一種機型上學習了ORACLE知識,便能在各種類型的機器上使用它。

Oracle資料庫最新版本為OracleDatabase 12c。Oracle資料庫12c引入了一個新的多承租方架構,使用該架構可輕松部署和管理資料庫雲。此外,一些創新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個資料庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數據和對數據分層。這些獨一無二的技術進步再加上在可用性、安全性和大數據支持方面的主要增強,使得Oracle資料庫12c 成為私有雲和公有雲部署的理想平台。

就業前景

從就業與擇業的角度來講,計算機相關專業的大學生從事oracle方面的技術是職業發展中的最佳選擇。

其一、就業面廣:ORACLE幫助拓展技術人員擇業的廣度,全球前100強企業99家都在使用ORACLE相關技術,中國政府機構,大中型企事業單位都能有ORACLE技術的工程師崗位,大學生在校期間興趣廣泛,每個人興趣特長各異,不論你想進入金融行業還是電信行業或者政府機構,ORACLE都能夠在你的職業發展中給你最強有力的支撐,成為你最貼身的金飯碗。

其二、技術層次深:如果期望進入IT服務或者產品公司,Oracle技術能夠幫助提高就業的深度。Oracle技術已經成為全球每個IT公司必選的軟體技術之一,熟練掌握Oracle技術能夠為從業人員帶來技術應用上的優勢,同時為IT技術的深入應用起到非常關鍵的作用。掌握 Oracle技術,是IT從業人員了解全面信息化整體解決方案的基礎。

其三、職業方向多:Oracle資料庫管理方向、Oracle開發及系統架構方向、Oracle數據建模數據倉庫等方向。

Oracle資料庫漏洞分析:無需用戶名和密碼進入你的資料庫

一般性的資料庫漏洞,都是在成功連接或登錄資料庫後實現入侵;本文介紹兩個在2012年暴露的Oracle漏洞,通過這兩種漏洞的結合,可以在不掌握用戶名/密碼的情況下入侵Oracle,從而完成對數據的竊取或者破壞。這兩個漏洞就是CVE-2012-1675和CVE-2012-3137。

引言

國內外很多重要的系統都採用Oracle作為數據存儲的資料庫;在Oracle中存儲著企業或政府大量敏感的信息,在金錢或政治的誘導下,內外部黑客會想法利用管理、網路、主機或資料庫的自身漏洞嘗試入侵到資料庫中,以達到自身的目的。

本文的作者通過對Oracle倆種漏洞的組合研究,設計了一套在不掌握用戶名/密碼的方式入侵到Oracle中;這種方法,比傳統的需要登錄到資料庫中的入侵方法,具有更大的安全隱患和破壞性。

本文希望通過對這兩個漏洞和攻擊方法的介紹,能夠引起相關人員的重視,完善對資料庫安全的措施。

1、概要介紹

本文提供的方法是基於漏洞CVE-2012-1675和CVE-2012-3137對oracle資料庫的攻擊測試的方法。

CVE-2012-1675漏洞是Oracle允許攻擊者在不提供用戶名/密碼的'情況下,向遠程“TNS Listener”組件處理的數據投毒的漏洞。攻擊者可利用此漏洞將資料庫伺服器的合法“TNS Listener”組件中的數據轉向到攻擊者控制的系統,導致控制遠程組件的資料庫實例,造成組件和合法資料庫之間的中間人攻擊、會話劫持或拒絕服務攻擊。

CVE-2012-3137漏洞是Oracle Database 10g/11g身份驗證協議實現中存在一個設計缺陷,攻擊者無需認證即可遠程獲取資料庫用戶密碼哈希相關數據,從而可以離線暴力破解用戶密碼,進一步控制資料庫系統。

我們通過如下的步驟和過程可以實現對Oracle的入侵:

(1)利用CVE-2012-1675進行TNS劫持,在監聽下利用遠程注冊,注冊同名資料庫實例;

(2)新登陸的用戶,在TNS的負載均衡策略下,有可能流量登錄到偽造的監聽服務上;

(3)該監聽服務對用戶的登陸過程進行監控,並將相關數據流量轉發到真實的資料庫上;

(4)利用CVE-2012-3137獲得通訊過程中的認證相關信息;

(5)對認證相關信息進行離線的暴力破解,獲得登陸的密碼;

(6)試用破解的用戶名/密碼登陸Oracle,完成對Oracle中數據的訪問;

2、通過CVE-2012-1675進行TNS劫持

該漏洞存在於Oracle的所有版本,並且Oracle至今僅是發布了警告性通知,並未提供解決方案。

要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS機制。如下圖所示oracle 通過在本地解析網路服務名到目標主機IP地址,服務埠號,目標資料庫名,把這些信息發送到oracle伺服器端監聽程序,最後再由監聽程序遞送DBMS。

其中關鍵點在於監聽會按照目標資料庫名遞送到名稱正確的資料庫。那麼如果一個監聽下有2個同名資料庫。監聽將自動按照負載均衡把這次訪問發送到負載低的資料庫上,進行連接訪問。資料庫注冊到監聽的方法就決定了,能否同時注冊同名資料庫在同一個監聽下。注冊方式分為本地注冊和遠程注冊,通過修改參數可以調整為遠程注冊。

下面是一段可用的TNS劫持的過程:

1.在劫持機上創建一個和目標資料庫實例同名的資料庫實例。

2.在劫持機上修改 tnsnames.ora 文件

添加

listener_name=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=tcp)(HOST=目標機器IP)(PORT=目標機器埠)))

3.在劫持機上用sql*Plus 順序執行下面步驟。

1.$ sqlplus / as sysdba

2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';

3. SQL> ALTER SYSTEM REGISTER;

4.多個客戶端,向資料庫發起登錄。會劫持到一部分客戶端的登錄信息。

最終達到效果如下圖所示:

按照猜想同一個監聽下有2個同名實例。客戶端訪問監聽,監聽按照客戶端中的資料庫名信息分配資料庫,由於監聽下有2個同名資料庫,客戶端鏈接很可能會被分配到劫持者的資料庫實例下,再通過配置劫持者的本地監聽把客戶端請求指回原資料庫。結構圖如下:

測試客戶端鏈接196次。目標資料庫實例獲得113次,劫持資料庫實例獲得83次基本滿足負載均衡的假設。(註上面實例是local server 下面實例是 remote server)

通過以上方式我們可以截獲約一半左右客戶端發送到伺服器的合法鏈接。其中獲得了伺服器IP、埠號、資料庫位置、實例名、登錄用戶名等一系列明文信息和4組密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。

3、通過CVE-2012-3137進行密碼破解

CVE-2012-3137受影響的資料庫版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密演算法的10.2.0.5和10.2.0.4,還有使用了SHA-1的10.2.0.3(運行在z/OS下)版本。

雖然這個漏洞在11.2.0.3中已經解決,但是僅僅資料庫客戶端和伺服器都升級到11.2.0.3並且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。

正如CVE-2012-3137所描述Oracle為了防止第三方通過網路獲取登錄信息包。而對密碼進行了加密處理。本部分只以oracle11.1密碼如何破解為例進行說明。

在發起連接之後(oracle牽手完成),客戶端和伺服器經過協商確定要使用的驗證協議。要完成這個任務,客戶端首先向資料庫發送一個包。包中包含客戶端主要信息和所請求的加密方式。資料庫確認加密方式有效後,發送一個確認服務包如下圖所示:

在通過安全網路服務完成任何所要求的協議之後,資料庫用戶被O3logon(oracle驗證方式) 進行驗證,這個協議執行一個序列來向資料庫證明客戶端擁有密碼。為了避免網路第三方截獲到密碼。首先客戶端發送用戶名到資料庫來表明用戶身份。資料庫端根據加密協議,其中96位的作為資料庫端密鑰,20位的作為偏移量,它對每個連接都是不同的。一個典型的資料庫端發給客戶端的密鑰如下:

AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………

客戶端根據加密演算法向伺服器端發送96位的客戶端密鑰和64位的密碼密鑰。伺服器端計算客戶端傳入的密碼密鑰。如果計算後密碼密文和資料庫中存儲的16位密碼密文一致則驗證通過。

根據這個過程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA這四個值是解密的關鍵。我們把他們按照SHA1,MD5,AES192進行一系列處理。最終通過數據字典碰撞得到密碼明文。

下面這段網上公布的一段示例代碼,這段代碼與筆者的思路不完全相同,但也能大概地說明這個漏洞的攻擊過程:

import hashlib

from Crypto.Cipher import AES

def decrypt(session,salt,password):

pass_hash= hashlib.sha1(password+salt)

key =pass_hash.digest() + 'x00x00x00x00'

decryptor= AES.new(key,AES.MODE_CBC)

plain =decryptor.decrypt(session)

returnplain

session_hex ='6EAAB5422553A7598143E78767'

salt_hex = 'A7193E546377EC56639E'

passwords = ['test','password',''oracle','demo']

for password in passwords:

session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)

print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))

ifsession_id[40:] == 'x08x08x08x08x08x08x08x08':

print'PASSWORD IS "%s"' % password

break

4、建議的預防措施

根據以上兩段分析,我們可以有如下的預防措施:

(1)在條件許可的情況下,對Oracle進行補丁升級,對Oracle打cpuoct2012-1515893補丁;注意對於cpuoct2012-1515893補丁要求伺服器端和應用伺服器端同時升級,否則應用系統將無法訪問Oracle;

(2)若無法對Oracle升級,要購買或安裝具備虛擬補丁功能的資料庫安全產品,防止對CVE-2012-3137和CVE-2012-1675的利用;

(3)建立足夠強健的口令,不要使用8位以下密碼,或者字典庫中的口令。

;

B. Oracle里有沒有分布式資料庫的概念

因為看了Kamus, yangtingkun, eygle大人寫的高級復制文檔有這樣一段話:
Replicated Database 和Distributed Database 並不一樣,在分布式資料庫系統中數據在
多個站點同時有效,但是一個表只會存在於一個站點中,而對於Replication 來說相同
的數據將同時存在於多個站點中。
而且我們頭總問Oracle里有沒有分布式資料庫,所以才問的。

C. 資料庫oracle簡介

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的資料庫解決方案。

ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。

特點

1、完整的數據管理功能:[2]

1)數據的大量性

2)數據的保存的持久性

3)數據的共享性

4)數據的可靠性

2、完備關系的產品:

1)信息准則---關系型DBMS的所有信息鄭嘩都應在邏輯上用一種方法,即表中的值顯式地表示;

2)保證訪問的准則

3)視圖更新准則---只要形成視圖的表中的數據變化了,相應的視圖中的數據同時變化

4)數據物理性和邏輯性獨立准則

3、分布式處理功能:野叢搏

ORACLE資料庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式資料庫功能了,一個ORACLE分布式資料庫由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關系型產品構成。頌祥

4、用ORACLE能輕松的實現數據倉庫的操作。

這是一個技術發展的趨勢,不在這里討論。

優點

■ 可用性強

■ 可擴展性強

■ 數據安全性強

■ 穩定性強

D. oracle是什麼意思

Oracle是甲骨文公司的一款關系資料庫管理系統。
1、它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的適應高吞吐量的資料庫解決方案。
2、ORACLE通常應用於大型系統的資料庫產品。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
3、Oracle資料庫是數據的物理存儲。這就包括(數據文件ORA或者DBF、控制文件、聯機日誌、參數文件)。其實Oracle資料庫的概念和其它資料庫不一樣,這里的資料庫是一個操作系統只有一個庫。可以看作是Oracle就只有一個大資料庫。

E. DB2與oracle有什麼區別

1、體系結構,DB2的實例和資料庫分開的做法,我個人還是比較喜歡的,因為實例可以創建多個,資料庫的恢復直接恢復到實例下就可以了,相對ORACLE簡單多了。

2、管理工具,DB2的管理工具做得太簡陋了,控制中心只能說能用而已,而且還有好多BUG,不如ORACLE的企業管理器做得好,連WEB版都沒有。

3、備份管理,DB2的備份只能說是簡陋了,沒有備份集的管理功能,沒有恢復預覽和校驗功能,不能寫到網路驅動器上,唉太多的沒有了,ORACLE的RMAN確實強大;

4、DB2的命令執行方式,我很喜歡,可以在命令行上執行SQL,也可以在命令窗口上執行SQL,相對SQLPLUS靈活多了;

5、DB2的自動維護功能做的很好,可以定期自動整理資料庫碎片和重建索引,唯一不大理想的是自動維護的備份功能不能指定壓縮備份,相對而言ORACLE的自動維護功能就很一般了;

6、DB2的運行狀況的功能我也很喜歡,ORACLE也有類似的AHM,但是 DB2的運行狀況更為直接,可以一下就看出資料庫目前有啥問題,DB2還給出了如何處理的建議顧問程序;

7、DB2的內存狀況監控功能本來我也很喜歡,可以直接在內存狀況監控上直接改相應的參數,但是發現一個巨大BUG後,我就很不喜歡了,如果你一直點刷新,發現內存佔用量會不斷上升,我有次為了監控一個內存參數,讓這個工具運行了一天一夜,結果回來一看,暈倒,所有的內存參數增長到數百G,我想看的歷史變化情況居然沒有。

8、DB2的遠程網路連接採用的編目方式描述連接串的方式我感覺很不爽,為了改個客戶端的連接伺服器的IP地址,所有的客戶端都需要將編目刪除,然後重新編目連接地址,暈倒100多台PC機搞下來,盡管可以使用腳本,但是還是把人都快搞瘋了。ORACLE採用的用文件來配置遠程伺服器的方式,所有的PC機都通過更新伺服器直接更新本機的TNSNAME,1分鍾搞定。

9、DB2的資料庫創建如果要手工管理容器,居然沒有指定預設的系統表空間數據文件名,你要創建一堆相應的文件名,沒辦法,只好照抄oracle的OFA體系結構的文件名。

10、DB2的連接配置圖形工具實在是差了,在上面配置一步步配出的連接居然不能用!只好使用腳本,這點ORACLE比DB2強多了。

11、DB2在WINDOWS 平台的可靠性不怎麼樣,3個多星期無緣無故DOWN了4次機,ORACLE配好了應該沒有這么悲慘吧。

12、DB2的鎖自動管理機制,我比較喜歡,打開後,互鎖的概率大大降低,相同的程序,在DB2下鎖明顯少許多,但是不爽的是DB2的select命令也是加鎖的。

13、DB2 9.7的ORACLE兼容模式,我也很喜歡,遷移麻煩少了許多許多。

14、DEB2 的自動內存管理我看要比ORACLE 要強一些,幾乎所有的內存參數都能自動管理,ORACLE11G貌似也可以全部自動管理了。

15、DB2的導出數據的工具實在太簡陋了,連oracle的EXP/IMP 都不如,更不要說expdp/impdp

16、DB2的SQL語句運行速度明顯快於ORACLE,5-6段相同的代碼,同一台機器,參數都是預設參數,個人測試DB2執行速度大約要快10%-15%,也許和DB2預設的參數調優有關,ORACLE10g調優後,還是還有5-10%左右的差異。

F. Oracle,db2是什麼

Oracle和DB2是兩種不同的資料庫。
Oracle:
Oracle是甲骨文公司的一款關系資料庫管理系統。
ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。比如SilverStream就是基於資料庫的一種中間件。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
DB2:
全稱為IBM DB2。是美國IBM公司開發的一套關系型資料庫管理系統,它主要的運行環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows伺服器版本。
DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於所有常見的伺服器操作系統平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。

熱點內容
怎麼用安卓手機查蘋果的序列號 發布:2024-11-29 06:21:08 瀏覽:507
r11s原始密碼是多少 發布:2024-11-29 05:52:20 瀏覽:79
c語言枚舉法 發布:2024-11-29 05:50:58 瀏覽:125
大數據系統如何配置 發布:2024-11-29 05:48:44 瀏覽:89
連戰訪問西安小學 發布:2024-11-29 05:45:03 瀏覽:316
怎麼編譯原生安卓手機 發布:2024-11-29 05:44:28 瀏覽:193
java代碼編譯java文件 發布:2024-11-29 05:44:27 瀏覽:208
如何部署遠程伺服器 發布:2024-11-29 05:34:37 瀏覽:523
紅米系統存儲與手機存儲 發布:2024-11-29 05:33:55 瀏覽:198
qt反編譯工具 發布:2024-11-29 05:29:31 瀏覽:480