Oracle與SQL Server資料庫管理對比

2021-09-07 22:18:23 字數 1414 閱讀 7291

1. oracle為客戶端開啟會話有兩種方式:共享服務和專用服務。在專用服務情況下,***為連線請求建立新程序(unix環境下是process,windows下我想應該是thread吧);共享服務情況下,***將客戶請求交給dispatcher,由dispatcher安排多客戶的作業。sql server在預設情況下自動為客戶端連線建立執行緒,當有非常多的客戶連線時,sql server可以使用執行緒池管理多會話,這類似於oracle的共享服務。

2. oracle的記憶體管理分三塊:sga、pga、uga;在msdn中並沒有提及怎樣控制sql server的記憶體分配,只是提到sql server的虛擬位址空間分成緩衝池占用空間和其餘空間,且sql server有動態記憶體管理機制。

3. oracle的例項一次只能管理乙個資料庫,資料庫在集群環境下可由多個例項管理。而sql server單個例項一次能管理多個資料庫。oracle資料庫儲存方式有os檔案、裸分割槽、asm等,sql server的資料庫儲存只能是系統檔案。

4. oracle資料庫包含表空間,表空間可以使用多個檔案儲存資料,表空間就類似於sql server中的檔案組。區是物理連續上連線的儲存空間,區中包括最小i/o單位——塊(oracle)或頁(sql server)。但sql server頁大小是8kb,區包含8個頁;oracle不同表空間可以有不同的塊大小,區的大小和保護塊的數量也不固定。sql server的頁由乙個資料庫物件獨佔,物理儲存的資料庫物件只有索引和表兩種;而oracle中的段由資料庫物件定義,且其儲存的物件複雜得多,有表段、索引段、回滾段、臨時段等等,所以在乙個聚簇段中的塊可能被多個表使用。

5. oracle使用freelist管理可以塊,通過設定pctfree和pctused控制快在何種條件下可用;sql server使用gam、sgan記錄可用頁,使用pfs跟蹤頁的使用狀況。

6. sql server的表有兩種方式組織資料的物理儲存,一種是無序的堆組織,這oracle是類似的;另一種是由聚簇索引決定資料排序方式,oracle也可有索引組織方式,但不同於sql server,它依鍵排序資料,不增加乙個索引用於聚簇,不會有額外的開銷。此外,oracle的聚簇表是多表儲存在相同段上,像sql server的混合區可以包含不同表的頁,但oracle的聚簇表是一組含有相同列的表可以儲存在相同的塊中,聚簇表的可以有索引或hash方式組織資料。

7. oracle建立表分割槽會建立不同的段,sql server 2005通過分割槽方案將不同分割槽儲存到不同的檔案組。oracle有三種分割槽方法,sql server使用分割槽函式。oracle 11g中還將加入時段分割槽、系統分割槽等。

8. sql server的索引只有b-樹,oracle有b-樹、位圖、函式、位圖連線和可擴充套件索引。

9. oracle的重做日誌與sql server的事務日誌都使用迴圈寫入策略,oracle使用多個重做日誌檔案,sql server也可使用多個日誌檔案,但將日誌檔案分成多個虛擬日誌,以虛擬日誌為單位進行迴圈。

sql serve儲存過程

儲存過程 一.概念 預先編譯好的sql程式,可以包含 運算元據 變數 控制語句,增刪改查操作都可以,儲存過程是儲存在資料庫中 的乙個物件。二.好處 1.安全性更高 2.減少了網路流量 3.提高速度,效能更高 4.模組化程式設計 三 分類 1.系統儲存過程 由資料庫建立的,sp 開頭,常用的系統儲存過...

SQLServe錯誤整理

1.sql拒絕訪問?提示sql serve不存在或訪問被拒絕 sql server does not exist or access denied.a 1 你如果是獨立上網的請把21埠開啟.區域網把1433埠開啟就可以了.2 關閉防火牆 b 把資料庫連線的 sqllocalname local 的 ...

關於ACCESS資料轉為SQL SERVER資料表

1.關於配置 啟用ad hoc distributed queries exec sp configure show advanced options 1 reconfigure exec sp configure ad hoc distributed queries 1 reconfigure 使...