当前位置:首页 » 操作系统 » 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表空间名;

表空间:

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。

热点内容
服务器ip承载量 发布:2025-04-23 01:53:37 浏览:594
易语言源码怎么保存 发布:2025-04-23 01:36:28 浏览:159
查看应用数据的存储路径 发布:2025-04-23 01:36:18 浏览:382
winformaccess数据库 发布:2025-04-23 01:31:20 浏览:166
免费申请腾讯云服务器 发布:2025-04-23 01:23:12 浏览:731
阿里云上传慢 发布:2025-04-23 01:04:10 浏览:586
我爸电脑配置给别人看没什么事吧 发布:2025-04-23 00:58:54 浏览:723
大学编程课程 发布:2025-04-23 00:48:55 浏览:470
服务器的内网ip有什么用 发布:2025-04-23 00:46:40 浏览:958
诛仙3需要什么配置 发布:2025-04-23 00:29:49 浏览:665