DB2 执行SQL报错: DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048

news/2024/11/25 8:21:23/

DB2 执行SQL报错: DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048

说明建的db2数据库没有建足够大的临时表空间,新建一个足够大的临时表空间

 

1.创建数据库

db2 "create database testdb automatic storage yes on /dbauto dbpath on /database using codeset UTF-8 territory cn collate using system"

dbpath on 表示数据库目录 using codeset   XXXX terriory XXX 指定数据库编码集和区域

1.1显示实例下创建的数据库 

db2 list db directory

 

2.数据库连接

db2 connect to testdb

 

3.创建缓冲池

db2 "create bufferpool bp32k size 10000 pagesize 32k"   size表示页数,pagesize表示页大小,size*pagesize就是缓冲池的内存大小

 

4.创建数据库管理(DMS)的数据表空间

 db2 "create large tablespace tbs_data pagesize 32k managed by database using (file '/data1/tbs_data/cont0' 100M, file '/data1/tbs_data/cont1' 100M) extentsize 32 prefetchsize automatic bufferpool bp32k no file system caching"

 

5.创建系统管理(SMS)的临时表空间

db2 "create temporary tablespace tbs_temp pagesize 32k mamaged by system using  ('/data1/tbs_temp')  bufferpool bp32k"

using 指定表空间的容器,SMS支持的容器类型只是目录

 

6.创建(SMS)管理的用户临时表空间

db2 "create user temporary tablespace tbs_user_temp pagesize 32k managed by system using ('/data1/tbs_usertemp') bufferpool bp32k"

 

7.创建自动存储管理(Automatic Storage)的表空间

7.1 db2 "create tablespace tbs_index pagesize 32k bufferpool bp32k"

7.2 db2 "create tablespace tbs_data2 initialsize 100M increasesize 100M maxsize 1000G"

只有建库时启用了automatic storage yes,表空间才支持自动存储管理

 

8.显示每个表空间核心信息

db2 list tablespaces

8.1显示指定表空间相关信息

db2 list tablespace containers for <tablespace_id> show detail

8.2比list tablespaces更详细的显示表空间信息

db2 get snapshot for tablespaces on <db_name>

 

9.显示表空间的配置信息,使用情况和容器信息

db2pd -d <db_name> tablespaces

 

10.表空间容器的更改

10.1alter tablespace <db_name> add/drop/extend/reduce/resize 

//add和drop操作,表空间会发生数据重新平衡(rebalance),对于reduce和resize操作,需要确保更改后的表空间容器有足够的空间,否则db2会拒绝该操作。

10.2alter tablespace <db_name> begin new stripe set

//begin new stripe set 选项是当已有容器使用完后,再使用新增加的容器,该选项不会在容器间做Rebalance ,不会对系统造成性能影响,但它会造成数据偏移。

使用方法:db2 "db2 alter tablespace data_ts2 add(file '/data1/ts2/cont2' 50G)"

10.3db2 alter database db_name add storage on db_path3

//对于自动存储管理的表空间,无法在表空间级进行容器更改,只能在数据库级别,因为自动存储路径是在建库时指定的。可以使用add storage on 选项为数据库添加新的存储路径。

 

建库脚本:

DB2安装默认用户:
db2inst1
db2iadm1第一步新建用户,添加至DB2用户,并切换至新建用户
----------------------------------------------------------------------------------
[root@localhost ~]# useradd -g db2iadm1 -u 1017 -d /usr/slsadmin -m slsadmin
[root@localhost ~]# passwd slsadmin
[root@localhost ~]# ####slsadmin789[root@localhost ~]# cd /opt/ibm/db2/V10.5/instance/
[root@localhost instance]# ./db2icrt -u slsadmin slsadmin
[root@localhost instance]# su - slsadmin
------------------------------------------------------------------------------------
设置环境配置,允许远程TCP/IP访问。此处数字为端口号,需要用vi去etc/services中查找此用户的最小的端口号
------------------------------------------------------------------------------------
[slsadmin@localhost ~]$ db2 update dbm cfg using SVCENAME 60012
[slsadmin@localhost ~]$ db2set DB2COMM=TCPIP
[slsadmin@localhost ~]$ db2
----------------------------------------------------------------------------------
启动db2命令窗
----------------------------------------------------------------------------------
db2 => db2start
db2 => create db faldb using codeset GBK territory CN
db2 => list db directory
db2 => connect to faldb--db2 => CREATE SCHEMA "hbreport" AUTHORIZATION "hbreport"--size表示页数,pagesize表示页大小,size*pagesize就是缓冲池的内存大小
db2 => create bufferpool poolname immediate size 10000 pagesize 32k--创建数据库管理(DMS)的数据表空间 
db2 => create tablespace faldb pagesize 32k managed by system using ('/usr/slsadmin/NODE0000/sqlt0003.0') bufferpool poolname
db2 => create temporary tablespace faldb_temp pagesize 32k managed by system using  ('/usr/slsadmin/NODE0000/faldb_temp')  bufferpool poolnamedb2 => commit work
db2 => connect reset
db2 => terminate执行建库SQL语句
----------------------------------------------------------------------------------
[slsadmin@localhost ~]$ db2 -tvf /home/WGJ/faldb20160215.sql
[slsadmin@localhost ~]$ db2move faldb import -u slsadmin -p slsadmin789一定要关闭防火墙!导出数据库
----------------------------------------------------------------------------------
[slsadmin@localhost ~]$ db2look -d faldb -e -a -x -i slsadmin -w slsadmin789 -0 faldb20160215.sql #导出数据库结构
[slsadmin@localhost ~]$ db2move faldb export -u slsadmin -p slsadmin789 #导出数据库数据

 

注意:如果使用db2默认的临时表空间,就会造成这个错误。

 

转载至https://www.cnblogs.com/hehongtao/p/5530373.html

 


http://www.ppmy.cn/news/790792.html

相关文章

DB2 SQLCODE=-1585的问题解决

DB2 SQLCODE-1585的问题解决 参考文章&#xff1a; &#xff08;1&#xff09;DB2 SQLCODE-1585的问题解决 &#xff08;2&#xff09;https://www.cnblogs.com/ja-net/archive/2013/02/04/2891869.html &#xff08;3&#xff09;https://www.javazxz.com/thread-7160-1-1.…

为什么IEEE 1588如此精确呢?

为什么IEEE 1588如此精确&#xff1f;因为1个概念&#xff1a;硬件时间戳。因为由IEEE 1588-2008定义的精确时间协议&#xff08;PTP&#xff09;通过在主时钟和从时钟之间交换信息来工作。 图1. 显示PTP主时钟和PTP从时钟之间信息交换的顺序图。Sync和Delay_Request消息的出发…

UVa 1585 - Score

题目&#xff1a;给你一个X和O组成的串&#xff0c;每个O有一个分&#xff0c;为他前面连续的O个数1&#xff0c;求所有O的分数和。 分析&#xff1a;dp&#xff0c;简单题。lis类似物&#xff0c;每个位记录连续的个数即可。 说明&#xff1a;快500了(⊙_⊙)。 #include <…

SQLCODE=-1585

https://www.cndba.cn/hbhe0316/article/4786https://www.cndba.cn/hbhe0316/article/4786https://www.cndba.cn/hbhe0316/article/4786 https://www.cndba.cn/hbhe0316/article/4786 https://www.cndba.cn/hbhe0316/article/4786 原因为系统临时表空间不足&#xff0c;详见信…

(入门题)题目 1585: 链表数据求和操作

题目 读入10个复数&#xff0c;建立对应链表&#xff0c;然后求所有复数的和。 输入 无 输出 无 样例输入 1 2 1 3 4 5 2 3 3 1 2 1 4 2 2 2 3 3 1 1 样例输出 2323i 解题思路 可以直接暴力解题&#xff0c;即将实部和虚部分别相加后输出。也可以建立链表后遍历链表&…

db2中SQLCODE=-1585,SQLSTATE=54048报错问题的解决

在db2创建库时&#xff0c;出现以下报错&#xff1a; SQL 错误 [56098]: An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-1585", SQLSTATE "54048" and message tokens &q…

Leetcode每日一题——1585

Leetcode每日一题——1585 题目描述&#xff1a; 思路&#xff1a; 我们可以选中一个连续的字符串&#xff0c;对其进行升序操作。也就是说&#xff0c;我们可以选择任意一段区间进行排序&#xff0c;我们可以分解成若干个长度为2的子区间的操作之和。也就是说&#xff0c;我…

ZCMU--1585: 面试

题目描述 五个人去面试&#xff0c;他们之前已经经历5次考试&#xff0c;请你帮助面试官按之前的平均成绩初步筛选。 输入 人名&#xff08;空格&#xff09;考试成绩&#xff08;空格间隔&#xff09;&#xff08;五个人为五行&#xff09; 输出 “Name&#xff1a;”人名…