歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統重啟db2數據庫命令實例詳解

Linux系統重啟db2數據庫命令實例詳解

日期:2017/8/19 9:45:47   编辑:Linux技術

  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。

Copyright © Linux教程網 All Rights Reserved