db2修改数据库的日志空间
在db2的使用过程中,做大数据量的操作时,经常会遇到日志空间满的错误,为解决这个错误,需要将数据库的日志空间增大步骤如下:[@more@]1.查看日志参数db2 get db cfg for dbname | grep LOG2.清除所有应用连接db2 force application all3.修改参数………………日志文件大小(4KB) (LOGFILSIZ) = 1000 ***************************需要修改 主日志文件的数目 (LOGPRIMARY) = 3 ***************************需要修改 辅助日志文件的数目 (LOGSECOND) = 2
db2load遇到SQL3508N错误
SQL3508N装入或装入查询期间,当存取类型为 "<文件类型>"的文件或路径时出错。原因码:"<原因码>"。路径:"<路径/文件>"。[@more@]解释: 装入或装入查询处理期间,在尝试存取文件时出错。实用程序停止处理。 用户响应: 若正在执行装入,且表空间未处于装入暂挂状态,则校正问题,并再次调用 Load 实用程序。若表空间处于装入暂挂状态,则以 RESTART或 REPLACE 方式调用 Load 实用程序,或者复原表空间的备份。可使用LIST TABLESPACES 命令确定表空间的状态。 下面是原因码列表: 1 打
db2数据库load出现SQL3508N问题
SQL3508N装入或装入查询期间,当存取类型为 "<文件类型>"的文件或路径时出错。原因码:"<原因码>"。路径:"<路径/文件>"。[@more@]解释: 装入或装入查询处理期间,在尝试存取文件时出错。实用程序停止处理。 用户响应: 若正在执行装入,且表空间未处于装入暂挂状态,则校正问题,并再次调用 Load 实用程序。若表空间处于装入暂挂状态,则以 RESTART或 REPLACE 方式调用 Load 实用程序,或者复原表空间的备份。可使用LIST TABLESPACES 命令确定表空间的状态。 下面是原因码列表: 1 打
通过句柄文件恢复linux下误删除的数据文件
数据库在open的时候数据文件被删除(从系统级别删除)因为在linux系统中,之前打开过该文件的进程仍然持有相应的文件句柄,所指向的文件仍然可以读写,文件描述符可以从/proc目录中得到如果关闭数据库,则该句柄会消失[@more@]通过简单的实验演示一下SYS SQL> select status from v$instance;STATUS------------OPENSYS SQL> select name from v$datafile;NAME-------------------------------------------------------/opt/app/oracle/oradata/ora10g/system01.dbf/opt/app/oracle/oradata/ora10g/undotbs01.dbf/opt/app/oracle/or
AIX下的压缩测试及所有压缩命令
AIX下的压缩命令1. backup: 加-i参数可对文件或目录进行备份,加-p参数可对要备份的文件进行压缩,但是仅能压缩小于2G的文件。2. compress: 对文件进行压缩,并将源文件替换成.Z文件。3. gzip:对文件进行压缩,并将源文件替换成.gz文件。4. tar 对文件进行归档操作,没有压缩。[@more@]环境:AIX5.3用不同的命令对一个大小为16621047byte 的test.txt 文件进行压缩对比测试 命令 压缩后文件名 文件大小(b) 压缩率 tar -cvf test.tar test.txt test.tar 42999999 0%
DB2常用系统视图小结
1.查询tabschemaselect * from SYSCAT.SCHEMATA ORDER BY CREATE_TIME DESC select tabschema from syscat.tables group by tabschema[@more@]2.查询失效视图select * from sysibm.sysviews where valid = 'X'select TABSCHEMA||'.'||TABNAME from SYSCAT.TABLES where TYPE='V' and STATUS='X'3.查询NICKNAME对应的本地表名和远程表名select tabschema,tabname, remote_schema,remote_table from syscat.nicknames fetch first 10 rows onlyselect tabschema,tabname, remote_schema,remote_table,servername from syscat.nicknames whe
DB2函数大全
函数名函数解释 函数举例AVG()返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS;CORR(),CORRELATION()返回一对数值的关系系数.[@more@]SELECT CORRELATION(SALARY,BONUS)FROM BSEMPMS;COUNT()返回一组行或值的个数.SELECTCOUNT(*)FROMBSEMPMS;COVAR(),COVARIANCE()返回一对数值的协方差. SELECTCOVAR(SALARY,BONUS)FROMBSEMPMS;MAX()返回一组数值中的最大值. SELECTMAX(SALARY)FROMBSEMPMS;MIN()返回一组数值中的最小值. SELECTMIN(SALARY)FROMBSEMPMS;STDDEV()返回一组数值的标准偏差.
db2常用命令大全
DB2数据库的应用是很普遍的,对于一些初学者来说,这些命令大全是首先要掌握的,接下来我就废话不多说啦,直接为大家呈上DB2常用命令大全。 一、常用命令 1. 建立数据库DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using 8301206[@more@]3. 建立别名 create alias db2admin.tables for sysstat.tables; CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS create alias db2admin
db2查看表大小
可以通过查看一个表有多少个页的方式,然后乘以页大小就可以算出表所占用空间:$ db2 connect to tkdwt Database Connection Information Database server = DB2/AIX64 9.7.4 SQL authorization ID = DB2INST1 Local database alias = TKDWT[@more@]收集统计信息$ db2 "RUNSTATS ON TABLE DB2INST1.ETL_TEST10 ON ALL COLUMNS ALLOW WRITE ACCESS"DB20000I The RUNSTATS command completed successfully. 16530 db2 "RUNSTATS ON TABLE DB2INST1.ETL_TEST10_1_20120824 ON ALL COLUMNS ALLOW WRITE ACCESS&
db2解决load数据后现在SQL1477N错误
在load后出现SQL1477N 不能访问表空间错误解决办法:一般这种情况要重建表,重建之前最好清空表[@more@]
db2解决load后系统空间不足问题
在load导入因为操作系统空间不够,导致load失败,以后再访问这个目标表会出现如下问题Severity Timestamp Node Thread Message Code MessageINFO 2012/9/10 17:01:23 node01_TK_etlt WRITER_1_*_1 WRT_8164 Error loading into target [ETL_TESTXX5000] : [IBM][CLI Driver][DB2/AIX64] SQL0668N Operation not allowed for reason code "3" on table "DB2INST1.ETL_TESTXX5000". SQLSTATE=57016 sqlstate = 57016[@more@][IBM][CLI Driver][DB2/AIX64] SQL0668N Operation not allowed for reason code "3&q
db2不记录日志插入记录
你使用not logged initially选项建表也是可以用的。 但是你要先激活not logged initially选项;[@more@]在DB2 CLP中的例子; DB2 CREATE TABLE A ...... NOT LOGGED INITIALLY; DB2 +C //关闭自动提交选项; db2=> ALTER TABLE A ACTIVATE NOT LOGGED INITIALLY; db2=> Insert into a select * from b; db2=> commit; commit之前由于打开了not logged intially选项,后面的Sql语句不计日志; commit之后not logged intially选项同时被关闭; 这个时候最好执行
db2删除已经存储的表存储过程
db2删除已经存储的表存储过程[@more@]drop procedure DROP_IF_EXISTS;create procedure DROP_IF_EXISTS(in tabschame varchar(100),in tabname varchar(100))--存储过程详细说明----存储过程名: DROP_IF_EXISTS----存储过程创建日期:2012/8/15----存储过程创建人:顾原力----目的:查询DB2表是否存在,如果存在就删除----输入参数:tabschame tabname----输出参数:----返回值:--begin--定义变量--declare spname varchar(20) default 'DROP_IF_EXISTS';--定义存储过程的名称--declare v_i integer DEFAULT 0;--定义判断变量--declare t
db2日期时间转换为字符串
db2没有oracle那样方便,不过可以写存储过程来实现:[@more@]create function ts_fmt(TS timestamp, fmt varchar(20)) returns varchar(50) return with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as ( select substr( digits (day(TS)),9), substr( digits (month(TS)),9) , rtrim(char(year(TS))) , substr( digits (hour(TS)),9), substr( digits (minute(TS)),9), substr( digits (second(TS)),9), rtrim(char(microsecond(TS))) from sysibm.sysdummy1 ) select case fmt when 'yyyymmdd' then yyyy || mm || dd when 'y
db2清空表释放空间的快速方法
db2 connect to xxx user xxx using xxxdb2 load from /dev/null of del replace into xxx[@more@]
DB2的两种日志模式及备份和归档的设置
[db2inst1@seagull ~]$ db2sampl Creating database "SAMPLE"... Connecting to database "SAMPLE"... Creating tables and data in schema "DB2INST1"... 'db2sampl' processing complete.[@more@][db2inst1@seagull ~]$ db2 connect to sample Database Connection Information Database server = DB2/LINUX 9.1.0 SQL authorization ID = DB2INST1 Local database alias = SAMPLE [db2inst1@seagull ~]$ db2 get db cfg|grep LOG Catalog cache size (4KB) (CATALOGCACHE
DB2导出表结构、表数据小结
一、DB2命令行导出数据库全库表结构① Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口。命令:DB2CMD② 创建一个data文件夹命令:MKDIR data[@more@]说明:将数据库全表结构的SQL语句导出到data目录下① 进入到data目录命令:CD data② 导出数据库全表结构命令:DB2LOOK –D DATABASE_NAME –E –A – I USER_NAME –W PASSWORD –O DB_DLL.sql说明: DATABASE_NAME —数据库名称 USER_NAME —登录数据库用户名 PASSWORD —登
db2查杀死锁
C:>db2 get snapshot for locks on js 数据库锁定快照 JS是数据名称数据库名称 = JS 数据库路径 = D:DB2NODE0000SQL00001 输入数据库别名 = JS 挂起的锁定 = 5 当前已连接的应用程序 = 1 当前正等待锁定的代理程序数 = 0 快照时间戳记 = 2007-09-04 12:54:33.121513 [@more@]应用程序句柄 = 10 应用程序标识 = *LOCAL.DB2.0
db2查看表空间和增加表空间容量
Db2 connect to xxxDb2 “LIST TABLESPACES SHOW DETAIL”Tablespace ID = 7 Name = TSASNAA Type = Database managed space Contents = All permanent data. Large table space. State = 0x0000 Detailed explanation:[@more@] Normal Total pages = 14800 Useable pages = 14752 Used pages = 1286
DB2报“数据库日志已满”问题解决
用控制中心直接改会比较容易一点,在数据库名称上点右键-->配置-->日志-->日志文件大小、主 日志文件数、辅助日志文件数改大一点。 也可用命令行db2cmd db2 update db cfg for mymakro using LOGFILSIZ 512 --日志文件大小 db2 update db cfg for mymakro using LOGPRIMARY 20 --主日志 db2 update db cfg for mymakro using LOGSECOND5 10 --辅助日志 要将与此数据库的所有连接断开后才会生效。[@more@]执行批处理时,DB2 报数据库的事务日志已满的错误,解决办法 辅助日志文件