DB2傻瓜1000問(三)DB2例項部分

litterbaby發表於2007-05-03
DB2傻瓜1000問(三)DB2例項部分[@more@]

DB2例項部分
45、 什麼是DB2例項?
DB2 例項 是一種邏輯上下文,DB2 命令及函式在其中執行。。您可將例項視為管理對資料庫檔案的訪問的服務或守護程式。在一臺伺服器上可定義多個例項。各例項獨立於其他例項,也就是說所有例項均可分別管理、操縱及調優。

46、 在WINDOWS上如何新添一個例項?
db2icrt instance_name

47、 在Linux 和 UNIX 中如何新添一個例項?
db2icrt -u fenced_user_ID
instance_name
預設情況下,使用者定義的函式和儲存過程是在 fenced 模式下建立的,因而這些程式執行在與 DB2 引擎不同的地址空間中,也稱為系統控制器程式 db2sysc。這為資料庫管理器提供了保護,使之免於被使用者定義的例程意外地或惡意地破壞。

48、 如何刪除一個存在的例項?
db2drop instance_name

49、 如何強制刪除一個存在的例項?
-f 是強制應用程式標誌。如果指定了此標誌,則將強制終止使用該例項的所有應用程式。
db2drop -f instance_name

50、 如何啟動一個存在的例項?
db2start
或者
DB2SET DB2INSTDEF=DB2
db2start


51、 如何停止一個當前的例項?
db2stop

52、 如何知道當前哪個例項是活動的?
db2 get instance

53、 如何檢視當前例項?
db2ilist

54、 如何遷移32 位例項為 64 位例項?
若您決定轉而使用比伺服器上安裝的 DB2 軟體更新的版本,或者需要將 32 位例項遷移為 64 位例項,就需要進行例項遷移。在 Windows 上,例項遷移是在必要的遷移過程中隱式完成的。在 Linux 和 UNIX 上,可使用以下命令顯式地遷移已有例項:
db2imigr instance_name

55、 如何更新DB2例項?
在為 DB2 安裝修補程式包或補丁時,一旦在伺服器上安裝好了修補程式包,您就需要更新已有例項,以連結到新的修補程式檔案。使用以下命令更新例項:
db2iupdt instance_name


56、 為什麼要設定DB2環境?
DB2 環境非常重要,這是因為它控制著 DB2 操作和活動的方式。

57、 DB2環境有那些?
DB2 環境由以下幾部分構成:
1) DB2 配置檔案註冊庫
2) 作業系統環境變數
3) DB2 資料庫管理器配置引數
4) DB2 資料庫配置引數

58、 什麼是DB2 配置檔案註冊庫?
DB2 配置檔案註冊庫是特定於 DB2 的變數,它會影響 DB2 系統的管理、配置與效能。為使 DB2 配置檔案註冊庫的更改生效,您通常需要停止並重啟例項。

59、 如何檢視所有的DB2 配置檔案註冊庫?
db2set -lr

60、 如何檢視所有設定的DB2 配置檔案註冊庫?
db2set -all

61、 如何設定DB2 配置檔案註冊庫?
db2set DB2COMM=TCPIP

62、 如何設定DB2 配置檔案註冊庫為多個值?
db2set DB2COMM=TCPIP,NPIPE,LOCAL

63、 如何設定DB2 配置檔案註冊庫為預設值?
db2set registry_variable =

64、 DB2 配置檔案註冊庫作用域?
1) [e] 表示為當前會話或環境所設定的註冊庫
2) [u] 表示使用者級註冊庫
3) [n] 表示節點級註冊庫
4) [i] 表示例項級註冊庫
5) [g] 表示全域性級註冊庫

65、 如何在WINDOWS上設定系統環境變數?
set DB2INSTANCE=PROD

絕大多數 DB2 環境設定都是由 DB2 配置檔案註冊庫控制的。而那些未儲存在配置檔案註冊庫中的設定稱為作業系統環境變數。設定系統變數的命令將根據您所使用的平臺及 UNIX shell 而有所不同。

66、 如何在UNIX和LINUX上設定系統環境變數?
export DB2INSTANCE=PROD

67、 例項級配置引數的作用是什麼?
例項級配置引數將影響例項中的所有資料庫和使用該例項中資料庫的所有應用程式。

68、 如何獲得例項級配置引數?
db2 get database manager configuration

69、 如何配置例項級配置引數?
db2 update database manager configuration using parameter new_value


70、 資料庫級配置引數的作用是什麼?
資料庫級配置引數的作用是影響到訪問特定資料庫的所有應用程式的行為。

71、 如何獲得資料庫級配置引數?
db2 get database configuration

72、 如何配置資料庫級配置引數?
db2 update database configuration for database_name using parameter new_value

73、 在配置完例項級和資料庫級配置引數後需要注意的問題是?
若您所指定的引數更改不能立即生效,則在您執行了 update db/dbm configuration 命令後,將返回形式如下的警告訊息:
SQL1362W One or more of the parameters submitted for immediate modification were not changed dynamically. Client changes will not be effective until the next time the application is started or the TERMINATE command has been issued. Server changes will not be effective until the next DB2START command.

74、 如何啟動資料庫管理伺服器(The Database Administration Server)?
db2admin start

75、 如何停止資料庫管理伺服器(The Database Administration Server)?
db2admin stop

76、 如何聯機設定配置引數,並立即生效?
使用關鍵字immediate。例如:
db2 update database manager configuration using parameter new_value
immediate
db2 update database configuration for database_name using
parameter new_value
immediate

77、 如何聯機設定配置引數,並改延遲至例項重啟或資料庫啟用時候生效?
使用關鍵字deferred。
db2 update database manager configuration using parameter new_value
deferred
db2 update database configuration for database_name using
parameter new_value
deferred

78、 如何顯示資料庫管理器配置引數的當前值和掛起值?
使用show detail
db2 attach to instance_name
db2 get database manager configuration show detail

79、 如何顯示資料庫配置引數的當前值和掛起值?
使用show detail
db2 connect to database_name
db2 get database configuration for database_name
show detail

80、 為什麼會出現SQL1025N錯誤?
2007-05-02 00:20:40 0 0 SQL1025N 資料庫管理器未停止,因為資料庫仍在活動。SQL1025N 資料庫管理器未停止,因為資料庫仍在活動。
這是因為就需要停止並重啟資料庫或整個例項。若存在連線並使用此例項中一個或多個資料庫的應用程式,您就無法停止並重啟資料庫或例項。

81、 如何強行使使用者斷開 與資料庫的連線?
force application all

82、 如何停止例項的同時斷開所有使用者的連線?
db2stop force

83、 如何檢視應用程式的詳細情況?
list applications

84、 如何斷開某一個應用程式?
1、應用程式的詳細情況。
list applications
2、顯示如下:
授權標識 應用程式名 應用程式 應用程式標識 資料庫 代理
程式
控制程式碼 名稱 序號
-------- -------------- ---------- ---------------------------------------------
----------------- -------- -----
KB db2taskd 9 *LOCAL.DB2.070501162037
SAMPLE 1
KB db2stmm 8 *LOCAL.DB2.070501162036
SAMPLE 1
KB db2bp.exe 7 *LOCAL.DB2.070501162035
SAMPLE 1
3、停止需要的應用程式。可使用如下 DB2 命令:
force application (8)

85、 如何列出節點目錄?
db2 list node directory

86、 如何列出資料庫目錄?
db2 list database directory

87、
88、 DB2是如果影響資料庫管理系統的效能的?
DB2主要是透過三種方式來控制的:
環境變數
DB2概要註冊變數
配置引數


89、 如何設定環境變數?
環境變數是定義在作業系統級別的。WINDOWS是透過檢視Control Panel > System > Advanced Tab > Environment Variables來檢視。
UNIX、LINUX是透過指令碼db2profile (Bourne or Korn shell) or db2cshrc (C shell)
例如:
set DB2INSTANCE=DB2 (on Windows)
export DB2INSTANCE=DB2 (on Linux and UNIX)

90、 如何檢視環境變數?
有三種方式:
echo %DB2INSTANCE% (Windows only)
set DB2INSTANCE
db2 get instance


91、 列出本機系統的所有可用的例項?
db2ilist

92、 DB2概要登錄檔的分類?
有四種分類:
DB2例項級概要登錄檔
DB2全域性級概要登錄檔
DB2例項節點級登錄檔
DB2例項概要登錄檔

93、 如何設定DB2概要登錄檔上的引數?
db2set [[[variable=[value]]
[-g|-i instance[
node-number]]]
[-all] [-null]
[-r [instance[node-number]]]
[-n DAS node[
-u user[-p password]]]
[-l|-lr] [-v] [-ul|-ur]
[-?|-h]

94、 如何檢視所設定的當前登錄檔變數?
db2set -all

95、 如何在全域性級上設定特定變數(在這個示例中為 DB2INSTPROF )的值?
db2set DB2INSTPROF="C:PROGRAM FILESSQLLIB" -g

96、 如何在例項級上為例項“MyInst”設定變數?
db2set DB2INSTPROF="C:MY FILESSQLLIB" -i MyInst

97、 如何刪除登錄檔變數?
db2set var=

98、 如何使得登錄檔變數生效?
需要停止和啟動例項(db2stop和db2start)。

99、 配置引數有幾種?
配置引數有兩種:資料庫級別和例項級別。

100、 如何檢視資料庫管理器配置檔案?
db2 get dbm cfg

101、 如何檢視資料庫配置檔案?
db2 get db cfg for dbname

102、 如何更新資料庫管理器配置引數?
db2 update dbm cfg using parameter value

103、 如何更新資料庫配置引數?
db2 update db cfg for dbname using parameter value

104、 DB2的目錄是什麼?
系統資料庫目錄是儲存有關資料庫及其連線資訊的二進位制檔案,DB2有四種主目錄:
系統資料庫目錄(系統db目錄)
本地資料庫目錄
節點目錄
DCS目錄(資料庫連線服務目錄)

105、 什麼是系統資料庫目錄?
系統資料庫目錄是主要目錄,包含了有關從DB2系統進行連線的所有資料庫的資訊。系統資料庫目錄是在例項級上進行儲存。

106、 如何檢視系統資料庫目錄?
db2 list db directory

107、 如何將資訊輸入系統DB目錄?
db2 catalog db as at node
例如: db2 catalog db mydb as yourdb at node mynode
在Create database命令建立資料庫之後會自動建立catalog。

108、 什麼是本地資料庫目錄?
本地資料庫目錄包含了有關本地資料庫(即,駐留在您目前正在使用的機器上的資料庫)的資訊。本地資料庫目錄駐留在資料庫結構內部。當您用 create database 命令建立資料庫時,在該目錄中會新增一項。

109、 如何檢視本地資料庫目錄?
db2 list db directory on

110、 什麼是節點目錄?
節點目錄用於儲存遠端資料庫的所有連通性資訊。

111、 如何顯示節點目錄?
db2 list node directory

112、 如何輸入資訊到節點目錄?
db2 catalog tcpip node
remote
server

113、 什麼數DCS目錄?
DCS 目錄包含了通常駐留在 zSeries?(S/390?)或 iSeries?(AS/400?)機器上的主機資料庫的連通性資訊。需要安裝 DB2 Connect 軟體。

114、 如何顯示DCS目錄?
db2 list dcs directory

115、 如何輸入資訊到DCS目錄?
db2 catalog dcs db as

116、 什麼是DB2的聯合支援?
DB2資料庫聯合支援是為從不同的多個資料庫作為DB2伺服器的本地伺服器。這些資料庫可以是本地的或者遠端的。

117、 如何確認DB2的聯合支援?
設定資料庫管理器的引數FEDERATED為Yes。

118、 如何在Db2上從informix選擇資料?
CREATE WRAPPER “informix” LIBRARY ‘db2informix.dll’
CREATE SERVER “aries” WRAPPER “informix”
CREATE USER MAPPING FOR “db2user” SERVER “aries”
OPTIONS (REMOTE_AUTHID “informixuser” REMOTE_PASSWORD “informixpsd”)
CREATE NIKENAME remote_sales FOR “aries”.”csmmgr”.”sales”
CONNECT TO db2db USER db2user using db2psw
select * from remote_sales

119、 什麼是資料庫分割槽?
資料庫分割槽是在DB2 UDB的ESE版本上提供的一種特徵。能夠使得在多伺服器或者在一個大的SMP伺服器上分佈資料庫。能夠易於擴充套件性。資料庫分為是管理大的資料庫的理想特徵。能夠用於DW、OLTP、OLAP等型別的系統上。

120、 如何生成反應檔案?
response file反應檔案是用於安裝DB2時候使用的檔案,可以使用以下命令產生:(僅用於WINDOWS)
db2rspgn d x:path [-i instance] [noctlsrv] [-nodlfm]

121、 如何使用反應檔案安裝DB2?
setup /U d:tempdb2ese.rsp (WINDOWS)
db2setup r /usr/tmp/db2ese.rsp(UNIX)


122、 如何顯示DB2的版本和修訂包的版本?
db2level

123、 在CLP上如何執行作業系統的命令?
db2 ! dir

124、 在CLP上如何使用互動命令的縮寫命令?
h history
顯示命令的歷史,至少20個,儲存的最大命令的數目是使用DB2登錄檔變數DB2_CLP_HISTSIZE來設定。

r runcmd
重新執行以前執行過的命令

e edit
編輯第n個命令,使用的編輯器是透過DB2登錄檔變數DB2_CLP_EDITOR來定義的,預設使用系統預設的,UNIX是VI,WIN是記事本。

125、 如何在執行CLP命令時候,發生符號的轉義怎麼辦?
使用雙引號來引用:
db2 "select lastname from employee where salary > 10000"
其中>會產生歧義。

126、 如何修改CLP選項?
修改CLP選項有三種:
1) 使用 update command options using option value,這個可以寫入指令碼中。
2) 使用db2 –c- -td@ -fv filename
3) 設定登錄檔變數DB2OPTIONS,例如:db2set db2options="-v -z myfile.log"
清除為db2set db2options=


127、 如何獲得DB2選項的內容?
db2 ? options

128、 如何獲得DB2資訊的幫助?
db2 ? SQL0104N
db2 ? DB21004E
db2 ? list applications

129、 如何在CLP互動環境上續行?
使用““或者設定選項 -td!

130、 DB2的一般管理工具都是那些?
control center
the journal
the Replication senter
Task center

131、 什麼是DB2環境?
DB2的環境是有兩部分組成:環境變數和DB2概要登錄檔變數。是用於管理、監視和控制DB2系統的行為。

132、 和DB2一致的比較重要的環境變數?
PATH
DB2INSTANCE
DB2NODE

133、 DB2上例項和資料庫的關係是怎麼樣的?
一個例項上面可以有多個資料庫,這一點和Oracle恰恰相反。

134、 如何新增一個例項?
db2icrt
db2icrt db2dpf -s ese -u db2dpf,password -r 52000,52004 -h %computername%

135、 如何64位的例項?
db2icrt -w 64 -u db2fenc1 my64inst
只能用於AIX 5L, HP-UX, and the Solaris
136、 如何新增一個客戶端的例項?
db2icrt -s CLIENT myclinst

137、 客戶端例項的作用是怎麼樣的?
客戶端例項不能被啟動或者停止,不能新增資料庫。主要是在Linux和Unix上在執行命令之前使用者必須存在。如果有兩個物理分離的UNIx機器上一個有DB2的客戶端程式碼,另一個有DB2伺服器端的程式碼。

138、 如何刪除例項?
db2idrop

139、 在Linux和Unix上如何設定DB2自動啟動?
db2iauto on db2instancename

140、 在WIN上如何設定DB2自動啟動?
Net start

141、 如何啟動分割槽資料庫上的例項?
只是需要執行一次db2start,因為這個命令會自動查詢檔案db2nodes.cfg檔案上的資訊將所有的分割槽上的例項啟動。

142、 如何停止分割槽資料庫上的例項?
只是需要執行一次db2stop,因為這個命令會自動查詢檔案db2nodes.cfg檔案上的資訊將所有的分割槽上的例項停止。

143、 如何在存在活動連線的時候,停止例項?
db2stop force

144、 如何連線到活動的例項?
attach to db2

145、 如何連線到本地或者遠端並沒有活動的例項上?
attach to node_name [user userId] [using password]

146、 如何從當前連線的例項上分開?
attach to mynode
detach

147、 如何顯示配置引數的下一次例項重啟改變的值?
db2 get dbm cfg show detail

148、 如何重新設定資料庫管理器引數值為預設值?
reset dbm cfg

149、 列出例項級別的DB2命令?
db2start
Starts an instance.

db2stop
Stops an instance.

db2icrt
Creates a new instance.

db2idrop
Drops an instance.

db2ilist
Lists all available instances in your system.

get dbm cfg
Displays the DBM Configuration file.

update dbm cfg
Updates the DBM Configuration file.

reset dbm cfg
Resets the DBM Configuration file to its default values.


150、 什麼是DAS資料庫管理伺服器?
在v8以前是一個例項,每個資料庫伺服器都有一個,僅有一個。主要目的是用於執行遠端圖形資料庫管理。在V8之後,這個例項變成一個後臺程式了,DB2概要登錄檔變數DB2ADMINSERVER包含這個DAS使用者的值。在WIN上預設是DB2DAS00,Unix上是dasusr1。

151、 如何啟動DAS?
db2admin start

152、 如何停止DAS?
db2admin stop

153、 如何在Linux和UNIX上新增一個DAS?
dascrt

154、 如何在Linux和UNIX上刪除一個DAS?
dasdrop

155、 如何在WIN上新增一個DAS?
db2admin create

156、 如何在WIN刪除一個DAS?
db2admin drop

157、 如何顯示DAS的配置引數?
get admin cfg

158、 如何設定一個DAS的配置引數?
update admin cfg

159、 如何設定預設的DAS的配置引數?
reset admin cfg

160、 如何顯示資料庫配置引數?
get db cfg

161、 如何更新資料庫配置引數?
update db cfg

162、 如何設定預設資料庫配置引數?
reset db cfg

163、 資料庫節點配置檔名叫什麼?內容是什麼?
db2nodes.cfg
這個檔案中有五個方面的內容:
分割槽號
主機名
邏輯埠
網路名
資源集名
在WIN上多出一個計算機名

164、 db2nodes.cfg檔案的位置在那裡?
Under the sqllib directory for the instance owner on Linux and UNIX
Under the SQLLIBInstance_name directory on Windows


165、 如何新增資料庫分割槽?
db2ncrt
或者
db2start add dbpartitionnum

166、 如何刪除資料庫分割槽?
db2ndrop
或者
db2start drop dbpartitionnum

167、 什麼是資料庫分割槽組?
資料庫分割槽組是一個或者多個資料庫分割槽的集合。透過資料庫分割槽的分組,能夠在一個分割槽組的級別進行資料庫操作,而不是在單一的分割槽進行。這樣能夠使得操作更為簡便。

168、 如何建立資料庫分割槽組?
CREATE DATABASE PARTITION GROUP

169、 預設新增的分割槽組都是那些?
在建立資料庫的時候,有三個分割槽組被預設新增:
IBMCATGROUP
IBMTEMPGROUP
IBMDEFAULTGROUP

170、 IBMCATGROUP分割槽組是什麼?
這個分割槽組只是DB2的目錄表空間SYSCATSPACE在裡面。只是含有一個分割槽,這個分割槽就是執行CREATE DATABASE命令的分割槽上。

171、 IBMTEMPGROUP分割槽組是什麼?
所有分割槽的系統臨時表空間的分割槽組。

172、 IBMDEFAULTGROUP分割槽組是什麼?
所有分割槽的使用者表空間的分割槽組。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-913262/,如需轉載,請註明出處,否則將追究法律責任。

相關文章