① DB2数据库中的表在硬盘上的存储位置在哪
这个得查,先查数据库的位置,再查表所属的表空间,现查表空间的存储位置,
执行db2cmd
查看本机所有的数据库编目
db2 list db directory
联接数据库
db2 connect to db_name user uid using pwd
查看表空间位置
db2 list tablespaces show detail
重装数据库后,只要原数据的文件没有删除,可以用catalog db 加载机器上原有的数据库,但是只加载一个表空间或一个表我觉得实现不了。
② 在linux上如何邦定一个db2数据库
一、安装前准备工作:
1、对于Linux系统,至ibm网站下载软件包
2、Linux内核设置:编辑/etc/sysctl.conf文件
3、创建相应用户以及组:
4、创建相应目录用于存放db2的数据文件以及日志文件:
这里在根下面创建一个db2总目录,然后创建了一个15G大小的逻辑卷挂载/db2下面,然后在其下面创建相应的文件夹。
database目录存放数据库实例
db2log1存放db2的主日志文件
db2log2存放镜像日志文件
db2temp存放db2临时表空间
db2用户的家目录的位置
二、安装过程:
安装可以使用root用户安装也可以使用非root用户安装,这里就直接使用root用户安装了。
以root身份执行db2setup,会弹出以下画面:
这里选择安装企业版,点击install new:
下一步之后,就出现创建用户的画面:
最后点击finish开始安装过程。
三、创建数据库:
如果在安装过程中,没有创建数据库,则后续可以使用db2cc命令创建数据库。这是一个基于图形界面的管理工具,使用起来也非常方便。执行db2cc后,会弹出以下画面:
点击右侧的Create New Database,创建数据库:
指定数据库名称以及存放位置,选中Let DB2 manage my storage,下一步:
点击finish开始创建。默认db2会创建以下三个表空间:
(1)、catalog table space用于存放catalog表。
(2)、user table space存放所有表和索引数据。
(3)、temporary table space临时数据的存放位置。
创建完成后,会看到如下画面:
此时还没有连接到xzxjdb1上,点击右侧的connect进行连接。连接之后,会看到右侧多了好多信息:
使用命令行查看当前数据库中表空间信息:
四、DB2的简单管理:
1、查看表空间信息:
2、查看表信息:
3、查看当前实例下的所有数据库信息:
4、停止数据库:
5、启动数据库:
6、设置实例自动启动:
《Linux就该这么学》里有相关介绍,建议看看。
③ db2怎么列出当前数据库下所有表占用空间的大小
ADMINTABINFO administrative view and ADMIN_GET_TAB_INFO table function - Retrieve size and state information for tables
Example 1: Retrieve size and state information for all tables
SELECT * FROM SYSIBMADM.ADMINTABINFO
Example 2: Retrieve size and state information for the table DBUSER1.EMPLOYEE.
SELECT * FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('DBUSER1', 'EMPLOYEE'))
AS T
以上参考 http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0022024.htm
DATA_OBJECT_L_SIZE DATA_OBJECT_P_SIZE这两个字段值为你需要的信息。
第一个示例查询时可以带上模式名或者表名来去除系统表的信息
④ AIX 下 db2 如何查看数据库空间建在哪里
这是不是你想要的?关于database
db2 => LIST DATABASE DIRECTORY
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = MY_DB
Database name = MY_DB
Local database directory = /var/db/db2inv/DB
Database release level = a.00
Comment =
Directory entry type = Indirect
Catalog database partition number = 0
Alternate server hostname =
Alternate server port number =
关于tablespace..
db2 => list tablespaces
Tablespaces for Current Database
Tablespace ID = 0
Name = SYSCATSPACE
Type = System managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 1
Name = TEMPSPACE1
Type = System managed space
Contents = System Temporary data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 2
Name = USERSPACE1
Type = System managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 3
Name = INV_TS
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 4
Name = INV_TEMP_TS
Type = Database managed space
Contents = System Temporary data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 5
Name = USERTEMP1
Type = System managed space
Contents = User Temporary data
State = 0x0000
Detailed explanation:
Normal
Tablespace ID = 6
Name = SYSTOOLSPACE
Type = System managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
db2 => list tablespace containers for 1
Tablespace Containers for Tablespace 1
Container ID = 0
Name = /var/db/db2inv/DB/db2inv/NODE0000/SQL00001/SQLT0001.0
Type = Path
⑤ 如何查看db2表空间对应的物理文件
select * from dba_tablespaces--查看抄表空间
--查看表空间文件路径
select tablespace_name,file_id,bytes/1024/1024,file_name
from dba_data_files order by file_id;
--查看用户和默认表空间的关系
⑥ 在db2数据库中如何查看已经创建的bufferpool
通过查询SYSCAT.BUFFERPOOLS系统视图可以查看缓冲池信息
SELECT * FROM SYSCAT.BUFFERPOOLS
要找出哪个缓冲池被分配给了表空间,可以使用下面的语句
SELECT TBSPACE, BUFFERPOOLID FROM SYSCAT.TABLESPACES