當前位置:首頁 » 操作系統 » db2資料庫表空間

db2資料庫表空間

發布時間: 2023-05-21 00:29:06

Ⅰ 如何在DB2建表空間

一、建表空間和資料庫
1.在db2ad、db2db和db2ap上均執行:

[sql] view plain
db2set db2comm=tcpip
db2set db2codepage=1386
2.新建資料庫:

[sql] view plain
db2 create db <dbname> using codeset gbk territory CN collate using identity
3.連接上資料庫:

[sql] view plain
db2 "connect to <dbname>"
4.創建緩沖池 + 建立表空間;
1).刪除舊的表空間:

[sql] view plain
db2 drop tablespace tablespace1, tablespace2, tablespace3
2).新建緩沖池:

[sql] view plain
db2 create bufferpool bp32k all nodes size -1 pagesize 32k
bp32k為該緩沖池的名稱;
32K為頁大小;
size=-1表示使用預設的buffpage,而buffpage可以通過db2 get db cfg|grep -i buff參數查看到;
3).新建表空間:

[sql] view plain
db2 "create regular tablespace tablespace1 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace1' 5g) bufferpool bp32k"
db2 "create regular tablespace tablespace2 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace2' 10g) bufferpool bp32k"
db2 "create regular tablespace tablespace3 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace3' 2g) bufferpool bp32k"
注意(file '/usr/yixiayizi/tablespace1' 5g)的設置:
第一個參數:
當指向外置盤時,file改為device;
當指向文件路徑時,為file;
第二個參數:需要是絕對路徑;
第三個參數:該表空間的大小;

關於表殲坦埋空間和緩沖池的說明見如下網頁:
http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html

5.調整表空間大小:

[sql] view plain
ALTER TABLESPACE <tablespace1> RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )
6.調整緩沖池大小:

[sql] view plain
db2 alter bufferpool bp32k size 2g
--------------------------------------------------------------------------------------------
遠程客戶端的配置網路:
1.db2ad賬戶下:
1). 首先查看/etc/services中db2各個服務的埠號:
more /etc/services
可以看到如下信息:
DB2_db2ad 60040/tcp
DB2_db2ad_1 60041/tcp
DB2_db2ad_2 60042/tcp
DB2_db2ad_END 60043/tcp
2).
[sql] view plain
db2 update dbm cfg using SVCENAME DB2_db2ad
這樣在服務端實例對應的埠號就是60040;
------------
2.db2db賬戶信稿下:氏螞
1).
[sql] view plain
db2 catalog tcpip node <node_name> remote 172.17.252.214 server 60040
(上面操作的反編目:db2 uncatalog node <node_name>)
2).db2 list node directory可以看到如下信息:
Node Directory
Number of entries in the directory = 1
Node 1 entry:
Node name = <node_name>
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 172.17.252.214
Service name = 60040

3).
[sql] view plain
db2 catalog db <dbname> at node <node_name>
(上面操作的反編目:db2 uncatalog db <dbname>)
4).db2 list db directory可以看到如下信息:
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = <dbname>
Database name = <dbname>
Node name = <node_name>
Database release level = c.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
--編目系統資料庫目錄
-----------------------
授權:
在db2ad賬戶下,給db2db授權使用表空間:

[sql] view plain
db2 "grant use of tablespace <tablespace1> to user db2db"
db2 "grant use of tablespace <tablespace2> to user db2db"
db2 "grant use of tablespace <tablespace3> to user db2db"
二、建表

切換到db2db用戶,執行建表的sql語句:
db2 -vf tmp.sql

Ⅱ 如何在DB2建表空間

CONNECT TO dbname;

drop BUFFERPOOL BFPOOL8;
--建緩沖池
CREATE BUFFERPOOL BFPOOL8 IMMEDIATE SIZE 25000 PAGESIZE 8 K ;

--建表空間,路徑要修改
CREATE TABLESPACE DMS_DATA8K PAGESIZE 8 K MANAGED BY DATABASE
USING (FILE '/home/DB2/NODE0000/DMS_DATA8K.DMS' 3G)
EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14
BUFFERPOOL BFPOOL8 DROPPED TABLE RECOVERY OFF;

--擴展表空橡兆間(調整容器大小)
--ALTER TABLESPACE DMS_DATA8K resize (FILE '/home/DB2/NODE0000/DMS_DATA8K.DMS' 2G);
--擴展表空間(大型增加容器大小)
--ALTER TABLESPACE DMS_DATA8K extend (FILE '/home/DB2/NODE0000/DMS_DATA8K.DMS' 2G);
--擴展表空間(給表空間增加容梁仿租器)
--ALTER TABLESPACE DMS_DATA8K add (FILE '/app149/DB2/NODE0000/DMS_DATA8K.DMS' 5G);

Ⅲ 怎麼用db2visualizer personal工具修改資料庫表空間大小

系統管理的空間(SMS)和資料庫管理的空間(DMS)是DB2資料庫中,兩種類型的基本表空間。本文將為您介紹調整表空間大小的方法,供您參考,希望對您有所幫助。
與 SMS 表空間相關聯的容器是文件系統目錄,而這些目錄中的文件會隨著表空間中對象的增長而增長。文件會增加至達到其中一個容器上的文件系統限制或達到資料庫的表空間大小限制。
DMS 表空間液檔由文件容器或原始設備容器組成,它們的大小是在將容器指定給表空間時設置的。當容器中的所有空間都已被使用時,則認為表空間已滿。但是,與 SMS 不同,您可以使用 ALTER TABLESPACE 語句來添加或擴展容器,從而允許將更多的存儲器空間提供給表空間。DMS 表空間還具有稱為「自動調整大小」的功能。當可以自動調整大小的 DMS 表空間昌此中的空間被消耗時,DB2 資料庫系統可能回擴展一個或多個文件容器。SMS 表空間具有類似於自動增長的功能但術語「自動調整大小」專門用於 DMS。
啟用和禁用自動調整大小(AUTORESIZE)
預設情況下,不會對 DMS 表空間啟用自動調整大小功能。下列語句創建不啟用自鬧迅亂動調整大小功能的 DMS 表空間:
CREATE TABLESPACE DMS1 MANAGED BY DATABASE
USING (FILE '/db2files/DMS1' 10 M)要啟用自動調整大小功能,將 AUTORESIZE YES 子句指定為 CREATE TABLESPACE 語句的一部分:
CREATE TABLESPACE DMS1 MANAGED BY DATABASE
USING (FILE '/db2files/DMS1' 10 M) AUTORESIZE YES在已創建 DMS 表空間之後,還可以通過在 ALTER TABLESPACE 語句上使用 AUTORESIZE 子句來啟用或禁用自動調整大小功能:
ALTER TABLESPACE DMS1 AUTORESIZE YES
ALTER TABLESPACE DMS1 AUTORESIZE NO有兩個其他屬性(MAXSIZE 和 INCREASESIZE)與自動調整大小的表空間相關聯。

Ⅳ db2導出表和表空間命令

  1. 這個命令是在控制台執行的,如果是linux 就直接在控制台執行,window則是 db2cmd ,調出控制台,如果是window7 的話,最好用管理員身份運行這個命令,然後在能執行上面的命令

  2. -d 指的是資料庫名字 ,切忌 -o 文件名.sql 這個要放在最好一個參數

  3. 其它參數的含義 你看看幫助吧 下面是幫助文檔貼出來的



  4. 語法: db2look -d DBname [-e] [-xs] [-xdir Path] [-u Creator] [-z Schema]

  5. [-t Tname1 Tname2...TnameN] [-tw Tname] [-h]

  6. [-o Fname] [-a] [-m] [-c] [-r] [-l] [-x] [-xd] [-f]

  7. [-fd] [-td x] [-noview] [-i userID] [-w password]

  8. [-v Vname1 Vname2 ... VnameN] [-dp] [-ct]

  9. [-wrapper WrapperName] [-server ServerName] [-nofed]

  10. [-wlm] [-ap] [-mod] [-cor]


  11. [-wrapper WrapperName] [-server ServerName][-fedonly]

  12. [-nofed]


  13. db2look [-h]


  14. -d: 資料庫名稱:這必須指定


  15. -e: 抽取復制資料庫所需的 DDL 文件

  16. -xs: 導出 XSR 對象並生成包含 DDL 語句的腳本

  17. -xdir: 路徑名:將用來放置 XSR 對象的目錄

  18. -u: 創建程序標識:如果 -u 和 -a 都未指定,那麼將使用 $USER

  19. -z: 模式名:如果同時指定了 -z 和 -a,那麼將忽略 -z

  20. -t: 生成指定表的統計信息

  21. -tw: 為名稱與表名的模式條件(通配符)相匹配的表生成 DDL

  22. -ap: 生成 AUDIT USING 語句

  23. -wlm: 生成特定於 WLM 的 DDL 語句

  24. -mod: 為模塊生成 DDL 語句

  25. -cor: 使用 CREATE OR REPLACE 子句生成 DDL

  26. -h: 更詳細的幫助消息

  27. -o: 將輸出重定向到給定的文件名

  28. -a: 為所有創建程序生成統計信息

  29. -m: 在模擬方式下運行 db2look 實用程序

  30. -c: 不要生成模擬的 COMMIT 語句

  31. -r: 不要生成模擬的 RUNSTATS 語句

  32. -l: 生成資料庫布局:資料庫分區組、緩沖池和表空間。

  33. -x: 生成排除對象的原始定義程序的「授權」語句 DDL

  34. -xd: 生成包括對象的原始定義程序的「授權」語句 DDL

  35. -f: 抽取配置參數和環境變數

  36. -td: 將 x 指定為語句定界符(預設定界符為分號(;))

  37. -i: 登錄到資料庫駐留的伺服器時所使用的用戶標識

  38. -w: 登錄到資料庫駐留的伺服器時所使用的密碼

  39. -noview: 不要生成 CREATE VIEW ddl 語句

  40. -wrapper: 為適用於此包裝器的聯合對象生成 DDL

  41. -server: 為適用於此伺服器的聯合對象生成 DDL

  42. -FEDONLY: 僅創建了聯合 DDL 語句

  43. -nofed: 不要生成 Federated DDL

  44. -fd: 為 opt_buffpage 和 opt_sortheap 以及其他配置和環境參數生成 db2fopt

  45. 語句。

  46. -v: 只為視圖生成 DDL,當指定了 -t 時將忽略此選項

  47. -dp: 在 CREATE 語句之前生成 DROP 語句

  48. -ct: 按對象創建時間生成 DDL 語句

Ⅳ db2怎麼查看錶空間使用率

db2 查看錶空間使用率
1. 統計所有節點表空間使用率
select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024 as "TOTAL(MB)",
used_pages*PAGE_SIZE/1024/1024 as "USED(MB)", free_pages*PAGE_SIZE/1024/1024 as "FREE(MB)"
from table(snapshot_tbs_cfg('DB_NAME', -2)) as snapshot_tbs_cfg
2、查看錶空間使用率
select substr(tbsp_name,1,20) as TABLESPACE_NAME,substr(tbsp_content_type,1,10) as TABLESPACE_TYPE,sum(tbsp_total_size_kb)/1024 as TOTAL_MB,
sum(tbsp_used_size_kb)/1024 as USED_MB,sum(tbsp_free_size_kb)/1024 as FREE_MB,tbsp_page_size AS PAGE_SIZE
from SYSIBMADM.TBSP_UTILIZATION group by tbsp_name,tbsp_content_type,tbsp_page_size
order by 1
3、通過存儲過程查看資料庫大小和容雹廳量
db2 call GET_DBSIZE_INFO (?,?,?,0)
輸出參數的值
--------------------------
參數名: SNAPSHOTTIMESTAMP
參數值: 2008-05-26-10.53.06.421000
參數名: DATABASESIZE
參數值: 1203863552
參數名: DATABASECAPACITY
參數值: 4281493504
unit=byte, byte/1024/1024=m
db2 call GET_DBSIZE_INFO (?,?,?,0)
注意:
a、從V8以上版本支持,此存儲過程看資料庫大小和容量;如果要看各表空間使用情況上面的sql方便,
b、還芹肆衫有DPF環境下,db2 call GET_DBSIZE_INFO (?,?,?,0)只能看dbsize大小,無法看db的容量
SYSIBM.SYSTABLESPACES
SYSIBM.SYSTBSPACEAUTH

2.db2查看錶空間和增加表空間容量
Db2 connect to xxx
Db2 「LIST TABLESPACES SHOW DETAIL」
Tablespace ID = 7
Name = TSASNAA
Type = Database managed space
Contents = All permanent data. Large table space.
State = 0x0000
Detailed explanation:
Normal
Total pages = 14800
Useable pages = 14752
Used pages = 12864
Free pages = 1888
High water mark (pages) = 12864
Page size (bytes) = 8192
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
增加表空間大小
DB2資料庫使用時,如果表空間滿了,該如何擴容呢?下文將教給您DB2資料庫表空間擴容的方法,供您參考,希望對您有所幫助。
1)直接添加一個容器的例子:
db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000) "
加容器之後DB2會有一個自動balance的過程,可能會持續幾個小時!!! 一定要注意該選項,修改前確認該選項是否能滿足業務需求!
2)改變現嫌腔有容器的大小(該方法不會觸發balance,但如果表空間建立在裸設備上,則要擴沖裸設備空間):
db2 " ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE '/dev/rcont1' 2000, FILE 'cont2' 2000) "
注意這種方式就是將原有的相應容器都改成大小是2000頁
db2 "ALTER TABLESPACE TS1 RESIZE (ALL 2000)"
這種方式就是把表空間中所有的容器大小都改成2000頁
db2 " ALTER TABLESPACE TS1 EXTEND (FILE '/conts/cont0' 1000, DEVICE '/dev/rcont1' 1000, FILE 'cont2' 1000) "
這種方式就是將相應的容器都擴大1000頁,也就是增加1000頁。
db2 " ALTER TABLESPACE DATA_TS EXTEND (ALL 1000)"
這種方式就是將所有的容器都增加1000頁。
3.db2數據字典
select name from sysibm.systables where type='T' and creator='USERID' and tbspace='TS4R_DNJC' order by name;
select name from sysibm.systables where type='V' and creator='USERID' order by name;
type:資料庫表用T表示;資料庫視圖用V表示
creator:資料庫對象的創建者
select * from sysibm.syscolumns
select tabname from syscat.tables where tabschema=current schema ;
獲取當前模式下面的所有用戶表
describe table XXXX
SELECT NAME
,COLNO
,COLTYPE || '('
|| CAST(LENGTH AS CHAR(5)) || ','
|| CAST(SCALE AS CHAR(5)) || ')'
,CASE WHEN NULLS = 'N'
THEN 'NOT NULL' ELSE ' ' END
,TBNAME

WHERE TBCREATOR = 'TEST' -- < OR 'TEST'
-- AND (NAME = 'YOUR_COL_NAME' -- < COLUMN NAME \ ONLY USE ONE
AND (TBNAME = 'T_QUICK_MENU' -- < TABLE NAME /
)
ORDER BY TBNAME, COLNO

SELECT NAME FROM SYSIBM.SYSCOLUMNS

Ⅵ DB2表空間擴容方法(裸設備,多容器)有哪些

根據表空間的類型不同,擴容方法不同。DB2一般分SMS和DMS兩種類型表空間,一個是系統管理表空間,一個是資料庫管理表空間。

1、SMS表空間的container是文件系統目錄或文件,一般container是自動擴展的,這種情況下你需要擴容文件系統。

查看錶空間類型和container

$db2listtablespacesshowdetail
$<tablespaceid>

2、DMS表空間也有自動擴展類型和使用裸設備的情況(container是文件或裸設備),如果是自動擴展則擴容文件系統。非自動擴展的擴容方式是增加container。

DMS+文件

$db2connectto<dbname>
$db2"altertablespace<tablespaceName>beginnewstripeset(file'<filePath>/<fileName>'655360)"

DMS+裸設備

$db2connectto<dbname>
$db2"altertablespace<tablespaceName>beginnewstripeset(device'/dev/rLR_XXXXXX'671088640)"

語句中使用了begin new stripe set,表示新的數據直接寫到新的container上,不進行數據reblance。否則替換為add,表示在container間進行數據reblance(會在後台執行,可用list utilities查看進度)

括弧中的數字表示container的page個數(表空間pagesize×這個數字即是container的大小)。

Ⅶ 如何擴展DB2表空間

查看錶空間使用情況
db2pd
-d
dbname
-tablespaces
擴大表空間有3種方法:
擴展容器50G
db2
"alter
tablespace
tablespace_name
extend
(file
'/data1/ts2/con0'
50G,file
'/data1/ts2/con1'
50G)"
2.增加容器,不過會判掘rebalance,影響系統豎渣性能
db2
"alter
tablespace
tablespacename
add
(file
'/data1/ts2/con2'
50G)"
3.通過alter
tablespace
begin
new
stripe
set
選項,該選項不rebalance,不會對系統性能造成影響,但掘纖核它會造成數據偏移。
db2
"alter
tablespace
tablespace_name
begin
new
stripe
set
(file
'/data1/ts2/con3'
10G)"

Ⅷ DB2資料庫中的表在硬碟上的存儲位置在哪

這個得查,先查資料庫的位置,再查表所屬的表空間,現查表空間的存儲位置,

執行db2cmd
查看本機所有的資料庫編目
db2 list db directory
聯接資料庫
db2 connect to db_name user uid using pwd
查看錶空間位置
db2 list tablespaces show detail
重裝資料庫後,只要原數據的文件沒有刪除,可以用catalog db 載入機器上原有的資料庫,但是只載入一個表空間或一個表我覺得實現不了。

Ⅸ 如何刪除DB2中的表空間

可用語句來刪除:

droptablespace表空間名;

表空間:

表空間是資料庫的邏輯劃分,一個表空間只能屬於一個資料庫。所有的資料庫對象都存放在指定的表空間中。但主要存放的是表, 所以稱作表空間。

熱點內容
知道ID密碼怎麼定位 發布:2025-04-22 23:34:16 瀏覽:252
c語言采樣 發布:2025-04-22 23:30:03 瀏覽:916
資料庫伺服器修改了ip地址 發布:2025-04-22 23:25:36 瀏覽:7
c語言基礎案例 發布:2025-04-22 23:23:28 瀏覽:693
網路顯示沒有效的ip配置怎麼辦 發布:2025-04-22 23:23:23 瀏覽:805
怎麼查身份證密碼 發布:2025-04-22 23:12:07 瀏覽:206
如何用伺服器跑github項目 發布:2025-04-22 23:10:55 瀏覽:948
ccs編譯dsp程序的指令 發布:2025-04-22 23:06:42 瀏覽:369
映射盤符腳本 發布:2025-04-22 22:55:35 瀏覽:261
王者榮耀安卓系統怎麼轉換到蘋果 發布:2025-04-22 22:53:29 瀏覽:986