db2資料庫ibm
① ibm db2 是世上最強資料庫嗎
DB2和oracle以及MS的sql Server比的話,某種意義上說,確實是更強的。
Oralce現在比較流行,大中型資料庫一般都會使用Oracle,操作確實比DB2更方便,DB2主要是更遵守SQL本身的規則(因為SQL本身就是IBM提出的),並沒有像Oracle一樣擴展出自己的PL/SQL。所以用起來沒那麼方便,很多東西需要自己去實現。
但是DB2擁有最好的查詢優化器(資料庫的核心),也就意味著它能更高效的處理海量數據。這是其他所有資料庫都比不了的。另外還有不少重要特性都比Oracle強一些(比如磁碟負載自動平衡、XML處理能力等)。再配上IBM為DB2量身定製的大型機、小型機,DB2處理海量資料庫的性能是其他資料庫比不了的,因此各大銀行,證券交易所等更多地使用DB2。一般的大中型資料庫則用得少,畢竟貴一些,難一些,DB2的必要性淡一些。
很多資料庫技術都是IBM首創的,可以說,DB2在技術方面一直是業界領軍的。
SQL Server、MySQL之類就不說了,它們主要應用於中小型資料庫。跟DB2和Oracle還是有差距的。
不過說世上最強不大合適,畢竟有些資料庫在一些特定領域能夠有更好的表現。
② 淺談IBMDB2的資料庫備份與恢復
摘要 本文探討了基於 IBM DB 的各種資料庫備份與恢復策略 並附有完整的實驗步驟 本文試圖通過具體的實驗使讀者領會各種資料庫備份方式的優劣和異同 並掌握 IBM DB 的資料庫備份與恢復技術
若無特殊說明 以下資料庫備份與恢復的試驗環境均為 Windows XP + IBM DB V 企業版 同樣的語句也在 AIX + IBM DB V 上驗證通過
叢宏舉一 資料庫備份的重要性
在信息日趨發達的時代 數據顯得尤其重要 如何保障數據的完整性和安全性呢?如何避免數據災難事故的發生呢?資料庫備份作為數據安全和完整最有利保障手段的重要性就不言而喻了
資料庫絕穗備份的重要性主要體現在
提高系統的高可用性和災難可恢復性 (在資料庫系統崩潰的時候 沒有資料庫備份怎麼辦!?)
使用資料庫備份還原資料庫是資料庫系統崩潰時提供數據恢復最小代價的最優方案 (總不能讓客戶重新填報數據吧!?)
沒有數據就沒有一切 資料庫備份就是一種防範災難於未然的強力手段 (沒有了數據 應用再花哨也是鏡中花水中月)
對於DBA來說 最首要也是最重要的任務就是資料庫備份
二 DB 資料庫備份的方式與分類
按照資料庫備份對資料庫的使用影響來劃分
A 聯機備份(也稱熱備份或在線備份)
B 離線備份(也稱冷備份或離線備份)
說明 聯機備份和離線備份最大的不同在於 聯機備份資料庫時 資料庫仍然可以供用戶使用 而離線備份資料庫則不行 離線備份資料庫時 必須斷開所有與資料庫有連接的應用後才能進行
按照資料庫的數據備份范圍來劃分
A 完全備份
B 增量備份
說明 完全備份資料庫是指備份資料庫中的所有數據 而增量備份只是備份資料庫中的部分數據 至於增量備份到底備份哪些數據 稍候會提到
增量備份的兩種實現方式
A 增量備份(也稱累計備份)
B delta備份
說明 這兩種備份方式的嚴格定義如下
增量備份是自最近成功的完全備份以來所有更改的數據的備份
delta 備份則是上一次成功的完全 增量或 delta 備份以後所做更改的數據的備份
這里請讀者們仔細的看上面兩個增量備份方式的定義 注意這兩種備滲碧份方式的細微差別 這里我們舉一個例子來說明
假設有一個資料庫 它每天都有部分數據在發生變化 我們星期一晚上對該資料庫做了一次完全備份 星期二晚上對該資料庫做了一次增量備份A(注 這里的增量備份是指累計備份 下同) 星期三晚上又做了一次增量備份B 星期四則做了一次delta 備份
那麼 我們可以得出以下結論
星期一的資料庫備份包含了所有的數據
星期二沒有變動過的數據沒有發生備份 在星期二變動過的數據會備份 並且備份到增量備份A中
星期三的備份中含有自星期一完全備份以來發生過變動的所有數據 包含了星期二和星期三發生過變動的數據 顯然 增量備份A 被 增量備份 B 包含
星期四做的是delta備份 注意 它會也只會備份自星期三備份之後變動過的數據
三 DB 備份文件的結構介紹
在不同的操作系統下 DB 的備份文件的結構是不同的 這里概要地介紹一下
Windows 操作系統下的資料庫備份文件結構
說明 Windows 操作系統下的資料庫備份文件是嵌套在一系列文件夾之下的特殊結構 上例中 D:DB _Train 是指備份目錄 TESTDB 是指資料庫名稱為 TESTDB DB 是指實例名稱 NODE 是指節點名稱 CATN 是指編目名稱 是指備份發生的年月日 形如YYYYMMDD 是指備份發生的時間 精確到秒 也就是指 點 分 秒 形如HHMMSS 最後的 則是備份文件的一個序列號
Unix 操作系統下的資料庫備份文件結構
說明 Unix 操作系統下的資料庫備份文件就是一個文件 上例中 HTDC 是指資料庫名稱 db inst 是指實例名稱 NODE 是指節點名稱 CATN 是指編目名稱 是指備份發生的具體時間 形如YYYYMMDDHHMMSS 同樣地 它的時間精確到秒 也就是指 年 月 日 點 分 秒發生備份 最後的 則是備份文件的一個序列號
四 DB 資料庫備份實驗(附完整命令腳本清單)
DB 資料庫實驗准備工作
( ) Step 創建測試資料庫 TestDB
腳本清單 CREATE DATABASE TestDB ON D: USING CODESET GBK TERRITORY CN WITH Pjj s Test DB ; }
( ) Step 創建資料庫管理表空間 Data_SP(注意路徑 如果沒有請創建)
腳本清單 CREATE REGULAR TABLESPACE Data_SP PAGESIZE K MANAGED BY DATABASE USING ( FILE D:DB ) BUFFERPOOL IBMDEFAULTBP;
說明 上面的腳本創建了一個名為 Data_SP 的資料庫管理表空間 該表空間使用的緩沖池為 IBMDEFAULTBP 存儲路徑為 D:DB ContainerTestDBUserData 存儲文件名為 UserData 大小為 * K = M 頁大小為 K
( ) Step 創建測試表 TestTable 並插入測試數據
腳本清單
CREATE TABLE TestTable ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE ) Message VARCHAR( ) PRIMARY KEY(ID) )IN Data_SP;
插入測試數據 INSERT INTO TestTable(Message) VALUES( 測試表建立成功 );
說明 建立測試表並插入數據是為了稍候驗證資料庫恢復的時候用的
( ) Step 創建測試表 TestTable 並插入測試數據
腳本清單 CREATE TABLE TestTable ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE ) Message VARCHAR( ) PRIMARY KEY(ID) )IN Data_SP;
插入測試數據 INSERT INTO TestTable(Message) VALUES( 測試表建立成功 );
DB 資料庫離線備份與恢復實驗
腳本清單
Step 完全備份資料庫(離線 備份時間戳記為 )
db backup db TestDB to D:DB _Train
Step 模擬災難 強制刪除資料庫
db drop db TestDB
Step 根據該資料庫完全備份還原資料庫
db restore db TestDB from D:DB _Train taken at
DB 資料庫增量備份與恢復實驗
腳本清單
資料庫增量備份以及還原實驗
修改資料庫參數 TrackMod 使之支持資料庫進行增量備份
db update db cfg using TrackMod YES
更改參數後必須完全離線備份資料庫(離線 備份時間戳記為 )
db backup db TestDB to D:DB _Train
插入測試數據
INSERT INTO TestTable(Message) VALUES( 開始增量資料庫備份測試 );
開始增量備份(離線 備份時間戳記為 )
db backup db TestDB incremental to D:DB _Train
刪除資料庫 模擬數據災難
db drop db TestDB
首先還原至完全離線備份狀態
db restore db TestDB from D:DB _Train taken at
還原至增量離線備份狀態
db restore db TestDB incremental automatic from D:DB _Train taken at
注意 上述語句中 有一個 automatic 它表示無論有多少個增量備份 系統將全自動檢索恢復資料庫的順序並自動恢復資料庫 如果沒有 automatic 則需要多次手動恢復資料庫 很麻煩而且容易出錯
Step 根據該資料庫完全備份還原資料庫
db restore db TestDB from D:DB _Train taken at
還原資料庫後查詢測試表數據檢驗數據是否恢復成功
DB 資料庫聯機機備份與恢復實驗
說明 聯機備份資料庫可以使資料庫在備份的同時仍然保持在可用狀態 要讓資料庫支持聯機備份 必須更改資料庫的日誌歸檔方式 在離線備份模式下 資料庫採用循環日誌方式記錄資料庫日誌 在聯機備份模式下 資料庫則採用歸檔日誌的方式備份資料庫日誌 另外 對於聯機備份的資料庫來說 活動日誌和歸檔日誌就很重要了 一定要經常備份 保存
腳本清單
資料庫聯機備份以及還原實驗
連接至資料庫並插入測試數據
db connect to TestDB
插入測試數據
INSERT INTO TestTable(Message) VALUES( 開始聯機資料庫備份測試 完全備份 );
修改資料庫參數 使之支持在線聯機備份
db update db cfg for TestDB using logretain on trackmod on
執行增量 在線備份之前必須執行離線全備份一次 否則資料庫將處於備份暫掛的不可用狀態
(聯機完全備份 時間戳記 )
db backup db TestDB
連接至資料庫並插入測試數據
db connect to TestDB
插入測試數據
INSERT INTO TestTable(Message) VALUES( 開始聯機資料庫備份測試 增量備份 );
執行聯機備份 備份同時再打開一個會話 模擬應用在線(聯機增量備份 時間戳記 )
db backup db TestDB online incremental to D:DB _Train
模擬災難 刪除資料庫!
重要 此前一定要將活動日誌文件備份至另一個路徑 保存好 本例中 活動日誌保存在 C:db admin 下
db drop db TestDB
根據在線完全備份恢復資料庫
db restore db TestDB from D:DB _Train taken at
根據在線增量備份恢復資料庫
db restore db TestDB incremental automatic from D:DB _Train taken at
恢復後的資料庫處於前滾暫掛的不可用狀態
db connect to TestDB
前滾資料庫 並指定歸檔日誌位置 重要!
db ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND PLETE OVERFLOW LOG PATH ( C:db admin )
五 綜述
對於資料庫管理人員或者維護人員來說 怎麼強調資料庫備份的重要性都不為過
希望本文能拋磚引玉 能讓大家對 IBM DB UDB 的資料庫備份與恢復有一些深入的認識 也希望大家能在本機上按照本文的腳本認真的做一次實驗 這樣 你的認識會更加深刻
lishixin/Article/program/Oracle/201311/18590
③ IBM/DB2.Linux的安裝配置管理
IBM/DB2.Linux的安裝配置管理
作為關系型資料庫技術的領導者,IBM公司在2001年將世界排名第四的Informix資料庫公司納入麾下,並將其所擁有的先進特性融入到DB2當中。下面我准備了關於IBM/DB2.Linux的安裝配置管理的.文章,提供給大家參考!
1.安裝IBM/DB2 V9.1 Linux版
下載得到安裝文件 db2exc_912_LNX_x86.tar.gz ,解壓到ext2/3分區
# cd db2exc_912_LNX_x86
# ./db2setup
(1)彈出java的安裝界面,install new instance
(2)使用“Typical Mode”,選擇安裝目錄,默認為 DB2_root=/opt/ibm/db2/V9.1/
# echo DB2_root=/opt/ibm/db2/V9.1/ >> /etc/profile
(3)並默認創建 db2inst?、db2fenc?、db2adsusr? 這個幾個用戶最重要的是本地實例管理用戶 db2inst? 其負責管理資料庫實例
(4)創建Instance,然後下一步繼續安裝,看到successful結果,表示成功
(5) # ps -e | grep db2 應該可以看到三個不同名稱的進程
(6) # tail /etc/inittab #可以看到最後一行就是啟動db2的方法
fmc:2345:respawn:/opt/ibm/db2/V9.1/bin/db2fmcd #DB2 Fault Monitor Coordinator
2.配置IBM/DB2的庫開發和CLI/ODBC連接
# su db2inst1
$ cd $DB2_ROOT
## 編目(catalog):
$ ./db2 catalog tcpip node remote server
$ ./db2 catalog db at node
$ ./db2 connect to user using
## 反編目(uncatalog):
$ ./db2 uncatalog db
$ ./db2 uncatalog node
3.修改,使用IBM/DB2的CLI/ODBC進行程序開發
(1)如果不想使用db2實例,而只是想使用CLI/ODBC來開發程序,可以注釋 /etc/inittab 中啟動db2的那一句,放棄啟動IBM/DB2資料庫服務。
(2)環境變數配置文件 : /home/db2inst1/sqllib/db2profile
查看 /etc/profile ,保證(添加或者修改)有以下兩句
export DB2INSTANCE=db2inst1
export PATH=$DB2_ROOT/binPATH
export LD_LIBRARY_PATH=$DB2_ROOT/lib32LD_LIBRARY_PATH
(3)編目目標機器地址與ODBC的DSN的關系,CLI/ODBC 中最重要的頭文件(include)和庫(lib)
$DB2_ROOT/lib32 或 其聯接 /home/db2inst1/sqllib/lib,其中最重要的是libdb2.so
4.資料庫備份及恢復
(1).使用用戶名和口令登錄伺服器
# db2 connect to ecm3000 user using
(2).強制停止所有應用,是非同步的
# db2 force applications all
(3).將資料庫備份到指定目錄下
# db2 backup database to
(4).從指定目錄中恢復資料庫
# db2 restore database from
5.修改和卸載DB2
請先反編目()如步驟2中
# su db2inst1
$ cd $DB2_ROOT/install
$ ./db2_deinstall -a
等待結束 ...
修改該/etc/inittab 中啟動db2的那一句,保證放棄啟動IBM/DB2資料庫服務。
;④ 數據倉庫:IBM DB2 Datawarehouse介紹
DB Data Warehouse Edition (WDE) 是一個用於靈活 可伸縮和集成的數據倉庫和分析應用程序的業務智能平台 DWE以DB UDB作為它的核心引摯開始 並用一組仔細選擇的分析功能來為Business Intelligence提供綜合的開發和運行時平台 DB UDB跨各種伺服器平台和架構進行容易的伸縮(從 GB到 TB資料庫) 發布的TPC H基準的長時間和連續的跟蹤記錄證明了DB 的伸縮效率 最終可伸縮性閾值和平台可移植能力 DB UDB Data Warehouse Standard Edition DB UDB Data Warehouse Base Edition和DB UDB Data Warehouse Enterprise Edition可用於AIX Linux Solaris和Windows系統
DB UDB Enterprise Server Edition V 及其DB Database Partioning Feature是包括在Data Warehouse Enterprise Edition中的 DB UDB Enterprise Server Edition V 中包括在DB UDB Data Warehouse Base Edition中的 DB UDB Workgroup Server Unlimited Edition V 中擾擾是與DB UDB Data Warehouse Standard Edition一起提供的
DB UDB V 中的Data Warehouse特性包括
用於大量可伸縮性的Database Partitioning Feature
用於提高DBA效率和所有規模的資料庫的自動管理
多維數據集群 在OLAP和其他查詢中使用的數據的優化存儲選項
為倉庫查詢提供Cube似的性能的具體化查詢表
幫助維護實時倉庫的Online Utilities
Design Advisor 使得易於為高性能的分析工作負荷設計優化的一組倉庫對象(包括MQT 索引 分區和MDC)
用於高級分析的內置功能 包括回歸 協方差 柱狀圖和移動窗口
具有行級和頁級選項的示例功能
高級優化技術 包括具有動態點陣圖索引的星連接演算法
默羨李薯認值的壓縮(例如 大字元欄位的尾隨空白) 這提供了有效 低開銷的技術 以減少大型倉庫的磁碟需求
DB Universal Database 允許您在任何時間 從企業中的任何位置 從任何應用程序訪問任何信息 而且具有業界最低的總體擁有成本 最新版本通過 SMART(self managed and resource tuning 自管理和資源調整) Business Intelligence增強功能及擴展能力提供了強大的自動化能力 以兄者在您的公司中集成信息
lishixin/Article/program/DB2/201311/21925