當前位置:首頁 » 數據倉庫 » db2資料庫管理最佳實踐
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

db2資料庫管理最佳實踐

發布時間: 2023-03-26 14:40:29

㈠ db2如何快速入手

徐明偉的《DB2資料庫管理最佳實踐》

㈡ 怎麼啟動db2資料庫

在一個DB2 實例下,可以創建多個database(具體每個實例下可以創建多少個database,可以通過DB2 GET DBM CFG查看.一旦建立了資料庫之後,就可以對其進行操作,然而,在向資料庫中建立對象或訪問資料庫中的對象(數據)之前,必須先知道如何啟動和停止資料庫.
本小節簡單介紹了db2 database通過command line的方式如何實現啟動和停止.
激活資料庫
如果在database沒有激活之前,就在應用中使用connect to database_name或隱式連接,那麼應用就必須要進行等待,知道資料庫管理器啟動了你要連接的資料庫.一般第一個應用會引發等待資料庫管理器執行資料庫啟動的所有開銷.
我們也可以使用activate database database_name這樣的命令啟動特定的資料庫.這個命令就會免除第一個應用程序連接上來的時候等候資料庫初始化所花費的時間。一般情況下,DB2 DBA會提前激活所有必要的資料庫.
注意:1)如果發出activate database命令的應用已經與一個database建立了活動的資料庫連接,就回返回錯誤消息.
2)如果需要重新啟動(restart)的資料庫接受了一個activate database命令,那麼這個activate database命令就會象connect to 或隱式連接一樣工作.
3)如果資料庫配置了
啟用的自動重新啟動 (AUTORESTART) = ON
那麼在activate database命令對其初始化之前,資料庫會重新啟動.
察看指定資料庫的配置參數
--默認
DB2 GET DB CFG FOR study
--分屏顯示
DB2 GET DB CFG FOR study | More
--將顯示結果存入study.txt 文件中
DB2 GET DB CFG FOR study > study.txt

下面是一個示例,我在當前DB2實例下,創建了3個database,我利用activate命令挨個將他們激活

D:DB2BIN>db2 db2start
DB20000I DB2START命令成功完成。
D:DB2BIN>db2 list database directory
系統資料庫目錄
目錄中的條目數 = 3
資料庫 1 條目:
資料庫別名 = TEST
資料庫名稱 = TEST
本地資料庫目錄 = D:DB2test
資料庫發行版級別 = c.00
注釋 = test
目錄條目類型 = 間接
目錄資料庫分區號 = 0
備用伺服器主機名 =
備用伺服器埠號 =
資料庫 2 條目:
資料庫別名 = BANK
資料庫名稱 = BANK
本地資料庫目錄 = D:db2bank
資料庫發行版級別 = c.00
注釋 = bank
目錄條目類型 = 間接
目錄資料庫分區號 = 0
備用伺服器主機名 =
備用伺服器埠號 =
資料庫 3 條目:
資料庫別名 = STUDY
資料庫名稱 = STUDY
本地資料庫目錄 = D:db2study
資料庫發行版級別 = c.00
注釋 = STUDY
目錄條目類型 = 間接
目錄資料庫分區號 = 0
備用伺服器主機名 =
備用伺服器埠號 =
D:DB2BIN>db2 list active databases
sql1611W 「資料庫系統監視器」沒有返回任何數據。
D:DB2BIN>db2 activate database study
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 0
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 activate database bank
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 0
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
資料庫名稱 = BANK
當前連接的應用程序 = 0
資料庫路徑 = D:db2bankDB2NODE0000SQL00001
D:DB2BIN>db2 activate database test
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 0
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
資料庫名稱 = BANK
當前連接的應用程序 = 0
資料庫路徑 = D:db2bankDB2NODE0000SQL00001
資料庫名稱 = TEST
當前連接的應用程序 = 0
資料庫路徑 = D:DB2testDB2NODE0000SQL00001
D:DB2BIN>停止資料庫

由activate database命令初始化的資料庫可以由deactivate database命令關閉,也可以通過stop database manager(或db2stop)命令終止資料庫管理器來關閉.

如果使用activate
database命令初始化一個資料庫,那麼最後一個與資料庫斷開連接的應用就不會關閉資料庫.必須要使用deactivate
database.在這種情況下,stop database manager(或db2stop)會關閉資料庫,也會終止實例.

如果使用connect
to 或隱式地連接啟動資料庫,然後再由另外一個應用對相同的資料庫發出activate database命令,那麼就必須使用deactivate
database命令關閉資料庫.如果沒有使用activate
database啟動資料庫,那麼當最後一個應用斷開與資料庫連接的時候,資料庫就會關閉.

示例一:使用connect to方式啟動的資料庫

D:DB2BIN>db2 list active databases
SQL1611W 「資料庫系統監視器」沒有返回任何數據。
D:DB2BIN>db2 connect to study --連接到study資料庫,將自動激活study資料庫
資料庫連接信息
資料庫伺服器 = DB2/NT 9.5.0
SQL 授權標識 = ZHANGRP
本地資料庫別名 = STUDY
D:DB2BIN>db2 list active databases
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 1
資料庫路徑 = D:db2studyDB2NODE0000SQL00001

說明:資料庫被激活,並有一個應用連接上來(就上面的connect to study操作)
D:DB2BIN>db2 connect reset --斷開連接
DB20000I SQL命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W 「資料庫系統監視器」沒有返回任何數據。

D:DB2BIN>

說明:可以發現,上面的連接斷開後,資料庫study也自動停止(因為這個study資料庫是通過connect to 的方式激活的)
示例二:使用activate database方式啟動的資料庫

D:DB2BIN>db2 list active databases --這個時候沒有啟動的資料庫
SQL1611W 「資料庫系統監視器」沒有返回任何數據。
D:DB2BIN>db2 activate database study --用activate database激活study資料庫
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases --可以看到study數據已經激活,但沒有應用連接上來
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 0
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect to study --發起一個連接到study資料庫
資料庫連接信息
資料庫伺服器 = DB2/NT 9.5.0
SQL 授權標識 = ZHANGRP
本地資料庫別名 = STUDY
D:DB2BIN>db2 list active databases --再看一下活動的資料庫,發現study 資料庫上有一個應用連接上來了
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 1
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect reset --關閉剛才那個連接,看看資料庫是不是會自動關閉
DB20000I SQL命令成功完成。
D:DB2BIN>db2 list active databases --資料庫依然啟動,雖然沒有了任何連接
活動資料庫
資料庫名稱 = STUDY
當前連接的應用程序 = 0
資料庫路徑 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 deactivate database study --使用deactivate database命令關閉資料庫
DB20000I DEACTIVATE DATABASE命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W 「資料庫系統監視器」沒有返回任何數據。
D:DB2BIN>

㈢ DB2的介紹

IBM DB2 是美國IBM公司開發的一套關系型資料庫管理系統,它主要的運行環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows伺服器版本。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於所有常見的伺服器操作系統平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。DB2除了可以提供主流的OS/390和VM操作系統,以及中等規模的AS/400系統之外,IBM還提供了跨平台(包括基於UNIX的LINUX,HP-UX,SunSolaris,以及SCOUnixWare;還有用於個人電腦的OS/2操作系統,以及微軟的Windows 2000和其早期的系統)的DB2產品。DB2資料庫可以通過使用微軟的開放資料庫連接(ODBC)介面,Java資料庫連接(JDBC)介面,或者CORBA介面代理被任何的應用程序訪問。

㈣ 如何對db2中的資料庫進行數據分析

1、 打開命令行窗口
#db2cmd
2、 打開控制中心
# db2cmd db2cc
3、 打開命令編輯器

db2cmd db2ce
=====操作資料庫命令=====

4、 啟動資料庫實例
#db2start

5、 停止資料庫實例
#db2stop

如果你不能停止資料庫由於激活的連接,在運行db2stop前執行db2
force application all就可以了 /db2stop force
6、 創建資料庫
#db2 create db
[dbname]
7、 連接到資料庫
#db2 connect to [dbname] user [username] using
[password]
8、 斷開資料庫連接
#db2 connect reset
9、 列出所有資料庫
#db2 list
db directory

10、 列出所有激活的資料庫
#db2 list active databases
11、
列出所有資料庫配置
#db2 get db cfg
12、 刪除資料庫
#db2 drop database [dbname]

(執行此操作要小心)
如果不能刪除,斷開所有資料庫連接或者重啟db2

=========操作數據表命令==========

13、 列出所有用戶表
#db2 list tables
14、列出所有系統表
#db2 list tables for
system
15、列出所有表
#db2 list tables for all
16、 列出系統表
#db2 list
tables for system
17、列出用戶表
#db2 list tables for user
18、 列出特定用戶表

#db2 list tables for schema [user]
19、 創建一個與資料庫中某個表(t2)結構相同的新表(t1)

#db2 create table t1 like t2
20、 將一個表t1的數據導入到另一個表t2
#db2 "insert
into t1 select * from t2"
21、 查詢表
#db2 "select * from table name where
..."
22、 顯示表結構
#db2 describe table tablename
23、 修改列
#db2
alter table [tablename] alter column [columname] set data type varchar(24)

======腳本文件操作命令=======
24、 執行腳本文件
#db2 -tvf scripts.sql
25、幫助命令

* 查看命令幫助
#db2 ? db2start
* 查看錯誤碼信息
#db2 ? 22001
* memo:
詳細命令請使用"db2 ? <command>"進行查看。
=========================
26、備份資料庫

#db2 backup db <db name>
備註:執行以上命令之前需要斷開資料庫連接

27、在線備份資料庫

#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2
BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢復資料庫
#db2
restore db <source db name>

29、在線恢復資料庫
#db2 "RESTORE DB
<database name> TO <db path> LOGTARGET <logpath> WITHOUT
PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND
STOP" ...
30、導出數據文件

#db2move <db name> export

[-sn
<模式名稱,一般為db2admin>]
[-tn <表名,多個之間用逗號分隔>]
31、導入數據文件

#db2move <db name> import
32、獲取db2資料庫管理配置環境信息
#db2 get dbm cfg

33、.獲取db2某個資料庫資料庫管理配置環境信息
#db2 get db cfg for <db name>

或者:連接至某個資料庫以後執行db2 get db cfg

34、更改db2日誌空間的大小

備註:以下命令為了防止db2資料庫過份使用硬碟空間而設,僅用於開發者自己機器上的db2,如果是伺服器,則參數需要修改。

#db2
UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2
logfilsiz 25600;

如果頁大小是4KB,則以上命令創建3個100M的日誌文件,佔用300MB硬碟空間。25600*4KB=102400KB。
35、創建臨時表空間

#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY
DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256

36、獲取資料庫管理器的快照數據
#db2 –v get snapshot for dbm
37、顯示進行程號
#db2
list applications show detail

===================================================
一、載入數據:
1、
以默認分隔符載入,默認為「,」號
db2 "import from btpoper.txt of del insert into btpoper"

2、 以指定分隔符「|」載入
db2 "import from btpoper.txt of del modified by coldel|
insert into btpoper"
二、卸載數據:
1、 卸載一個表中全部數據
db2 "export to
btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del
modified by coldel| select * from btpoper"
2、 帶條件卸載一個表中數據
db2 "export to
btpoper.txt of del select * from btpoper where brhid='907020000'"
db2
"export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2
"export to cmmcode.txt of del modified by coldel| select * from cmmcode where
codtp='01'"
三、查詢數據結構及數據:
db2 "select * from btpoper"
db2 "select *
from btpoper where brhid='907020000' and oprid='0001'"
db2 "select
oprid,oprnm,brhid,passwd from btpoper"
四、刪除表中數據:
db2 "delete from
btpoper"
db2 "delete from btpoper where brhid='907020000' or
brhid='907010000'"
五、修改表中數據:
db2 "update svmmst set prtlines=0 where
brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where
jobtp='02' or jobtp='03'"
六、聯接資料庫
db2 connect to btpdbs
七、清除資料庫聯接

db2 connect reset 斷開資料庫連接
db2 terminate 斷開資料庫連接
db2 force
applications all 斷開所有資料庫連接
八、備份資料庫
1、 db2 backup db btpdbs
2、
db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢復資料庫

1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql

crtdb.sql文件內容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql

db2move btpdbs import
十、DB2幫助命令:
db2 ?
db2 ? restroe
db2 ?
sqlcode (例:db2 ? sql0803) 註:code必須為4位數,不夠4位,前面補0

十一、bind命令:將應用程序與資料庫作一捆綁,每次恢復資料庫後,建議都要做一次bind
(1) db2 bind br8200.bnd

(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd

十二、查看資料庫參數:
db2 get dbm cfg
db2 get db cfg for btpdbs

十三、修改資料庫參數:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2
update db cfg for btpdbs using LOGFILSIZ 5120
改完後,應執行以下命令使其生效:
db2 stop

db2 start

㈤ 想學DB2有哪些入門書籍

DB2
技術參考大全DB2
V7.1
資料庫管理
認證指南,然後加上幫助第一本《
循序漸進DB2——DBA系統管理、運維與應用案例
》第二本《
DB2資料庫性能調整和優化
》第三本《深入解析DB2——高級管理、內部體系結構與診斷案例》

㈥ db2常用命令

操作資料庫命令

1、 啟動資料庫實例

#db2start

2、 停止資料庫實例

#db2stop

如果你不能停止資料庫由於激活的連接,在運行db2stop前執行db2 force application all就可以了 /db2stop force

3、 創建資料庫

#db2 create db [dbname]

4、 連接到資料庫

#db2 connect to [dbname] user[username] using [password]

5、 斷開資料庫連接

#db2 connect reset

操作數據表命令

1、 列出所有用戶表

#db2 list tables

2、列出所有系統表

#db2 list tables for system

3、列出所有表

#db2 list tables for all

4、 列出系統表

#db2 list tables for system

5、列出用戶表

#db2 list tables for user

6、 列出特定用戶表

#db2 list tables for schema[user]

㈦ 循序漸進DB2的編輯推薦

◆ 本書有豐富的DB2運行維護實踐案例,讀者可以通過這些案例加深對DB2認識和理解。
◆ 面對眾多DB2的特點、特性,作者精心選擇了與DBA日常工作關系最密切的部分,由易入難逐步講解。
◆ 本書中包含了大量的提示點等,這些都是作者對DB2維護工作總結後得到的經驗。
◆ 本書總結了DB2常見問題總結和解決方法,對DBA的日常維護非常有參考價值。 1.1 DB2資料庫概述
1.1.1 DB2發展歷史
1.1.2 DB2版本和平台支持
1.1.3 DB2產品組件和功能
1.2 DB2資料庫安裝配置
1.2.1 DB2在Windows上的安裝
1.2.2 DB2在Linux/UNIX上的安裝
1.3 DB2資料庫體系結構 2.1 實例
2.1.1 實例概念
2.1.2 創建實例
2.1.3 實例目錄
2.1.4 實例相關命令
2.1.5 DB2INSTANCE變數介紹
2.1.6 刪除實例
2.1.7 配置實例
2.2 管理伺服器
2.2.1 管理伺服器概念
2.2.2 創建管理伺服器
2.2.3 管理伺服器相關命猜豎令
2.2.4 刪除DB2管理伺服器
2.2.5 配置管理伺服器 3.1 創建資料庫
3.1.1 DB2資料庫存儲模型
3.1.2 表空間管理類型
3.1.3 創建資料庫
3.1.4 資料庫目錄
3.2 表空間設計
3.2.1 創建表空間
3.2.2 表空間維護
3.2.3 表空間設計注意事項
3.2.4 prefechsize大小選擇
3.2.5 文件系統(CIO/DIO)和裸設備
3.2.6 OVERHEAD和TRANSFERRATE設置
3.2.7 優化RAID設備上表空間性能
3.2.8 合理設置系統臨時表空間
3.3 緩沖池
3.3.1 緩沖池的使用方法
3.3.2 緩沖池和表空間之間關系
3.3.3 緩沖池維護
3.3.4 緩沖池設計原則
3.4 本章小結 4.1 訪問DB2
4.2 DB2圖形化操作環境
4.3 DB2 CLP處理程序
4.3.1 DB2 CLP簡介
4.3.2 DB2 CLP設計
4.3.3 DB2 CLP命令選項
4.3.4 設置DB2_CLPPROMPT定製DB2 CLP
4.4 配置DB2伺服器的TCP/IP通信
4.4.1 在伺服器上更新services文件
4.4.2 在伺服器上更新資料庫管理器配置文件
4.4.3 設置DB2伺服器的通信協議
4.4.4 查看伺服器通信埠狀態
4.4.5 使用控制中心配置DB2伺服器通信
4.5 配置客戶機至伺服器通信
4.5.1 客戶機至伺服器通信概述
4.5.2 使用控制中心配置客戶端通信
4.5.3 使用CA配置客戶機到伺服器通信
4.5.4 深入了解DB2節點目錄、資料庫目錄
4.5.5 使用CLP配置客戶機到伺服器通信案例
4.6 本章小結 5.1 模式
5.1.1 模式概念
5.1.2 系統模式
5.1.3 設置和獲得當前模式
5.1.4 模式和用戶的區別
5.2 表設計考慮
5.2.1 選擇合適的數據類型
5.2.2 選擇合適的約束類型
5.2.3 使用not null with default
5.2.4 生成列及穗攜大應用案例
5.2.5 自動編號和標識列應用案例
5.2.6 使用not logged initially特性
5.2.7 使用append on特性
5.2.8 數據、索引和大對象分開存放
5.2.9 設置pctfree
5.2.10 表的locksize
5.2.11 表的volatile特性
5.2.12 創建帶XML列的表
5.2.13 表維護相關命令
5.2.14 表設計高級選項
5.3 索引設計
5.3.1 索引優點
5.3.2 索引類型
5.3.3 索引結構隱宴
5.3.4 理解索引訪問機制
5.3.5 創建集群索引
5.3.6 創建雙向索引
5.3.7 完全索引訪問(index access only)
5.3.8 創建索引示例
5.3.9 索引總結
5.4 使用序列提高性能
5.4.1 應用程序性能和序列
5.4.2 設計序列原則
5.4.3 序列維護
5.4.4 比較序列與標識列
5.5 視圖
5.5.1 視圖類型
5.5.2 創建with check option視圖
5.5.3 視圖維護
5.6 表表達式
5.6.1 嵌套的表表達式
5.6.2 公用表表達式
5.7 觸發器設計
5.7.1 觸發器的類型
5.7.2 創建觸發器示例
5.7.3 觸發器設計總結
5.8 本章小結 6.1 數據移動格式
6.1.1 定界ASCII文件格式
6.1.2 非定界ASCII文件格式
6.1.3 PC/IXF文件格式
6.1.4 工作表文件格式
6.1.5 游標
6.2 EXPORT
6.2.1 EXPORT概述
6.2.2 導出數據
6.2.3 導出數據示例
6.3 IMPORT
6.3.1 IMPORT概述
6.3.2 導入數據
6.3.3 導入數據示例
6.4 LOAD
6.4.1 LOAD概述
6.4.2 裝入數據
6.4.3 裝入示例
6.4.4 在線LOAD
6.4.5 監控LOAD進度
6.4.6 LOAD期間和之後的表空間狀態
6.4.7 使用CURSOR文件類型來移動數據
6.4.8 提高LOAD性能
6.4.9 LOAD失敗恢復
6.4.10 LOAD和IMPORT比較
6.5 數據移動性能問題
6.6 DB2MOVE和DB2LOOK
6.6.1 資料庫移動工具——DB2MOVE
6.6.2 DB2 DDL提取工具(DB2LOOK)
6.6.3 利用DB2MOVE和DB2LOOK移動數據案例
6.6.4 帶COPY操作的DB2MOVE實用程序
6.7 本章小結 7.1 恢復概念
7.1.1 崩潰恢復
7.1.2 災難恢復
7.1.3 版本恢復
7.1.4 前滾恢復
7.2 DB2日誌
7.2.1 日誌文件的使用
7.2.2 日誌類型
7.2.3 日誌相關配置參數
7.2.4 資料庫日誌總結
7.3 資料庫和表空間備份
7.3.1 資料庫備份
7.3.2 表空間備份
7.3.3 增量備份
7.3.4 檢查備份完整性——db2ckbkp
7.4 資料庫和表空間恢復
7.4.1 資料庫恢復
7.4.2 表空間恢復
7.4.3 增量恢復
7.4.4 增量恢復檢查-- db2ckrst
7.4.5 重定向恢復
7.4.6 恢復已drop的表
7.5 資料庫和表空間前滾
7.5.1 資料庫前滾
7.5.2 表空間前滾
7.6 RECOVER實用程序
7.7 恢復歷史文件
7.8 資料庫重建
7.8.1 資料庫重建概念
7.8.2 使用表空間備份重建可恢復資料庫
7.8.3 只使用部分表空間備份重建可恢復資料庫
7.8.4 使用包含日誌文件的在線備份重建資料庫
7.8.5 使用增量備份鏡像重建可恢復資料庫
7.8.6 使用重定向選項重建可恢復資料庫
7.8.7 重建不可恢復資料庫
7.8.8 資料庫重建的限制
7.9 監控備份、復原和恢復進度
7.10 備份、恢復和復原期間表空間狀態
7.11 優化備份、復原和恢復性能
7.12 備份恢復最佳實踐 8.1 DB2故障診斷機制
8.1.1 故障診斷相關文件
8.1.2 收集故障診斷信息
8.1.3 設置故障診斷級別
8.2 深入講解故障診斷文件
8.2.1 解釋管理通知日誌文件條目
8.2.2 解釋診斷日誌文件條目
8.3 故障診斷工具
8.3.1 使用db2support收集環境信息
8.3.2 db2ls和db2level
8.3.3 使用db2diag分析db2diag.log文件
8.3.4 db2pd
8.3.5 DB2內部返回碼
8.4 故障診斷分析流程
8.4.1 故障診斷流程
8.4.2 結合系統事件判斷
8.4.3 結合系統運行狀況診斷
8.5 本章小結 9.1 監控工具概述
9.2 快照監視器
9.2.1 快照監視器概述
9.2.2 利用表函數監控
9.2.3 性能管理視圖
9.3 快照監視器案例
9.3.1 監控案例1-動態SQL語句
9.3.2 監控案例2-通過表函數監控
9.3.3 編寫快照監控腳本
9.4 db2pd及監控案例
9.5 事件監視器及監控案例
9.6 db2mtrk及監控案例
9.7 活動監視器
9.8 DB2性能監控總結 10.1 鎖的概念
10.1.1 數據一致性
10.1.2 事務和事務邊界
10.1.3 鎖的概念
10.2 鎖的屬性、策略及模式
10.2.1 鎖的屬性
10.2.2 加鎖策略
10.2.3 鎖的模式
10.2.4 如何獲取鎖
10.2.5 鎖的兼容性
10.3 隔離級別(Isolation Levels)
10.3.1 可重復讀(RR-Repeatable Read)
10.3.2 讀穩定性(RS-Read Stability)
10.3.3 游標穩定性(CS-Cursor Stability)
10.3.4 未提交讀(UR-Uncommitted Read)
10.3.5 隔離級別的摘要
10.4 鎖轉換、鎖等待、鎖升級和死鎖
10.4.1 鎖轉換及調整案例
10.4.2 鎖升級及調整案例
10.4.3 鎖等待及調整案例
10.4.4 死鎖及調整案例
10.5 鎖相關的性能問題總結
10.6 鎖與應用程序設計
10.7 鎖監控工具
10.8 最大化並發性
10.8.1 選擇合適的隔離級別
10.8.2 盡量避免鎖等待、鎖升級和死鎖
10.8.3 設置合理的注冊變數
10.9 鎖和並發總結 11.1 統計信息更新
11.1.1 統計信息的重要性
11.1.2 使用RUNSTATS 收集統計信息的原則
11.1.3 減小RUNSTATS對系統性能影響的策略
11.1.4 DB2自動統計信息收集
11.2 Runstats更新舉例
11.2.1 RUNSTATS更新示例
11.2.2 收集分布式統計信息
11.2.3 包含頻率和分位數統計信息的RUNSTATS
11.2.4 包含列組統計信息的RUNSTATS
11.2.5 包含LIKE STATISTICS的RUNSTATS
11.2.6 包含統計信息配置文件的RUNSTATS
11.2.7 帶有抽樣的RUNSTATS
11.2.8 帶有系統頁級抽樣的RUNSTATS
11.2.9 收集統計信息的其他可供選擇的方法
11.2.10 RUNSTATS總結
11.3 表和索引碎片整理
11.3.1 表重組(REORG)
11.3.2 索引重組
11.3.3 確定何時重組表和索引
11.3.4 重組表和索引的成本
11.3.5 合理設計以減少碎片生成
11.3.6 啟用表和索引的自動重組
11.4 碎片整理案例
11.4.1 執行表、索引檢查是否需要做REORG
11.4.2 表和索引碎片整理
11.5 案例:生成碎片檢查、統計信息更新、碎片整理和REBIND腳本
11.6 重新綁定程序包
11.7 資料庫運行維護總結 12.1 解釋工具
12.1.1 Visual Explain(可視化解釋)
12.1.2 db2expln
12.1.3 db2exfmt
12.1.4 各種解釋工具比較
12.1.5 如何從解釋信息中獲取有價值的建議
12.2 索引設計工具(db2advis)
12.2.1 DB2 Design Advisor(db2advis)
12.2.2 DB2 Design Advisor(db2advis)案例講解
12.3 基準測試工具db2batch
12.3.1 db2batch
12.3.2 db2batch基準程序測試分析示例
12.4 數據一致性檢查工具
12.4.1 db2dart及案例
12.4.2 inspect及案例
12.5 db2look
12.5.1 db2look概述
12.5.2 利用db2look構建模擬測試資料庫
12.6 其他工具
12.6.1 db2bfd
12.6.2 db2_kill和db2nkill
12.6.3 db2tbst
12.7 本章小結 13.1 DB2安全機制概述
13.2 認證(authentication)
13.2.1 什麼時候進行DB2身份認證
13.2.2 DB2身份認證類型
13.3 許可權(authorization)
13.3.1 許可權層次
13.3.2 授予/撤銷實例級許可權
13.3.3 授予/撤銷資料庫級許可權
13.4 特權
13.4.1 特權層次結構
13.4.2 授予特權
13.4.3 撤銷特權
13.4.4 顯式特權/隱式特權/間接特權
13.4.5 靜態和動態SQL特權考慮因素
13.4.6 維護特權/許可權
13.5 某銀行安全規劃案例
13.6 執行安全審計(db2audit)
13.7 基於標簽的訪問控制(LBAC)及案例
13.8 本章小結 14.1 DB2健康檢查
14.1.1 查看是否有僵屍實例進程
14.1.2 inspect資料庫是否一致
14.1.3 查找診斷日誌判斷是否有異常
14.1.4 檢查資料庫備份完整性、日誌歸檔是否正常
14.1.5 維護實例目錄和資料庫目錄許可權
14.1.6 查看磁碟空間
14.2 資料庫監控
14.2.1 監控工具
14.2.2 監控緩沖池命中率
14.2.3 監控執行成本最高的SQL語句
14.2.4 監控運行最長的SQL語句
14.2.5 監控SQL准備和預編譯時間最長的SQL語句
14.2.6 監控執行次數最多的SQL語句
14.2.7 監控排序次數最多的SQL語句
14.2.8 監控引起鎖等待的SQL語句
14.3 日常維護
14.3.1 查找創建的新對象
14.3.2 查找無效對象
14.3.3 檢查表空間狀態
14.3.4 檢查表狀態
14.3.5 查找需要REORG的表和索引
14.3.6 查找需要RUNSTATS的表和索引
14.3.7 定期清理db2diag.log文件
14.3.8 查找異常增長的表空間和表 15.1 實例常見問題和診斷案例
15.1.1 實例無法啟動問題總結
15.1.2 實例無法正常終止
15.1.3 實例啟動報SQL1042C錯誤
15.1.4 實例目錄誤刪除
15.1.5 實例崩潰問題
15.2 資料庫常見問題總結
15.2.1 資料庫日誌空間滿-- SQL0964C錯誤
15.2.2 資料庫時區和時間
15.2.3 中文亂碼和代碼頁轉換
15.2.4 通信錯誤-- SQL30081N
15.2.5 資料庫備份、前滾暫掛
15.2.6 資料庫活動日誌刪除
15.2.7 資料庫損壞(數據頁、索引頁)——SQL1043C
15.2.8 索引重新構建問題
15.2.9 DB2實用程序不可用
15.2.10 快速清空表數據
15.2.11 表和索引統計信息不一致
15.3 表空間狀態
15.3.1 Backup Pending
15.3.2 離線
15.3.3 Quiesced Exclusive|Share|Update 605
15.3.4 Restore Pending和Storage Must be Defined
15.3.5 Roll Forward Pending
15.3.6 表空間狀態總結
15.4 LOAD期間表狀態總結
15.4.1 Check Pending
15.4.2 Load Pending
15.4.3 Load in Progress
15.4.4 Not Load Restartable
15.4.5 Read Access Only
15.4.6 Unavailable
15.5 鎖相關問題
15.5.1 鎖升級
15.5.2 鎖等待問題解決流程
15.5.3 死鎖
15.6 內存常見問題
15.6.1 bufferpool設置過大資料庫無法啟動
15.6.2 排序溢出
15.6.3 鎖內存不足
15.7 備份恢復常見問題
15.8 數據移動常見問題總結
15.8.1 標識列
15.8.2 生成列
15.8.3 大對象
15.8.4 空值處理
15.8.5 定界符注意問題
15.8.6 PC/IXF注意問題
15.8.7 代碼頁不同注意事項
15.8.8 日期格式
15.8.9 XML問題
15.9 安全常見問題總結
15.9.1 從PUBLIC撤銷隱式的許可權和特權
15.9.2 保護系統編目視圖
15.9.3 創建實例用戶顯式指定組
15.9.4 為SYSxxx_GROUP參數使用顯式值
15.9.5 跟蹤隱式的特權
15.9.6 不授予不必要的特權
15.9.7 使用加密的AUTHENTICATION模式
15.9.8 使用獨立ID創建和擁有對象
15.9.9 使用視圖控制數據訪問
15.9.10 使用存儲過程式控制制數據訪問
15.9.11 使用LBAC控制數據訪問
15.9.12 對重要敏感數據加密
15.10 SQL0805和SQL0818錯誤

㈧ 如何在DB2建表空間

一、建表空間和資料庫
1.在db2ad、db2db和db2ap上均執行:

[sql] view plain
db2set db2comm=tcpip
db2set db2codepage=1386
2.新建資料庫:

[sql] view plain
db2 create db <dbname> using codeset gbk territory CN collate using identity
3.連接上資料庫:

[sql] view plain
db2 "connect to <dbname>"
4.創建緩沖池 + 建立表空間;
1).刪除舊的表空間:

[sql] view plain
db2 drop tablespace tablespace1, tablespace2, tablespace3
2).新建緩沖池:

[sql] view plain
db2 create bufferpool bp32k all nodes size -1 pagesize 32k
bp32k為該緩沖池的名稱;
32K為頁大小;
size=-1表示使用預設的buffpage,而buffpage可以通過db2 get db cfg|grep -i buff參數查看到;
3).新建表空間:

[sql] view plain
db2 "create regular tablespace tablespace1 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace1' 5g) bufferpool bp32k"
db2 "create regular tablespace tablespace2 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace2' 10g) bufferpool bp32k"
db2 "create regular tablespace tablespace3 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace3' 2g) bufferpool bp32k"
注意(file '/usr/yixiayizi/tablespace1' 5g)的設置:
第一個參數:
當指向外置盤時,file改為device;
當指向文件路徑時,為file;
第二個參數:需要是絕對路徑;
第三個參數:該表空間的大小;

關於表空間和緩沖池的說明見如下網頁:
http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html

5.調整表空間大小:

[sql] view plain
ALTER TABLESPACE <tablespace1> RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )
6.調整緩沖池大小:

[sql] view plain
db2 alter bufferpool bp32k size 2g
--------------------------------------------------------------------------------------------
遠程客戶端的配置網路:
1.db2ad賬戶下:
1). 首先查看/etc/services中db2各個服務的埠號:
more /etc/services
可以看到如下信息:
DB2_db2ad 60040/tcp
DB2_db2ad_1 60041/tcp
DB2_db2ad_2 60042/tcp
DB2_db2ad_END 60043/tcp
2).
[sql] view plain
db2 update dbm cfg using SVCENAME DB2_db2ad
這樣在服務端實例對應的埠號就是60040;
------------
2.db2db賬戶下:
1).
[sql] view plain
db2 catalog tcpip node <node_name> remote 172.17.252.214 server 60040
(上面操作的反編目:db2 uncatalog node <node_name>)
2).db2 list node directory可以看到如下信息:
Node Directory
Number of entries in the directory = 1
Node 1 entry:
Node name = <node_name>
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 172.17.252.214
Service name = 60040

3).
[sql] view plain
db2 catalog db <dbname> at node <node_name>
(上面操作的反編目:db2 uncatalog db <dbname>)
4).db2 list db directory可以看到如下信息:
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = <dbname>
Database name = <dbname>
Node name = <node_name>
Database release level = c.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
--編目系統資料庫目錄
-----------------------
授權:
在db2ad賬戶下,給db2db授權使用表空間:

[sql] view plain
db2 "grant use of tablespace <tablespace1> to user db2db"
db2 "grant use of tablespace <tablespace2> to user db2db"
db2 "grant use of tablespace <tablespace3> to user db2db"
二、建表

切換到db2db用戶,執行建表的sql語句:
db2 -vf tmp.sql

㈨ DB2千萬或億級的數據如何存儲性能才最好

db2 list db directory $disk $disk 換成你的D:盤或者E:盤,DB2 Windows只允許安裝在盤符根目錄下,這樣就可以查看到盤里是否有資料庫,如果發現了catalog一下資料庫就回來了

㈩ 5種常用的資料庫管理軟體有什麼

office
access
微軟產品,小型資料庫,易用
mysqlmysql是一個小型關系型資料庫管理系統,開發者為瑞典mysql
ab公司。在2008年1月16號被sun公司收購。目前mysql被廣泛地應用在internet上的中小型網站中。
sql
server

microsoft(微軟)
的數據產品,它的易用性強!
oracle

oracle(甲骨文)公司的數據產品!號稱世界上最好的數據系統!
db2
是ibm公司的產品,在全球500強的企業中有80%是用db2作為資料庫平台的!