天天看點

db2常用指令梳理

要執行指令,一般需要到特定的使用者下,一般使用者是

db2inst1

su - db2inst1

列出所有的表空間id号和表空間名稱

db2 list tablespaces show detail

db2常用指令梳理

db2 list tablespace containers for 2

列出具體表空間編号對應的表空間詳細資訊,表空間編号可以從上面那個語句檢視

db2常用指令梳理

db2 drop tablespace BPF2_DATA

如果某個表空間不想要了,可以删除,表空間名稱可以通過上面的第一個語句擷取

建立表空間

db2 "create tablespace newtbs03 managed by database using (file '/home/db2inst3/test/newtb/newtbs03_01.file' 1000)"

後面的1000是頁的個數,一般一頁是4k,可以根據第一條指令來确定其他表空間頁的大小,然後指定大小

db2常用指令梳理
db2常用指令梳理

如果要在建立表空間的時候要指定多個檔案

db2 "create tablespace newtbs03 managed by database using

(file '/home/db2inst3/test/newtb/newtbs031.file' 4000,

file '/home/db2inst3/test/newtb/newtbs032.file' 2000)"

在db2中表空間需要對應pagesize的buffer pool

 檢視下目前bufferpool情況

db2 "select char(BPNAME,20), substr(NPAGES,1,10), substr(PAGESIZE,1,10) from syscat.bufferpools"

db2常用指令梳理

查詢現有shema

db2 "select SCHEMANAME,OWNER from syscat.schemata"

db2常用指令梳理

建立schema

db2 "CREATE SCHEMA wufan"

db2常用指令梳理

查詢有表 的schema 

db2 "SELECT distinct TABSCHEMA FROM SYSCAT.TABLES"

db2常用指令梳理

建立表

db2 "create table wufan.employee( id int,name varchar(50),jobrole varchar(30),joindate date,salary double) in newtbs03"

db2常用指令梳理

再次檢視有表的schema就能看到wufan這個schema了

db2常用指令梳理

插入資料并查詢

db2 "insert into wufan.employee values(1,'wufan')"

db2 "select * from wufan.employee "

db2常用指令梳理

db2查詢是否開了歸檔

db2 get db cfg bpfdb1 | grep "log"

db2常用指令梳理

看LOGARCHMETH1,有路徑表示開了歸檔。

為db2開啟歸檔

 db2 update db cfg for cc using LOGARCHMETH1 DISK:/db2data/db2arch/cc

db2常用指令梳理

改完需要執行一下備份,否則會報下面的錯

db2常用指令梳理

db2 backup db TEST

使用db2inst1使用者在有權限的目錄下執行,會生成一個備份檔案在目前目錄。

db2常用指令梳理

其中cc是資料庫名:

db2常用指令梳理
db2常用指令梳理

查詢db2監聽端口。 

db2啟停單個庫

具體流程如下:

db2 connect to sample

db2 quiesce db immediate force connections

db2 terminate

db2 deactivate db sample

db2 connect to sample

db2 unquiesce db

注意:

QUIESCE DATABASE 後,僅有 sysadm, sysmaint, dbadm, 或 sysctrl 使用者可以通路資料庫。

另一種方法:

停止通路:

db2 uncatalog database sample

db2 terminate

啟動通路:

db2 catalog database sample

db2 terminate

db2 connect to sample