国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

利用您的Oracle9i技能來學習DB2二(組圖)

2024-08-29 13:40:36
字體:
來源:轉載
供稿:網友

  存儲器體系結構和后臺進程
  
  接下來,我們將查看存儲器體系結構和后臺進程,并將它們在 Oracle 和 DB2 UDB 中的使用方式進行比較和對比。
  
  
圖 9. Oracle 存儲器體系結構和后臺進程
   利用您的Oracle9i技能來學習DB2二(組圖)(圖一)
點擊查看大圖

  Oracle 中的 System Global Area(SGA)是一組共享存儲器區域,用于存儲實例信息。其中包括語句緩存器、重做日志緩存器和數據緩沖區緩存器。PRogram Global Area(PGA)和 User Global Area(UGA)共享存儲器區域容納用于服務器進程和用戶會話的數據和控制信息。
  
  Oracle 在同一機器中支持多個實例,但不共享后臺進程。例如,一個機器里的三個實例將需要三組后臺進程。因此,一般推薦在同一機器中使用一個數據庫、一個實例和多個模式。
  
  
圖 10. DB2 UDB 存儲器體系結構和后臺進程
   利用您的Oracle9i技能來學習DB2二(組圖)(圖二)
點擊查看大圖

  DB2 UDB 和 Oracle 都使用共享存儲器區域,但是 DB2 UDB 存儲器體系結構的實現方式與 Oracle 的稍有不同。因為一個 DB2 UDB 實例可以包含多個數據庫,所以存在兩個級別的配置。正如前面的小節中所提到的,實例級別的配置可以在 DBM CFG 文件中完成,而數據庫級別的配置則是在 DB CFG 文件中完成??烧{節這兩個級別的配置參數來調整存儲器的使用。下面提供了關于 DB2 UDB 存儲器結構和不同后臺進程的更具體的介紹。
  
  不像 Oracle 在啟動時就將存儲器分配給實例和數據庫,DB2 UDB 在不同的級別分配存儲器。這主要是因為 DB2 UDB 實例可包含多個數據庫。DB2 UDB 中有三種主要的存儲器結構:
  
  實例共享存儲器:指的是數據庫治理器全局共享存儲器,它是當使用 db2start 命令啟動實例時被分配的,并且保留到發出 db2stop 命令來停止該實例。
  數據庫共享存儲器:指的是數據庫全局存儲器,它是首次激活或連接到該數據庫時被分配的。分配的存儲器包括緩沖池、鎖列表、數據庫堆、實用工具堆、包緩存器和目錄緩存器。
  應用程序共享存儲器:指的是當應用程序連接到數據庫時所分配的存儲器,并且由代理(agent)使用,而代理將完成連接的客戶機所要求的工作。連接到數據庫的每個應用程序都有給其分配的存儲器;因此,影響應用程序共享存儲器的參數的準確配置就變得極其重要了。
  
  在 DB2 UDB for Windows 中,服務器活動以線程的形式進行,而在 linux 和 UNIX 環境中,它們作為后臺進程來實現。DB2 UDB 進程活動于以下級別:
  
  實例級別:這些進程是在啟動實例時被初始化的:
  
  DB2 Daemon Spawner(db2gds):為每個實例啟動的全局守護進程處理程序(僅存在于 UNIX 中)。
  DB2 System Controller(db2sysc):主要的 DB2 進程。
  DB2 Watchdog(db2wdog):所有其他進程的父進程。
  DB2 Format Log(db2fmtlg):類似于 Oracle 中的 ARCn 進程,預先在日志路徑下分配日志文件。
  
  數據庫級別:這些進程是在與數據庫建立連接時被初始化的。
  
  DB2 Log Reader(db2loggr):類似于 Oracle 的 PMON 進程的子集。該進程在回滾、重啟恢復和前滾期間讀取日志文件。
  DB2 Log Writer(db2logw):將日志緩沖區的日志寫入磁盤上的事務日志文件中。相當于 Oracle 中的 LGWR 進程。
  DB2 Page Cleaner(db2pclnr):相當于 Oracle 中的 DBWR 進程,該進程在將磁盤中的頁移至 BP 之前清除緩沖池。
  DB2 Prefetcher(db2pfchr):從磁盤中檢索頁并且在需要用到之前將之置于緩沖池。
  DB2 Deadlock Detector(db2dlock):死鎖監測器進程。
  
  應用程序級別:連接到數據庫的每個應用程序都有自己的一份與之關聯的應用程序級別的后臺進程。它們是:
  
  DB2 Communication Manager(db2ipccm):為每個本地連接的客戶機提供的進程間通信進程。
  DB2 TCP Manager(db2tcpcm):為使用 TCP/IP 的遠程客戶機連接提供的 TCP 通信治理進程。
  DB2 Coordinating Agent(db2agent):代表應用程序處理所有需求的進程。
  DB2 Subagent(db2agnta):空閑的子代理。
  Active Subagent(db2agntp):為使多個進程用于單個任務而啟用 SMP 并行性時使用的活動子代理。

  
  鎖定機制
  
  Oracle 中的鎖定既可以是手工的也可以是自動的。Oracle Lock Manager 可以在行級別上隱式地鎖定表數據,或者可以使用以下 SQL 語句在事務或會話級別上重載默認的鎖:
  
  1. SET TRANSACTION ISOLATION LEVEL
  2. LOCK TABLE
  3. SELECT FOR UPDATE
  
  Oracle 支持名為多版本讀取一致性(Multi Version Read Consistency)的機制,它是由重做段中的重做數據來實現的。
  
  DB2 UDB 實現了 ANSI 標準隔離(Isolation)級別,如未提交讀、游標穩定性、讀穩定性和可重復讀。除非使用未提交讀隔離級別,否則用戶只會看到提交的數據。根據隔離級別將隱式地獲得行鎖??涉i定的數據庫對象有表空間、表和行,然而,只有表和表空間可以被顯式鎖定??梢允褂?LOCK TABLE 命令代替默認的行鎖定來鎖定表。
  
  不像 Oracle,在 DB2 UDB 中,鎖存儲在內存而非數據頁中。LOCKLIST 數據庫配置參數可用于配置鎖可用的內存,而 MAXLOCKS 配置參數則定義為特定應用程序的鎖提供的最大內存容量。
  
  安全性
  
  Oracle 和 DB2 UDB 都是具有基本和高級安全特性的安全數據庫。Oracle 中有 4 種不同的用戶身份驗證方式,如下:
  
  數據庫:數據庫執行用戶的識別和身份驗證。
  外部:操作系統或網絡服務執行身份驗證。
  全局身份驗證和授權:由 SSL 對用戶進行全局驗證。
  代理身份驗證和授權:中間層服務器執行身份驗證。
  
  當用 CREATE USER 命令創建用戶的時候就指定了身份驗證方式。幾個數據字典視圖包含了這些用戶的有關信息。
  
  在 DB2 UDB 中,用戶不存在于數據庫中,而是由操作系統進行治理的。在任何數據庫表中都不會保存數據庫登錄信息。任何操作系統用戶都有可能潛在地使用 DB2 UDB;然而,除非他們被授予了給定的 DB2 UDB 權限或特權,否則他們能做的并不是很多。通過 Control Center GUI 可以很方便地處理權限和特權的授予和取消。您可能首先必須將一個用戶或組從可用的操作系統用戶或組中添加到 Control Center。
  
  另外,在 DB2 UDB 中不使用術語“角色”;而是使用術語“權限”,這類似于 Oracle 的數據庫角色,就是通過它將特權授予某些組和用戶。DB2 UDB 支持的權限有:SYSADM、SYSCTRL、SYSMAINT、DBADM 和 LOAD。
  
  使用 GRANT SQL 語句不能賦予 SYSADM、SYSCTRL 和 SYSMAINT 權限。這些非凡的權限只能通過數據庫治理器配置文件來設置。
  
  DB2 UDB 還使用術語“特權”,這類似于 Oracle 的系統和模式對象特權。有 數據庫特權(connect、createtab 等)和 數據庫對象特權(schema、table、view 等)。圖 11 顯示了從 Control Center GUI 中獲得的 DB2 UDB 安全性信息。Change User 窗口上顯示的大部分選項卡對應了 DB2 UDB 所支持的特權。
  
  
圖 11. DB2 UDB 安全性
   利用您的Oracle9i技能來學習DB2二(組圖)(圖三)
點擊查看大圖

  數據庫安全性除了特權和權限之外還有其他方面的內容。這里簡要地列出了 Oracle 和 DB2 UDB 之間的一些差異和相似點:
  
  用戶身份驗證和授權
  
  Oracle 使用加密的口令,一旦創建一個用戶就將之存儲在字典中。DB2 UDB 支持用于用戶身份驗證的口令并使用底層操作用戶來進行身份驗證。Oracle 和 DB2 UDB 都支持 LDAP(Oracle Internet Directory 和 IBM Directory Server)。Oracle 和 DB2 UDB 還都支持單點登錄(single sign on,SSO)。
  
  數據加密
  
  Oracle 支持對諸如信用卡號碼的敏感數據和一些高度敏感的業務數據進行加密。DB2 UDB 支持列級別上的數據加密。
  
  網絡加密
  
  Oracle 在其高級安全性中提供了網絡加密。Oracle 使用 DES、3DES 和 RC4 行業標準加密。DB2 UDB 不會單獨實施網絡加密。然而可使用附帶的 Tivoli SecureWay 完成網絡加密。
  
  審計追蹤
  
  Oracle 答應您對用戶和對象進行審計追蹤。Log miner 還可用于調查和分析可疑查詢。DB2 UDB 提供了類似的審計工具。db2audit 工具就可用于該目的。
  
  工具
  
  我們將查看來自不同領域的工具,如數據庫的創建和維護、網絡、治理 GUI、性能調整、數據移動和備份-恢復工具。圖 12 展示了 DB2 UDB GUI 工具。
  
  
圖 12. DB2 UDB GUI 工具
   利用您的Oracle9i技能來學習DB2二(組圖)(圖四)
點擊查看大圖

  讓我們來看一看 Oracle 和 DB2 UDB 中所執行的任務有多么相似。

  
  數據庫的創建和維護
  
  Oracle 提供了 Database Configuration Assistant(dbca)這個 GUI 工具來創建數據庫。對于數據的維護,Oracle 提供了 Oracle Enterprise Manager??蓮?DB2 UDB Control Center 來創建并維護 DB2 UDB 數據庫。
  
  網絡
  
  Oracle 提供了 Network Configuration Assistant(netca)來進行網絡配置?;蛘?,您可以使用 Oracle Network Manager 來配置服務名、偵聽器、配置文件和 Oracle 名稱服務器。DB2 UDB 使用 CATALOG 命令給節點和數據庫編目。還可以使用 DB2 UDB 命令行或 DB2 UDB Configuration Assistant GUI 來完成編目。
  
  治理
  
  Oracle Enterprise Manager 為日常治理任務提供了范圍較廣的治理功能。DB2 UDB Control Center 與 Oracle Enterprise Manager 一樣提供了類似功能。除了 DB2 UDB Control Center,DB2 UDB 命令行處理器也可用于發出 DDL 和 DML 語句。該工具與 Oracle SQLPLUS 工具十分相似。圖 13 顯示了 DB2 UDB 命令行處理器。
  
  
圖 13. DB2 UDB 命令行處理器
   利用您的Oracle9i技能來學習DB2二(組圖)(圖五)
點擊查看大圖

  如 圖 14 所示,還可以從 Command Center 發出命令。
  
  
圖 14. Command Center GUI(DB2 UDB 命令行處理器的 GUI 版本)
   利用您的Oracle9i技能來學習DB2二(組圖)(圖六)
點擊查看大圖

  性能調整
  
  Oracle Enterprise Manager 帶有 Change Management pack、Tuning Pack 和 Diagnostic Pack。DB2 UDB 提供了 Event Analyzer、Health Center、IndouBT Transaction Manager 和 Memory Visualizer 這些 GUI 工具來完成性能調整任務。
  
  數據移動
  
  Oracle 提供 SQL Loader(sqlldr)用于以定界文本格式加載數據。Import(imp)和 eXPort(exp)可用于執行邏輯導入和導出。而 DB2 UDB 也提供了類似的導入、導出和加載工具。對于跨平臺的數據移動,DB2 UDB 提供了工具 db2move。
  
  備份和恢復
  
  Oracle 為熱備份提供了 Recovery Manager 選項。DB2 UDB 中可使用備份命令或 DB2 UDB Control Center 來完成數據庫備份。
  
  結束語
  
  本文利用您現有的 Oracle 9i Release 2 知識向您介紹了 DB2 UDB for Linux、UNIX 和 Windows Version 8。我們簡要地描述了 DB2 UDB 體系結構、后臺進程、存儲器模型、安全性、工具,等等。Oracle 和 DB2 UDB 之間存在許多相似點,我們也指出了兩者的一些差異,以使您能利用現有知識成功把握 DB2 UDB。表 3 總結了我們所討論的 Oracle 和 DB2 UDB 之間的差異和相似點。
  
  
表 3. Oracle 與 DB2 UDB 概念對比總結
  [[The No.17 Picture.]]


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江西省| 阳朔县| 朝阳县| 龙山县| 台州市| 尉犁县| 太和县| 天柱县| 临澧县| 清镇市| 宝应县| 瓦房店市| 顺平县| 偃师市| 郎溪县| 西乌珠穆沁旗| 香格里拉县| 井陉县| 昂仁县| 安远县| 罗平县| 闻喜县| 平湖市| 织金县| 永善县| 剑阁县| 丽水市| 定襄县| 灵武市| 库车县| 甘德县| 壤塘县| 舞阳县| 随州市| 稻城县| 温宿县| 冕宁县| 梅州市| 安宁市| 秀山| 天气|