當前位置:首頁 » 數據倉庫 » 大型主機db2資料庫基礎教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

大型主機db2資料庫基礎教程

發布時間: 2023-06-14 21:15:01

Ⅰ DB2怎麼創建資料庫

在創建資料庫時要考慮幾個因素,有幾種創建資料庫的方法。
可以使用從 Control Center 調用的 Create Database 向導,會引導用戶分步創建資料庫。要是了解實際的 Create Database 命令的話,還可以從 DB2 Command Window、Command Editor 或命令行直接發出命令。
在這個示例中,從 DB2 First Steps Launch 面板的 Create Database 向導:
1、啟動 DB2 Control Center。點擊 Start > All Programs > IBM DB2 > General Administration Tools 並選擇 Control Center。當提示選擇 Control Center 視圖時,點擊 OK 選擇默認視圖(Advanced)。
2、點擊 All Databases(如圖 5 所示),然後點擊 Create New Database。Create Your Own Database 向導打開。
5. 從 Control Center 創建新資料庫
3、在 Create Your Own Database 向導中,指定資料庫名和資料庫目錄的位置。輸入 HelloWld 作為資料庫名。指定 C:\ 作為默認路徑。輸入 hwld 作為資料庫別名。在 Comment 欄位中輸入任何描述性的注釋。
4、選中 Enable Database for XML。XML 列只能在 UTF-8 代碼集(Unicode)資料庫中使用。所以要在資料庫中使用 XML,就必須創建 Unicode 資料庫。
5、不需要指定任何其他資料庫選項,所以選擇 Summary 面板,然後點擊 Show Command 來查看創建這個資料庫所用的 DB2 命令。
6、因為在這個資料庫中啟用了 XML,所以使用 CODESET UTF-8。點擊 Close。如果想將命令保存到文件中,供以後參考或重用,那麼點擊 Save 而不是 Close。
7、在 Create New Database 窗口中,點擊 Finish 並等待向導完成操作。
在 DB2 創建資料庫時,它還創建以下東西:
1、在指定的驅動器或路徑上創建必要的資料庫目錄
2、創建一組默認的表空間,包括 SYSCAT、TEMPORARY 和 USER 表空間
3、在編目表空間中創建一組系統編目表和視圖
4、創建資料庫配置(DB CFG)文件並設置默認值
5、為資料庫恢復日誌文件創建空間並分配它
6、為資料庫(如 CLI)和命令行處理器創建的幾個應用程序
使用 DB2 Control Center 檢查創建的資料庫
在 Control Center 左邊的面板中,找到並展開 All Systems 和 All Databases。看看是否能夠找到剛才創建的 HELLOWLD 資料庫。All Systems 提供了資料庫對象視圖,這些對象依次根據機器、實例和資料庫進行分組。在這個機器上只有一個實例,DB2。All Databases 提供了這個機器上的所有資料庫的快速查看。
6. 查看新資料庫
如果了解創建資料庫所用的 DB2 命令,那麼可以使用在前面的 Create New Database 向導窗口中保存的 CREATE DATABASE 命令並根據需要進行修改,然後從 DB2 命令行處理器發出 CREATE DATABASE 命令來創建資料庫。
選擇 Start > Run,輸入 db2cmd 並按 Enter。打開 DB2 命令行處理器窗口。要想獲得 create database 命令的幫助,可以在命令行窗口中輸入 db2 ? create database。
輸入 db2 CREATE DATABASE MYTESTDB ON C:。在命令成功完成之後,點擊 Control Center 主菜單中的 Selected 並點擊 Refresh。然後看看是否能夠在 Control Center 中找到新的資料庫 MYTESTDB。
在 DB2 命令窗口中輸入命令 db2 LIST DATABASE DIRECTORY。應該會看到 HELLOWLD 和 MYTESTDB 資料庫的資料庫項。

Ⅱ 大型主機DB2資料庫基礎教程的介紹

本書針對目前IBM大型主機DB2資料庫知識專業性強、相關中文書籍很少、英文技術手冊可讀性欠佳等問題,以語言通俗為原則,以實踐應用為目的,全面講述了主機DB2的基礎、Data Sharing理論、DB2常用的Utility、DB2常用命令,以及DB2系統維護等方面的知識,並概要介紹了常用的幾種DB2工具的使用方法。同時在每個章節後配有針對性的案例、習題與答案,方便讀者對知識的深入理解和鞏固。

Ⅲ 如何在Linux虛擬環境下搭建DB2資料庫DPF

一、創建用戶和組
1、使用root用戶添加系統用戶
/usr/sbin/groupadd -g 1997 db2igrp
#instance所在的group,加入這個group的所有用戶都具有DBA許可權/usr/sbin/groupadd -g 1998 db2fgrp
#fenced用戶所在的group/usr/sbin/useradd -u 1997 -g db2igrp -d /cbusdb/db2inst1 db2inst1
#db2inst1用戶/usr/sbin/useradd -u 1998 -g db2fgrp -d /cbusdb/db2fenc1 db2fenc1
#db2fenc1用戶/usr/sbin/groupadd db2fadmin
/usr/sbin/useradd -g db2fadmin db2admin
2、使用root用戶添加數據逗毀庫賬號
/opt/ibm/db2/V10.5/instance/db2icrt -s ese -u db2fenc1 db2inst1
#在所有的機器上,使用root用戶,建立db2 admin server:
/opt/ibm/db2/V10.5/instance/dascrt -u db2admin#啟動db2 admin server:
db2admin start
3、修改節點配置文件
#vim /cbusdb/db2inst1/sqllib/db2nodes.cfg0 cbusdb01 0
1 cbusdb01 1
2 cbusdb02 0
3 cbusdb02 1
4、修改實例參數
su - db2inst1
db2iauto -on db2inst1
db2set DB2_SKIPINSERTED=on
db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ondb2set DB2_EVALUNCOMMITTED=on
db2set DB2_SKIPDELETED=on
db2set DB2COMM=TCPIP
db2set DB2FCMCOMM=TCPIP4
db2set DB2RSHCMD=/bin/rsh
#注意如果配置的ssh則此處需要修改成
db2set DB2RSHCMD=/usr/bin/ssh
db2set DB2CODEPAGE=1386
db2set DB2TERRITORY=86
db2set DB2_PARALLEL_IO=*
5、哪攜配置服務埠
DB2c_db2inst1 61000/tcp
DB2_db2inst1 61001/tcp
DB2_db2inst1_1 61002/tcp
DB2_db2inst1_2 61003/tcp
DB2_db2inst1_3 61004/tcp
DB2_db2inst1_4 61005/tcp
DB2_db2inst1_END 61008/tcp
6、調整系統參數,設置dpf所需的資源
/sbin/sysctl -w kernel.sem=「250 32000 32 1024」/sbin/sysctl -w kernel.msgmnb=16384
/sbin/sysctl -w kernel.msgmni=1024
/sbin/sysctl -w kernel.msgmax=8192
/sbin/sysctl -w kernel.shmmni=4096
/sbin/sysctl -w kernel.shmall=2097152
/sbin/sysctl -w kernel.shmmax=1073741824
7、修改環境變數
cat 。/sqllib/db2profile 》.profile
vi .bash_profile #添加如下信息:
/cbusdb/db2inst1/sqllib/db2profile
二、配置主機名
分別在兩台主機上修改如下文件:
#vi /etc/sysconfig/network
#-------------------------
李指伏#NETWORKING=yes
#HOSTNAME=cbusdb01
#-------------------------
#vi /etc/hosts
#-------------------------
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 cbusdb01#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#192.168.1.122 cbusdb01
#192.168.1.123 cbusdb02
#-------------------------
三、配置rsh
rsh是遠程運行shell的服務.db2使用rsh服務運行啟動和停止資料庫伺服器的命令,以及大部分管理命令。
1、安裝rsh
#yum install rsh*
2、配置rsh的安全文件
#vi /etc/securetty
#add the content
#------------------
#rsh
#rlogin
#rexec
#------------------
3、修改rsh的配置參數/etc/xinetd.d/rsh ##在生產環境建議配置ssh免密登錄
#vi /etc/xinetd.d/rsh
service shell
{
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
disable = no
}
4、修改rsh的配置文件rlogin
#vi /etc/xinetd.d/rlogin
service login
{
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rlogind
}
4、免密登陸,實例用戶db2inst1的家目錄中創建.rhosts文件
cat $HOME/.rhosts
cbusdb01 db2inst1
cbusdb02 db2inst1
5、CentOS7.0需要單獨下載xinetd
yum install xinetd #低於此版本可不下載
6、重啟rsh服務
service xinetd restart
7、驗證rsh服務
rsh cbusdb01 date
rsh cbusdb02 date
#db2_all echo hi 沒有返回
yum install ksh
四、配置時鍾伺服器
1、安裝ntp伺服器
#yum install ntp*
# ntpdate -u 202.112.10.36
#ntpdate cn.pool.ntp.org
#service ntpd start
#chkconfig ntpd on
2、修改ntp配置
#允許內網其他機器同步時間
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#互聯網時間伺服器
server 210.72.145.44 perfer # 中國國家受時中心server 202.112.10.36
# 1.cn.pool.ntp.orgserver 59.124.196.83
# 0.asia.pool.ntp.org#允許上層時間伺服器主動修改本機時間
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
#外部時間伺服器不可用時,以本地時間作為時間服務
server 127.0.0.1
fudge 127.0.0.1 stratum 10
3、修改時區
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
clock -w
4、在節點2上配置時鍾伺服器
*/5 * * * * /usr/sbin/ntpdate cbusdb01
五、配置nfs服務
1、yum install nfs*
# yum install portmap rpcbind #安裝nfs客戶端
2、配置需要共享的資源
#vi /etc/exports
/cbusdb *(rw,sync,no_root_squash)
/cbusdblog *(rw,sync)
3、啟動nfs server
service rpcbind start
service nfs start
service nfslock restart
4、導出資源
exportfs -rv
5、顯示NFS Server上所有的共享卷
showmount -e
6、在客戶端掛載共享目錄
#mount 192.168.1.122:/cbusdb /cbusdb
#vi /etc/fstab
cbusdb01:/cbusdb /cbusdb nfs rw,timeo=300,retrans=5,hard,intr,bg,nolock,suid
六、關閉selinux
vim /etc/sysconfig/selinux
#SELINUX=disabled
七、測試、創建資料庫
1、啟動資料庫
#db2start
2、創建資料庫
#db2 「create db cbusdb on /cbusdblog using codeset gbk territory cn」

Ⅳ 如何建立DB2分區資料庫

1) 了解分區定義
分區定義可以從節點配置文件(db2nodes.cfg)得到,其位於實例所有者的主目錄中,它包含一些配置信息,告訴 DB2 有哪些伺服器參與分區資料庫環境的實例。分區資料庫環境中的每個實例都有一個 db2nodes.cfg 文件。對於每個參與實例的伺服器,db2nodes.cfg 文件必須包含一個條目。當創建實例時,會自動創建 db2nodes.cfg 文件並對擁有實例的伺服器添加條目。這里我們假設有4個分區。

2) 創建資料庫
create db dpfdb;
默認會創建3個分區組IBMCATGROUP(只在0號分區上)
IBMTEMPGROUP ,IBMDEFAULTGROUP(在所有分區上),如果用戶沒有創建其他分區組,所創建的表空間會默認放在IBMDEFAULTGROUP上

3) 創建分區組
我們在 1到3號分區建立一個分區組
CREATE DATABASE PARTITION GROUP USERGROUP ON DBPARTITIONNUMS(1,2,3);

4) 創建表空間
CREATE TABLESPACE TS IN USERGROUP MANAGED BY DATABASE USING (file '/DB2containers/TScontainer $N' 10000)
有4個containers被創建
/DB2containers/TScontainer0 - on DATABASE PARTITION 0
/DB2containers/TScontainer1 - on DATABASE PARTITION 1
/DB2containers/TScontainer2 - on DATABASE PARTITION 2
/DB2containers/TScontainer3 - on DATABASE PARTITION 3

5) 創建表
CREATE TABLE DPFTABLE (ID INTEGER NOT NULL,
NAME CHAR(20) NOT NULL)
IN TS
PARTITIONING KEY (ID) USING HASHING;

Ⅳ 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 中如何建立資料庫

create database