您好,登錄后才能下訂單哦!
在一個(gè)DB2 實(shí)例下,可以創(chuàng)建多個(gè)database(具體每個(gè)實(shí)例下可以創(chuàng)建多少個(gè)database,可以通過DB2 GET DBM CFG查看.一旦建立了數(shù)據(jù)庫之后,就可以對其進(jìn)行操作,然而,在向數(shù)據(jù)庫中建立對象或訪問數(shù)據(jù)庫中的對象(數(shù)據(jù))之前,必須先知道如何啟動和停止數(shù)據(jù)庫.
本小節(jié)簡單介紹了db2 database通過command line的方式如何實(shí)現(xiàn)啟動和停止.
激活數(shù)據(jù)庫
如果在database沒有激活之前,就在應(yīng)用中使用connect to database_name或隱式連接,那么應(yīng)用就必須要進(jìn)行等待,知道數(shù)據(jù)庫管理器啟動了你要連接的數(shù)據(jù)庫.一般第一個(gè)應(yīng)用會引發(fā)等待數(shù)據(jù)庫管理器執(zhí)行數(shù)據(jù)庫啟動的所有開銷.
我們也可以使用activate database database_name這樣的命令啟動特定的數(shù)據(jù)庫.這個(gè)命令就會免除第一個(gè)應(yīng)用程序連接上來的時(shí)候等候數(shù)據(jù)庫初始化所花費(fèi)的時(shí)間。一般情況下,DB2 DBA會提前激活所有必要的數(shù)據(jù)庫.
注意:1)如果發(fā)出activate database命令的應(yīng)用已經(jīng)與一個(gè)database建立了活動的數(shù)據(jù)庫連接,就回返回錯(cuò)誤消息.
2)如果需要重新啟動(restart)的數(shù)據(jù)庫接受了一個(gè)activate database命令,那么這個(gè)activate database命令就會象connect to 或隱式連接一樣工作.
3)如果數(shù)據(jù)庫配置了
啟用的自動重新啟動 (AUTORESTART) = ON
那么在activate database命令對其初始化之前,數(shù)據(jù)庫會重新啟動.
察看指定數(shù)據(jù)庫的配置參數(shù)
--默認(rèn)
DB2 GET DB CFG FOR study
--分屏顯示
DB2 GET DB CFG FOR study | More
--將顯示結(jié)果存入study.txt 文件中
DB2 GET DB CFG FOR study > study.txt
下面是一個(gè)示例,我在當(dāng)前DB2實(shí)例下,創(chuàng)建了3個(gè)database,我利用activate命令挨個(gè)將他們激活
D:DB2BIN>db2 db2start DB20000I DB2START命令成功完成。 D:DB2BIN>db2 list database directory 系統(tǒng)數(shù)據(jù)庫目錄 目錄中的條目數(shù) = 3 數(shù)據(jù)庫 1 條目: 數(shù)據(jù)庫別名 = TEST 數(shù)據(jù)庫名稱 = TEST 本地?cái)?shù)據(jù)庫目錄 = D:DB2test 數(shù)據(jù)庫發(fā)行版級別 = c.00 注釋 = test 目錄條目類型 = 間接 目錄數(shù)據(jù)庫分區(qū)號 = 0 備用服務(wù)器主機(jī)名 = 備用服務(wù)器端口號 = 數(shù)據(jù)庫 2 條目: 數(shù)據(jù)庫別名 = BANK 數(shù)據(jù)庫名稱 = BANK 本地?cái)?shù)據(jù)庫目錄 = D:db2bank 數(shù)據(jù)庫發(fā)行版級別 = c.00 注釋 = bank 目錄條目類型 = 間接 目錄數(shù)據(jù)庫分區(qū)號 = 0 備用服務(wù)器主機(jī)名 = 備用服務(wù)器端口號 = 數(shù)據(jù)庫 3 條目: 數(shù)據(jù)庫別名 = STUDY 數(shù)據(jù)庫名稱 = STUDY 本地?cái)?shù)據(jù)庫目錄 = D:db2study 數(shù)據(jù)庫發(fā)行版級別 = c.00 注釋 = STUDY 目錄條目類型 = 間接 目錄數(shù)據(jù)庫分區(qū)號 = 0 備用服務(wù)器主機(jī)名 = 備用服務(wù)器端口號 = D:DB2BIN>db2 list active databases SQL1611W “數(shù)據(jù)庫系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。 D:DB2BIN>db2 activate database study DB20000I ACTIVATE DATABASE命令成功完成。 D:DB2BIN>db2 list active databases 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 D:DB2BIN>db2 activate database bank DB20000I ACTIVATE DATABASE命令成功完成。 D:DB2BIN>db2 list active databases 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 數(shù)據(jù)庫名稱 = BANK 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2bankDB2NODE0000SQL00001 D:DB2BIN>db2 activate database test DB20000I ACTIVATE DATABASE命令成功完成。 D:DB2BIN>db2 list active databases 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 數(shù)據(jù)庫名稱 = BANK 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2bankDB2NODE0000SQL00001 數(shù)據(jù)庫名稱 = TEST 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:DB2testDB2NODE0000SQL00001 D:DB2BIN>
停止數(shù)據(jù)庫
由activate database命令初始化的數(shù)據(jù)庫可以由deactivate database命令關(guān)閉,也可以通過stop database manager(或db2stop)命令終止數(shù)據(jù)庫管理器來關(guān)閉.
如果使用activate database命令初始化一個(gè)數(shù)據(jù)庫,那么最后一個(gè)與數(shù)據(jù)庫斷開連接的應(yīng)用就不會關(guān)閉數(shù)據(jù)庫.必須要使用deactivate database.在這種情況下,stop database manager(或db2stop)會關(guān)閉數(shù)據(jù)庫,也會終止實(shí)例.
如果使用connect to 或隱式地連接啟動數(shù)據(jù)庫,然后再由另外一個(gè)應(yīng)用對相同的數(shù)據(jù)庫發(fā)出activate database命令,那么就必須使用deactivate database命令關(guān)閉數(shù)據(jù)庫.如果沒有使用activate database啟動數(shù)據(jù)庫,那么當(dāng)最后一個(gè)應(yīng)用斷開與數(shù)據(jù)庫連接的時(shí)候,數(shù)據(jù)庫就會關(guān)閉.
示例一:使用connect to方式啟動的數(shù)據(jù)庫
D:DB2BIN>db2 list active databases
SQL1611W “數(shù)據(jù)庫系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。
D:DB2BIN>db2 connect to study --連接到study數(shù)據(jù)庫,將自動激活study數(shù)據(jù)庫
數(shù)據(jù)庫連接信息
數(shù)據(jù)庫服務(wù)器 = DB2/NT 9.5.0
SQL 授權(quán)標(biāo)識 = ZHANGRP
本地?cái)?shù)據(jù)庫別名 = STUDY
D:DB2BIN>db2 list active databases
活動數(shù)據(jù)庫
數(shù)據(jù)庫名稱 = STUDY
當(dāng)前連接的應(yīng)用程序 = 1
數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001
說明:數(shù)據(jù)庫被激活,并有一個(gè)應(yīng)用連接上來(就上面的connect to study操作)
D:DB2BIN>db2 connect reset --斷開連接
DB20000I SQL命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “數(shù)據(jù)庫系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。
D:DB2BIN>
說明:可以發(fā)現(xiàn),上面的連接斷開后,數(shù)據(jù)庫study也自動停止(因?yàn)檫@個(gè)study數(shù)據(jù)庫是通過connect to 的方式激活的)
示例二:使用activate database方式啟動的數(shù)據(jù)庫
D:DB2BIN>db2 list active databases --這個(gè)時(shí)候沒有啟動的數(shù)據(jù)庫 SQL1611W “數(shù)據(jù)庫系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。 D:DB2BIN>db2 activate database study --用activate database激活study數(shù)據(jù)庫 DB20000I ACTIVATE DATABASE命令成功完成。 D:DB2BIN>db2 list active databases --可以看到study數(shù)據(jù)已經(jīng)激活,但沒有應(yīng)用連接上來 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 D:DB2BIN>db2 connect to study --發(fā)起一個(gè)連接到study數(shù)據(jù)庫 數(shù)據(jù)庫連接信息 數(shù)據(jù)庫服務(wù)器 = DB2/NT 9.5.0 SQL 授權(quán)標(biāo)識 = ZHANGRP 本地?cái)?shù)據(jù)庫別名 = STUDY D:DB2BIN>db2 list active databases --再看一下活動的數(shù)據(jù)庫,發(fā)現(xiàn)study 數(shù)據(jù)庫上有一個(gè)應(yīng)用連接上來了 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 1 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 D:DB2BIN>db2 connect reset --關(guān)閉剛才那個(gè)連接,看看數(shù)據(jù)庫是不是會自動關(guān)閉 DB20000I SQL命令成功完成。 D:DB2BIN>db2 list active databases --數(shù)據(jù)庫依然啟動,雖然沒有了任何連接 活動數(shù)據(jù)庫 數(shù)據(jù)庫名稱 = STUDY 當(dāng)前連接的應(yīng)用程序 = 0 數(shù)據(jù)庫路徑 = D:db2studyDB2NODE0000SQL00001 D:DB2BIN>db2 deactivate database study --使用deactivate database命令關(guān)閉數(shù)據(jù)庫 DB20000I DEACTIVATE DATABASE命令成功完成。 D:DB2BIN> D:DB2BIN>db2 list active databases SQL1611W “數(shù)據(jù)庫系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。 D:DB2BIN>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。