熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle 專業人員使用的SQL Server 2000

2013-11-13 15:31:42  來源: Oracle 

  摘要本文解釋了 Microsoft® SQL Server&#; 數據庫和 Oracle 數據庫的結構區別本文是給那些准備數據庫以遷移到 SQL Server 的 Oracle 專業人員使用的
  
  數據庫定義
  在 Oracle數據庫是指整個 Oracle RDBMS 環境它包括以下組件
  
  Oracle 數據庫進程和緩沖(實例)
  SYSTEM 表空間包含一個集中系統類目它可以由一個或多個數據文件構成
  其它由數據庫管理員 (DBA)(可選)定義的表空間每個都由一個或多個數據文件構成
  兩個以上的聯機恢復日志
  歸檔恢復日志(可選)
  其它文件(控制文件InitoraConfigora 等)
  Microsoft® SQL Server&#; 數據庫提供了數據應用程序和安全機制的邏輯分隔一個 SQL Server 安裝(實例)可以支持多個數據庫用 SQL Server 構建的應用程序可以用數據庫來邏輯分隔業務功能一台計算機上可以有多個 SQL Server 實例每個 SQL Server 實例可以有多個數據庫
  
  每個 SQL Server 數據庫可以支持文件組它提供了物理分布數據位置的能力一個 SQL Server 文件組可以對含有單個 SQL Server 數據庫數據的操作系統文件進行分類以簡化數據庫管理任務比如備份文件組是 SQL Server 數據庫的一個屬性不能包含多於一個數據庫的操作系統文件但一個數據庫可以包含一個以上的文件組創建數據庫後可以將文件組添加到數據庫
  
  
 

  
  如果您的浏覽器不支持內嵌框請單擊此處在單獨的頁中查看
  
  Microsoft SQL Server 還會默認安裝以下數據庫
  
  model 數據庫是所有新建用戶數據庫的模板
  tempdb 數據庫類似於 Oracle 臨時表空間用於臨時工作存儲和排序操作與 Oracle 臨時表空間不同用戶可以創建臨時的表當用戶登出時這個表會被自動刪除
  msdb 數據庫支持 SQL Server 代理及其安排的作業警報和復制信息
  提供的 pubs 和 Northwind 數據庫是培訓示例數據庫
  有關默認數據庫的詳細信息請參見 SQL Server 聯機圖書
  
  數據庫系統類目
  每個 Oracle 數據庫都在一個中央系統類目和數據字典上運行它位於 SYSTEM 表空間每個 Microsoft SQL Server 數據庫都維護自己的系統類目它含有以下信息
  
  數據對象(數據表索引存儲過程視圖觸發器等)
  約束
  用戶和權限
  用戶定義的數據類型
  復制定義
  數據庫使用的文件
  SQL Server 的 master 數據庫中還包含中央系統類目它含有系統類目和一些單個數據庫的信息比如
  
  每個數據庫的數據庫名稱和主文件位置
  SQL Server 登錄帳戶
  系統消息
  數據庫配置值
  遠程和/或鏈接的服務器
  當前活動信息
  系統存儲過程
  同 Oracle 的 SYSTEM 表空間類似SQL Server 必須有 master 數據庫才能訪問其它數據庫因此每次對數據庫進行重大修改後都應備份 master 數據庫這對防止發生故障很重要數據庫管理員也可鏡像構成 master 數據庫的所有文件
  
  有關 master 數據庫中和所有其它數據庫的系統數據表的詳細列表請參見 SQL Server 聯機圖書的系統數據表
  
  物理和邏輯存儲結構
  Oracle RDBMS 由表空間組成它又組成了數據文件表空間數據文件被格式化成稱作區塊的內部單元區塊大小由 DBA 在首次創建 Oracle 數據庫時設定在 Oracle 表空間中創建對象時用戶可以用稱作擴展盤區的單位指定其空間(初始擴展盤區下一擴展盤區最小擴展盤區和最大擴展盤區)如果沒有明確指定擴展盤區大小則創建默認擴展盤區Oracle 擴展盤區的大小各不相同而且必須含有至少 個相鄰的區塊鏈
  
  Microsoft SQL Server 在數據庫級別使用文件組來控制表和索引的物理位置文件組是一個或多個文件的邏輯容器文件組中的數據按比例填充到屬於該文件組的所有文件中
  
  如果未定義且未使用文件組數據庫對象則放到創建數據庫時隱式創建的一個默認文件組中文件組允許您
  
  將大數據表分布到多個文件從而提高 I/O 吞吐量
  存放與相應的表不同的文件索引這也能提高 I/O 吞吐量和磁盤並發性能
  將 textntext 和 image 卷(大對象)存儲到獨立於數據表的單獨文件
  將數據庫對象置於特定的磁盤卷軸
  備份並恢復單個數據表和文件組中的一組表
  SQL Server 將文件格式化成稱作頁的內部單位頁的大小是固定的 字節( KB)頁被組織成擴展盤區擴展盤區的固定大小是 個相鄰的頁在 SQL Server 數據庫中創建表或索引時它會在一個擴展盤區內被自動分配一個頁當表或索引變大時SQL Server 會自動為它分配屬於它的擴展盤區與 Oracle 分配整個擴展盤區的方法相比這種做法可以更有效地存儲較小的表和索引
  
  詳細信息請參見 SQL Server 聯機圖書的物理數據庫結構
  
  數據條帶化
  安裝的大多數 Microsoft SQL Server 不需要 Oracle 類型的數據段SQL Server 的方法是它能用基於硬件的 RAID 或基於軟件的 RAID(可從 Windows NT 磁盤管理實用程序或第三方獲得)更有效地分布數據(或叫做數據條帶化)利用 RAID您可以建立含有多個磁盤驅動器(但顯示為一個邏輯磁盤)的數據條帶集如果在這個條帶集上創建數據庫文件磁盤子系統會承擔跨多個磁盤分配 I/O 負載的任務建議管理員用 RAID 將數據分布到多個物理磁盤
  
  建議 SQL Server 采用的 RAID 配置是 RAID (鏡像)或 RAID (有額外奇偶校驗啟動器的條帶集做備份)同樣也推薦使用 RAID (帶奇偶校驗的條帶集鏡像)但它的價格比上面兩個選擇高條帶集可以很好地分布對數據庫文件的隨機 I/O 操作
  
  如果不能選擇 RAID那麼文件組是一個很有吸引力的替代方法它提供與 RAID 相同的一些優點此外對於那些非常大的數據庫(跨多個物理 RAID 陣列)文件組是一個用可控方式將 I/O 分布到多個 RAID 陣列的好方法
  
  連續 I/O 必須優化事務日志文件而且該文件必須有單點故障保護因此建議事務日志使用 RAID (鏡像)遷移時這個驅動器的大小至少應該與 Oracle 聯機恢復日志和 Oracle 回滾數據段表空間的大小總和相等請創建一個或多個占據邏輯盤上定義的全部空間的日志文件與文件組中存儲的數據不同事務日志項總是按先後順序寫入並不按比例填充
  
  有關 RAID 的詳細信息請參見 SQL Server 聯機圖書Windows NT Server 文檔資料和 Microsoft Windows NT Resource Kit
  
  事務日志和自動恢復
  Oracle RDBMS 在每次啟動時執行自動恢復它檢查表空間文件的內容與聯機恢復日志文件的內容是否一致如果不一致Oracle 會將聯機恢復文件的內容應用於表空間文件(前滾)然後刪除回滾數據段中發現的所有未授權的事務(回滾)如果 Oracle 無法從聯機恢復日志文件獲得所需的信息它會到歸檔恢復日志文件中查找
  
  Microsoft SQL Server 也能執行自動數據恢復它在每次啟動時檢查系統中的每個數據庫它首先檢查 master 數據庫並啟動恢復系統中所有其它數據庫的線程自動恢復機制對每個 SQL Server 數據庫檢查事務日志如果事務日志中有任何未授權的事務則復原事務然後恢復機制檢查事務日志中那些尚未寫入數據庫的授權事務如果找到這樣的事務它就重新執行事務(前滾)
  
  每個 SQL Server 事務日志都具有 Oracle 回滾數據段和 Oracle 聯機恢復日志的組合功能每個數據庫都有自己的事務日志它記錄了數據庫的所有更改並且由該數據庫的所有用戶共享當某項事務開始數據被修改的時候日志中記錄下一個 BEGIN TRANSACTION 事件(和修改事件)在自動恢復期間要使用這個事件來判斷事務的起始點接收到每個數據修改聲明時更改情況先寫入事務日志然後再寫入數據庫本身SQL Server 有一個自動檢查點機制可以確保已完成的事務定期從 SQL Server 磁盤高速緩存寫入事務日志文件檢查點將自上一個檢查點以來已被修改的緩存頁寫入數據庫用檢查點將這些緩存頁(也叫髒頁)寫入數據庫可確保所有已完成的事務都被寫入磁盤這個過程縮短了恢復系統故障(比如斷電)的時間這個設置是可以更改的請使用 SQL Server 企業管理器或 TransactSQL sp_configure 系統存儲過程來修改恢復間隔設置
  
  備份和恢復數據
  Microsoft SQL Server 提供了幾個數據備份選項
  
  數據庫全部備份
  數據庫備份將制作整個數據庫的拷貝並不是所有頁都被復制到備份集而只是復制那些實際含有數據的頁數據頁和事務日志頁都被復制到備份集
  數據庫備份集用於重新創建 BACKUP 語句完成時的數據庫如果只存在數據庫的數據庫備份它只能恢復到服務器或數據庫故障發生之前的上一次數據庫備份時的數據庫原貌要進行數據庫全部備份請使用 BACKUP DATABASE 語句或備份向導
  差異備份
  
  完成數據庫全部備份後請定期用 BACKUP DATABASE WITH DIFFERENTIAL 或備份向導只備份那些已經更改的數據和索引頁
  
  事務日志備份
  Microsoft SQL Server 中的事務日志是與單個數據庫關聯的事務日志文件會一直
From:http://tw.wingwit.com/Article/program/Oracle/201311/16857.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.