Linux系統中db2數據庫的啟動關閉可以通過命令來實現。下面由學習啦小編為大家整理了Linux系統重啟db2數據庫命令實例詳解,希望對大家有幫助!
Linux系統重啟db2數據庫命令實例詳解
DB2重啟數據庫實例時,有時停止實例會失敗,此時需要先確認沒有應用鏈接數據庫,然後再關閉數據庫實例,並重新啟動。
1.查看是否有活動的鏈接
命令:db2 list applications for db db_name
發現有兩個活動鏈接,此時需要將鏈接進行關閉。
2.關閉連接
命令:db2 force application all
3.再執行一次步驟1中的命令,查看鏈接是否全部關閉。
4.執行停止實例命令
命令:db2stop
注意:命令中沒有空格
5.執行實例啟動命令
命令:db2start
6.如果此時,發現連接不了數據庫,莫慌,需要激活目標數據庫
首先查看是否有活躍的數據庫
命令:db2 list active databases
如果沒有,需要對目標數據庫進行激活設置
命令:db2 activate database db_name
然後再次使用上一條命令,就可查看到當前已有活躍的數據庫了,此時可進行連接並執行數據庫操作。
在停止數據庫實例失敗時,也有一種直接迅速的方法可以停止實例,不過不建議使用,最好還是按照上述的步驟進行。
快速方法
執行命令:db2stop force
Linux系統db2數據庫常用命令
啟動數據庫:
啟動db2服務:db2start
激活數據庫實例:db2 activate database <db_name>
查看激活狀態的數據庫:db2 list active databases
關閉數據庫:
失效數據庫實例:db2 deactivate database <db_name>
關閉數據庫服務:db2stop
查看數據庫:db2 list db directory
查看數據庫應用:db2 list applications
查看數據庫應用和進程號:db2 list applications show detail
查看數據庫表空間:db2pd -db <db_name> -tablespace
查看數據庫配置:db2 get db cfg for <db_name>
連接數據庫:db2 connect to <db_name>
db2 connect to <db_name> user[user_name] using [password]
斷開數據庫連接:db2 connect reset/db2 terminate
創建數據庫:db2 create db <db_name>
刪除數據庫:db2 drop database <db_name> (如果不能刪除,嘗試斷開激活的連接或者重啟db2)
列出系統表:db2 list tables for system
列出所有用戶表:db2 list tables
列出所有表:db2 list tables for all
列出特定用戶表:db2 list tables for schema [user]
復制一張表:db2 create table t1 like t2
顯示表結構:db2 describe table tablename
查詢表:db2 "select * from table tablename where ..."
執行SQL腳本:db2 -tvf scripts.sql
查看錯誤代碼信息:db2 ? 10054
停止激活的連接:db2 force application all;\db2 force application all;\db2 force application all;\db2stop
查看死鎖: db2 get snapshot for locks on <db_name>
db2 "select agent_id,tabname,lock_mode from table(snap_get_lock('<db_name>')) as aa"
殺掉進程: db2 force application(NUM)
監控DB2消耗多的SQL語句:
eg:(DB_NAME=CMSDB)
db2top -d CMSDB -----查看消耗資源 按照提示按 l,出現Application Handle,找到資源消耗大的Application Handle(stat)
記下app handle。
db2pd -d CMSDB -dyn -application > /tmp/db2pd1.txt ----到處會話語句,准備進行調優
設置連接方式(重啟才會生效):
db2set DB2COMM=tcpip
Linux下db2數據庫的備份與還原
步驟:
1.打開SSH的client,在Profiles下找到要連接的服務器,輸入密碼,進入系統。
2.新建存放備份文件的目錄。
(1)如果不是用root用戶登錄的系統,要先切換到root用戶。
執行命令 su root。
(2)創建存放備份文件的目錄。執行命令:mkdir /home/db2as。
/home/db2as是我新建的目錄。
(3)把該目錄的操作權限賦給數據庫用戶,假如數據庫用戶名是lilax。被賦予權限的目錄是/home/db2as
執行命令: chown lilax:users /home/db2as。
(4)切換到lilax用戶。執行命令:su lilax。
3.切換到要備份到的目錄。執行命令:cd /home/db2as
4.停掉Tomcat服務。
5.首先確保沒有用戶使用DB2。
執行命令:db2 list applications for db pbcmoney。pbcmoney是我要備份的數據庫名。
6.停掉數據庫。執行命令:db2stop force
7.啟動數據庫服務,以便斷掉所有的鏈接。執行命令:db2start
8.備份數據庫。執行命令:db2 backup db pbcmoney。pbcmoney是我要備份的數據名。
備份成功後將會返回一個時間戳。
9.把備份文件復制到本地。打開SSH的file transfer。在右邊服務器目錄中切換到home/db2as目錄,找到剛剛備份的文件。將文件拖到右邊你想復制到的本地目錄。注意,左邊的本地目錄路徑不能有中文。
10.還原
把備份文件放到/home/lilax目錄下,lilax是我的數據庫用戶名。
在SSH中執行命令:db2 restore db pbcmoney taken at 20101122205614 without rolling forward,其中pbcmoney 是我要還原的數據庫名,20101122205614 是備份文件的時間戳,如備份文件名是PBCMONEY.0.lilax.NODE0000.CATN0000.20101122205614.001,則20101122205614即是時間戳Times。