db2笔记
来源:互联网 发布:唱吧假唱软件 编辑:程序博客网 时间:2024/05/22 08:28
DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法这个错误是:表处于"装入暂挂"状态。经多次尝试 总结方法:1:reorg table <表>; 假如不好使 则下面方法2,先前尝试装入(LOAD)此表失败。表的状态应该是load pending;你可以执行一下db2 "load query table <tabname>"命令来查看你的表状态。然后用db2 "load from /dev/null of del terminate into <tabname>"这个命令来解挂。 然后 reorg table <表>3,恢复时候 没有指定过roll forward选项是数据库的原因,因LOAD异常中断引起,可以用LOAD… TERMINATE 或者RESTART来解决.先在C:建一个空文件test.txt,然后db2 load from c:/test.txt of del terminate into tablename然后 reorg table <表>然后就可以了! 这几种方法尝试后OK。4、db2如果表正在使用的过程中对变得字段进行修改需要执行reorg table tablename 2、231的was停止与启动: /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/stopManager.sh /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopNode.sh 用户:wasadmin/wasadmin /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startNode.sh /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedAppsdb2 force application all //强行终止所有连接 db2 terminate //清除所有db2的后台进程rm -rf !(export*|import*)db2 -tvf cleartables.txt -z cleartables.txt.logsed -n '/^alter table/p' cleartables.txt.log > cleartables.sqldb2 -tvf exports.sql -z exports.logsed -n '/^export/p' exports.log > export.sqldb2 -tvf export.sql -z export.log--清空所有表select 'alter table '||lower(name)||' activate not logged initially with empty table;' from sysibm.systables where creator like '%LIN3%' and type='T' order by name;--导出表数据select 'export to '||lower(name)||'.del of del modified by codepage=1208 select * from '||lower(name)||';' from sysibm.systables where creator like '%LIN3%' and type='T' order by name;--导入表数据select 'import from '||lower(name)||'.del of del modified by codepage=1208 insert into '||lower(name)||';' from sysibm.systables where creator like '%LIN3%' and type='T' order by name;前提:1、导出数据库建表语句: db2look -d feelview -e -a -x -i db2inst1 -w db2inst1 -o ddl_feelview.sql2、导出数据: mkdir data cd data db2move feelview export -u db2inst1 -p db2inst13、ftp到本地4、ftp到建数据库的服务器 5、执行sql文件db2 -tvf back_from_feelview.sql -z back_form_feelview.logback_from_feelview.sql connect to databasename; import from system_data.del of del modified by codepage=1386 insert into system_data6、数据导出export to system_data.del of del modified by codepage=1386 select * from system_data;--codepage是编码 1208是utf-8select 'export to '||lower(name)||'del of del modified by codepage=1208 select * from '||lower(name)|';' from sysibm.systables where creator like '%LIN%' order by name;7、数据导入import from system_data.del of del modified by codepage=1386 insert into system_data--codepage是编码 1208是utf-8db2start 启动命令删除数据库: 1、db2 CONNECT RESET db2 force application all drop database feelview 删除成功之后,开始新建数据库,如下: 1、创建数据库db2 CREATE DATABASE feelview ALIAS feelview USING CODESET UTF-8 TERRITORY CN PAGESIZE 16384 db2 drop db feelview #删除数据库2、创建缓冲池db2 connect to feelview user db2inst1 using db2inst1select bpname from syscat.bufferpools #查看缓冲池CREATE BUFFERPOOL FEELVIEWTMP IMMEDIATE SIZE 10000 AUTOMATIC PAGESIZE 16Kdrop BUFFERPOOL bufferpoolname#删除缓冲池3、创建表空间:list tablespaces #查看表空间CREATE LARGE TABLESPACE FEELVIEWDB PAGESIZE 16K MANAGED BY DATABASE USING ( FILE 'FEELVIEWTBS1' 32000,FILE 'FEELVIEWTBS2' 32000) EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 AUTORESIZE YES INCREASESIZE 50M BUFFERPOOL FEELVIEWTMP NO FILE SYSTEM CACHINGDROP TABLESPACE <tablespace_name> #删除表空间4、创建临时表空间:CREATE USER TEMPORARY TABLESPACE TEMPSPACE2 PAGESIZE 16K MANAGED BY DATABASE USING ( FILE 'FEELVIEWTEMP1' 32000) EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 AUTORESIZE YES INCREASESIZE 10M BUFFERPOOL FEELVIEWTMPDROP TABLESPACE <tablespace_name> #删除表空间5、创建模式:CREATE SCHEMA DB2INST1 AUTHORIZATION DB2INST1DB2 drop指定schema的所有表 .db2 -x "select 'drop table '||trim(tabschema)||'.'||tabname||';'from syscat.tables where tabschema ='schemaname'" > droptable.sqldb2 -tf droptable.sqldb2 -x "select 'drop view '||trim(tabschema)||'.'||tabname||';'from syscat.tables where tabschema ='schemaname'" > dropview.sqldb2 -tf dropview.sqlDROP SCHEMA ERRORSCHEMA1 RESTRICT --schema中不能含有任何对象--RESTRICT 关键字强制实施以下规则:不能在指定的模式中为要从数据库中删除的模式定义对象。RESTRICT 关键字并非可选关键字6、get db cfg for feelview7、cd 到有建表语句的目录下,执行以下命令:db2 -tvf ddl.sql -z create.log8、cd到有导出数据的目录下,执行以下命令: db2move feelview import -u db2inst1 -p db2inst1--查看连接数select * from table(snapshot_appl_info('',-2) )as a;select * from table(snapshot_appl('',-2) )as a;-- 查看连接参数db2 get db cfg for feelview--DB2中两时间相减求之前相差多少月?SELECT timestampdiff (256, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔年", timestampdiff (128, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔季度", timestampdiff (64, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔月", timestampdiff (32, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔周", timestampdiff (16, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔日", timestampdiff (8, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔时", timestampdiff (4, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔分", timestampdiff (2, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔秒"FROM SYSIBM.SYSDUMMY1;select * from sysibm.systables where type='T' and creator='DB2INST1' select * from sysibm.columns where table_name='SYSTEM_DATA' ; --查看表结构删除db2 数据库db2>disconnect current字面意思是“断开当前连接”;db2 catalog db dbname.db2 drop db dbname.DB2怎么删除表空间所以数据 DROP TABLESPACE <tablespace_name>db2 表空间常用命令(未完待续)(2013-11-22 19:26:37)转载▼标签: it 分类: DB2 # 1. 查看所有的表空间db2 list tablespaces# 2. 查看某个表空间的容器db2 list tablespace containers for [ show detail ]如: db2 list tablespace containers for 3 show detail# 3. 查看表空间的配置信息,使用情况及容器信息db2pd -d -tablespaces如:db2pd -d zdb -tablespaces# 4. 通过snapshot 获取表空间信息db2 get snapshot for tablespaces on对于DMS( database manage ) 表空间,提供了几个方法更改表空间容器。 1. Add 用来增加新的容器 2. Drop 删除容器 3. Extend 扩展已有容器大小 4. Reduce 缩减已有容器大小 5. Resize 重新设定容器大小Add和Drop操作,表空间容器之间会发生数据重新平衡(rebalance),Reduce和Resize操作,需要确保修改后的表空间容器有足够的空间,否则DB2会拒绝该操作。日常运维中出现表空间满的情况时,根据对存储空间和对运维的影响,有以下三种方案:1). 如果表空间对应的存储容器中还有未分配空间,可通过alter tablespace 的 extend 或 resize 选项扩展已有表空间容器的大小。如下面的例子是在每个容器上扩展了50GB: db2 "alter tablespace tbs_dat extend ( file '/db2tbsp/dat_1' 50G, file '/db2tbsp/dat_2' 50G) ";2). 如果表空间容器对应的存储中没有剩下空间时,可以通过alter tablespace 的 add 选项增加新的表空间容器。需要注意的是:通过add增加容器会在容器之间进行数据Reblance,即数据重新平衡。如果数据量很大,reblance的时间会很长,对系统性能会造成很大的影响。下面是增加一个新的容器,表空间的不同容器内会发生reblance: db2 "alter tablespace tbs_dat add ( file '/db2tbsp/dat_2' 10G)"3). 通过alter tablespace begin new stripe set 选项。begin new stripe set 选项是当已有容器使用完后,再使用新增加的容器。与方法2不同,该选项不会在容器之间做reblance,不会对系统造成性能影响,但它会造成数据偏移。如下: db2 "alter tablespace tbs_dat begin new stripe set (file '/db2tbsp/dat_2' 10G) "# 删除表空间tbs_dat的容器dat_2db2 "alter tablespace tbs_dat drop ( file '/db2tbsp/dat_2' )"表空间容器的路径变化时,需要建立一个软链接(容器的原路径软链接到容器的新路径),如:ln -s /db2tbs/zdb/dat_1 /db2tbsp/dat_1查看、修改、创建、删除缓冲池查看缓冲池大小: SELECT BPNAME,NPAGES,PAGESIZE FROM SYSCAT.BUFFERPOOLS修改缓冲池大小: ALTER BUFFERPOOL <bp_name> SIZE <number_of_pages>创建缓冲池时指定大小: CREATE BUFFERPOOL <bp_name> SIZE <number_of_pages> PAGESIZE <integer K>删除缓冲池:$ db2 drop BUFFERPOOL PAY_SYS_POOLdb2中断开数据库连接 2010-04-26 15:39:52 分类: db2中connect reset、disconnect current、和quit这三个命令有什么区别?或者说连上db2后哪个能真正断开连接?connect reset字面意思是“连接重置”;disconnect current字面意思是“断开当前连接”;以上两个命令都能断开数据库连接;quit是退出交互模式,相当于在使用Ctrl+C退出交互模式;使用此命令后只是退出了交互模式,数据库连接并未断开,此时如果输入db2进入交互模式,将可以继续使用以前的连接进行sql操作(前提是没有使用connect reset或者disconnect current命令断开连接)。而我平时一直使用的是quit命令,现在从试验结果看,这是个误用,是自己以前没弄明白造成的,为此记录一下。正确的方式是:使用connect reset或者disconnect current命令断开连接之后再quit退出。连接数据库后执行connect reset命令结果:连接数据库后执行disconnect current命令结果:连接数据库后执行quit命令结果:补充:db2 terminate --断开与数据库的连接。--查找某个存储过程 select * from syscat.procedures where procschema='CTLLIN' --查找某个函数 select * from syscat.functions where funcschema='CTLLIN' (未经许可,请勿转载)最近在执行DB2数据库SQL脚本时报错如下:DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0010N The string constant beginning with "'单位:天')" does not have an ending string delimiter. SQLSTATE=42603。该脚本在DB2连接工具中执行正常,因此可以确定问题出在中文字符集上面。分析研究后,发现DB2数据库存在三种级别的字符集:操作系统级LANG、实例级(客户端级)db2codepage、数据库级Database code page/set。操作系统级是用户应用程序使用的代码页。可以使用环境变量LANG=C等来设置。用set命令、或者echo $LANG查看其值。实例级DB2应用程序进行客户端到数据库服务端代码页转换时使用的,比如使用SQL脚本时,db2读取脚本时就是按照实例级的字符集db2codepage来识别该脚本的。可用db2set -all来查看其值。可用db2set db2codepage=1208来设置其值。数据库级的字符集是在创建数据库时指定的,是后续不可修改的。设置语句类似db2 "CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY CN"。可以在连库后,使用db2 get db cfg for dbname命令,来查看Database code page/set的值。本问题中数据库级的字符集是1386,即GBK字符集;终端实例级的字符集也是1386字符集。但是,SQL脚本是UTF-8格式的,db2按照1386字符集去读取UTF-8格式的脚本就会出现不可识别的乱码,最终报错SQL0010N。解决办法是临时修改实例级字符集为UTF-8格式,执行完脚本后再恢复为GBK格式。db2 connect to dbnamedb2set db2codepage=1208db2 terminatedb2 connect to dbnamedb2 -tvf *.sql //执行sql脚本db2set db2codepage=1386db2 terminate(未经许可,请勿转载)最近在执行DB2数据库SQL脚本时报错如下:DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0010N The string constant beginning with "'单位:天')" does not have an ending string delimiter. SQLSTATE=42603。该脚本在DB2连接工具中执行正常,因此可以确定问题出在中文字符集上面。分析研究后,发现DB2数据库存在三种级别的字符集:操作系统级LANG、实例级(客户端级)db2codepage、数据库级Database code page/set。操作系统级是用户应用程序使用的代码页。可以使用环境变量LANG=C等来设置。用set命令、或者echo $LANG查看其值。实例级DB2应用程序进行客户端到数据库服务端代码页转换时使用的,比如使用SQL脚本时,db2读取脚本时就是按照实例级的字符集db2codepage来识别该脚本的。可用db2set -all来查看其值。可用db2set db2codepage=1208来设置其值。数据库级的字符集是在创建数据库时指定的,是后续不可修改的。设置语句类似db2 "CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY CN"。可以在连库后,使用db2 get db cfg for dbname命令,来查看Database code page/set的值。本问题中数据库级的字符集是1386,即GBK字符集;终端实例级的字符集也是1386字符集。但是,SQL脚本是UTF-8格式的,db2按照1386字符集去读取UTF-8格式的脚本就会出现不可识别的乱码,最终报错SQL0010N。解决办法是临时修改实例级字符集为UTF-8格式,执行完脚本后再恢复为GBK格式。db2 connect to dbnamedb2set db2codepage=1208db2 terminatedb2 connect to dbnamedb2 -tvf *.sql //执行sql脚本db2set db2codepage=1386db2 terminatedb2 快速清除表中所以的数据db2 "alter table t1 activate not logged initially with empty table"快速清除表数据操作, 这个操作是不记录日志的, 最好做过后做一次在线备份命令为:alter table tabname activate not logged initially with empty table这条会删除表中的所有数据
0 0
- db2笔记
- db2笔记
- db2笔记
- db2常用操作笔记
- db2常用操作笔记
- DB2常用命令学习笔记
- DB2常用命令学习笔记
- DB2使用笔记
- db2常用操作笔记
- db2常用操作笔记
- DB2 学习笔记(四)
- db2应用笔记
- DB2 初学笔记
- db2学习笔记
- DB2学习笔记-0001
- db2常用操作笔记
- db2 恢复笔记
- DB2 使用笔记-常用命令
- 蓝桥杯:最小乘积(基本型)
- C++——C/C++static关键字
- 《了凡四训》读书总结
- [Q学习]9 Qt事件系统——投递事件
- 单点触控
- db2笔记
- iOS开发------操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)
- 跨域问题
- iOS之深入了解控制器View的加载
- C#三十三 事务
- 【hdu4283】区间动态规划问题
- 小工具-使用java SSL通过url获得访问转为String-http/https
- java20函数的复写override
- Java垃圾收集器