您好,登錄后才能下訂單哦!
在一個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>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。