我在linux下的db2 10.5版本创建表空间遇到蛋疼的问题求教啊

我在linux下的db2 10.5版本创建表空间遇到蛋疼的问题求教啊,第1张

file '/db2/data' 200M 这个路径无效。

dbapth指定为/db2/data,那这是一个目录。在创建tablespace的时候又把它当file用,所以无效。

换一个别的文件名字就行。

一、建表空间和数据库

1.在db2ad、db2db和db2ap上均执行:

[sql] view plaincopy

db2set db2comm=tcpip

db2set db2codepage=1386

2.新建数据库:

[sql] view plaincopy

db2 create db <dbname>using codeset gbk territory CN collate using identity

3.连接上数据库:

[sql] view plaincopy

db2 "connect to <dbname>"

4.创建缓冲池 + 建立表空间;

1).删除旧的表空间:

[sql] view plaincopy

db2 drop tablespace tablespace1, tablespace2, tablespace3

2).新建缓冲池:

[sql] view plaincopy

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 plaincopy

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 plaincopy

ALTER TABLESPACE <tablespace1>RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )

6.调整缓冲池大小:

[sql] view plaincopy

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 plaincopy

db2 update dbm cfg using SVCENAME DB2_db2ad

这样在服务端实例对应的端口号就是60040;

------------

2.db2db账户下:

1).

[sql] view plaincopy

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 plaincopy

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 plaincopy

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

这是我在linux下命令,跟Ubuntu应该一样!你试试看!

查看当前用户表:list tables

查看数据库定义所有表:list tables for all

查看指定模式表:list tables for schema <schema name>

查看当前用户名为模式表:list tables for schema

查看表结构:describe table <tablename>

创建:create table <schema name>.<table name>(<column name><type>) in <tablespace name>

例如:create table agent.test (id integer, name varchar(10)) in users


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8921719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存