linux下安装db2
--创建组 groupadd -g 999 db2iadm1 groupadd -g 998 db2fadm1 groupadd -g 997 dasadm1 --创建用户 useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1 useradd -u 1003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1 useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1 --修改linux内核参数 # ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 32768 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL 为总内存的90% min s
db2diag应用
经常用db2diag -time查看日志时,会发现,db2diag.log文件越来越大,所耗时间也越来越来越长,如何处理db2diag.log文件呢?其实这个文件可以直接删除,db2会重新生成一个。 linux下默认路径:$DB2HOME/sqllib/db2dump/db2diag.log window下默认路径:C:Program FilesIBMSQLLIBDB2db2diag.log[@more@]
websphere中web.xml配置
websphere中的web.xml要求比其它系统更严格,一般在weblogic部署成功的不一定能保证在websphere也成功。它必须以一定顺序保存,才能成功部署。以下是示例<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app><display-name>bi</display-name> <filter><filter-name>Filter_ChangeContentType2GBK</filter-name><
datastage与db2小结
CREATE DATABASE std104 AUTOMATIC STORAGE YES USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 16384;--无日志清空间alter table [ORI_AAC01] activate not logged initially with empty table;--设置codepagedb2set db2codepage=1386 -I db2inst1--备份db2move db100 export -sn u2,drm_u2,db2admin -u baseinfo -p baseinfodb2move db104 import -u baseinfo -p baseinfo--导出baseinfo.sql后,注意修改CONNECT TO STD104 USER baseinfo中的数据库名称--注意修改结束符,否则导出函数与存储过程不能正确导入db2look -
[IBM][CLI Driver][DB2/NT] SQL0302N
近日在做datastage时,从sql server 中抽取到db2在linux上时好使,但迁到window上却一直报ori_Exp_v_VT1..Transformer_3: At row 13683, link "DSLink4"DSTAGE-DB2CLI-0103`:`Row rejected.DBMS.CODE=-302, SQLSTATE=22001, [IBM][CLI Driver][DB2/NT] SQL0302N The value of a host variable in the EXECUTE or OPEN statement is too large for its corresponding use. SQLSTATE=22001相当郁闷。查看db2在linux上配置,字符集为gbk codepage为1386db2在window上的配置,字符集为utf-8 codepage为1208再查,发现一个中文在
not in的优化
使用过oracle的人都知道,not in 不能有效利用索引,所以效率一直是开发人员所担心的。那如何来优化not in呢?(not exists,except 及左关联)其实在oracle中可以用minus,在db2里用except实现这个需求。 具体实现思路是 1 假设一个sql是 select * from taba a where a.cola not in ( select cola from tabb ) 已在taba与tabb上建立索引。 2 select distinct a.* from taba a, ( select cola from taba minus --在db2中用except替换 select cola from tabb ) b --构造一个不在tabb中的列集合 where a.cola=b.cola 3 minus与except的实现由集合
linux下datastage问题
1 找不到.so文件 vi/etc/ld.so.conf#编辑库文件配置文件,添加一行.so文件目录 /sbin/ldconfig#使得对刚才的配置生效 2 job调度 datastage只提供小于等于月的调度,对于以季度或年为单位的调度只能通过dsjob -run与cron结合使用。 dsjob -run -mode NORMAL projectName jobName cron调度:编辑如下文件/etc/crontab /etc/crontab 文件中的每一行都代表一项任务,它的格式是: minute hour day month dayofweek command hour — 小时,从 0 到 23 之间的任何整数 day — 日期,从 1 到 31 之间的任何
datastage脚本调度
转自:http://www.blogjava.net/xichengmylove/default.html?page=2调用dsjob的shell script #!/bin/ksh ####### ################################################################################ ####### ####### FILE: MasterControl.ksh ####### ####### DESCRIPTION: Starts a DataStage MasterControl type job passing ####### all runtime parameter values ####### ####### ####### Date Version Developer Description ####### ---------- --------- -------------- ----------------------------
linux下db2建库脚本pagesize>4k及常用监控
CREATE DATABASE std100 AUTOMATIC STORAGE YES USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 16384;[@more@]--无日志清空表alter table ORI_AAC01 activate not logged initially with empty table;以下语句相当于oracle中的truncate'IMPORT FROM /dev/null OF DEL REPLACE INTO '||full_name; --创建统计表信息脚本 db2 connect to db db2 "select 'RUNSTATS ON TABLE BASEINFO.'||TABNAME||';' as aaa FROM SYSCAT.TABLES WHERE TABSCHEMA='BASEINFO'" >d:runstats2.sql db2 "selec
connect by的妙用
connect by的妙用 1 构造任意个数的集合(比如100个) select rownum rn from dual connect by rownum <=1002 构造全年日期select to_date('2005-01-01','yyyy-mm-dd')+rownum-1from dualconnect by rownum<=365[@more@]db2中有无类似的函数呢,可也用如下变通:1with temptb(level) as( select 1 level from sysibm.sysdummy1 union all select b.level+1 from temptb b )select * from temptb fetch first 100 rows only ;2(这个语句需要源表的行数大于366,其实可以用上面的方法替换)select date('2005-01-01')+(rn -1 ) daysfrom (
js 文本框插入
js 文本框插入 function insertAtCaret(textbox,text) { textbox.focus(); document.selection.createRange().text = text; } function inputCalc(str){ addText(document.getElementById("CalcuteText"),str); } /* function addText2(oTextarea,strText){ oTextarea.focus(); document.selection.createRange().text+=strText; oTextarea.blur(); } */ //在光标位置插入文本 function addText(oTextarea,strText){ //clipboardData.setData("text",strText
datastage8 linux中文安装
问题描述: Failed to connect to DataStage server: DSSERVER, project: standard Invalid UniVerse mark characters have been sent from the server. Code page 936 may not support these characters, or you may need to install DataStage NLS. 解决方法:在默认情况下,linux的字符集为zh_CN.UTF-8, datastage8.0不支持。它仅支持zh_CN.GB2312. 所以需要修改系统编码。方法:修改.bashrc文件,添加如下内容: LANG=zh_CN.GB2312 export LANG [@more@]另,ibm datastage已知问题可在以下网页访问: http://publib.boulder.ibm.com/i
db2 常见监控
--如何能监控DB2 数据库日志的利用率 SELECT LOG_UTILIZATION_PERCENT FROM SYSIBMADM.LOG_UTILIZATION AS LOG_UTILIZATION --查看执行时间最长的 5 个动态 SQL 语句 select AVERAGE_EXECUTION_TIME_S , SUBSTR(STMT_TEXT,1,200) AS STMT_TEXT from SYSIBMADM.TOP_DYNAMIC_SQL order by AVERAGE_EXECUTION_TIME_S desc fetch first 5 rows only; --查看执行频率最高的 5 个动态 SQL 语句: select NUM_EXECUTIONS, AVERAGE_EXECUTION_TIME_S, STMT_SORTS, SORTS_PER_EXECUTION, SUBSTR(STMT_TEXT,1,200) AS STMT_TEXT from SYSIBMADM.TOP_
db2常见问题
编目节点: catalog tcpip node nodename remote ip server 50000 编目数据库: catalog db dbname at node nodename 显示节点: list node directory 显示数据库: list db directory 连接数据库 connect to dbname user username using password db2归档 db2 update db cfg using LOGARCHMETH1 DISK:d:archlog DISK:后面不要空格 如果db2处在backup pending状态,如果不备份整个库,解决方法 db2dart /chst /WHAT DBBP off 数据库导出db2move dbname export -u username -p password 出现警告错误如sql3107,怎么解决一般是字符集问题,可
sql查询视图列备注
Select A.COLUMN_NAME COLUMN_NAME, B.COMMENTS, decode(A.DATA_TYPE,'DATE',A.DATA_TYPE, 'NUMBER',decode(A.DATA_SCALE,0,A.DATA_TYPE||'('||a.DATA_PRECISION||')', A.DATA_TYPE||'('||a.DATA_PRECISION||','||A.DATA_SCALE||')'), A.DATA_TYPE||'('||a.DATA_LENGTH||')' ) DATA_TYPE From USER_TAB_COLS A , ( Select * From (Select a.*,row_number() over(partition By column_name order by comments) rn From( Select Distinct COLUMN_NAME,COMMENTS From USER_COL_COMMENTS Order By COLUMN_NAME DESC,COMMENTS Nulls Last ) a )
查询对象是否被锁
--查询对象是否被锁 SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK', NULL) LOCK_LEVEL, o.owner,o.object_name,o.object_type, s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser FROM v$session s,v$lock l,dba_objects o WHERE l.sid = s.sid AND l.id1 = o.object_id(+) AND s.username is NOT Null [@more@]
sql_util_消耗资源
Select * From v$sqlarea Order By cpu_time Desc --最耗资源 SELECT SQL_TEXT,hash_value, executions, buffer_gets, disk_reads, parse_calls FROM V$SQLAREA WHERE buffer_gets > 10000000 OR disk_reads > 1000000 ORDER BY buffer_gets + 100 * disk_reads DESC; --其中包括 Database Wait Time Ratio(数据库等待时间比) --和 Database CPU Time Ratio(数据库 CPU 时间比)这两个时间度量 select METRIC_NAME, VALUE from SYS.V_$SYSMETRIC where METRIC_NAME IN ('Database CPU Time Ratio', 'Database Wait Time Ratio')
oracle中利用数据字典生成代码
--注意表名用相应表名去替换下面的表名都为oper_log --fb/vo 属性 column properties format a256; select 'private String '||LOWER(A.COLUMN_NAME)||';//'||B.COMMENTS properties FROM user_tab_cols A,user_col_comments B WHERE A.TABLE_NAME=B.TABLE_NAME AND LOWER(A.TABLE_NAME)='oper_log' and a.COLUMN_NAME=b.COLUMN_NAME ; --生成sql语句 --注意Sys_Connect_By_Path参数的字段中有','时不能用','去分隔,改为用'@@',然后再替换为',' --用Sys_Connect_By_Path(COLUMN_NAME, ',')时将行转换成列时,每一行都加'
aix系统备份
aix系统备份 最近,在将aix系统下weblogic一个工程拖到本地备份,用备份工具拖了几个小时,竟然还没有下完,文件本身不是很大,但文件多,花在网络连接与往返的时间太多,后面想了下,可以先用tar命令打包,然后拖放到本地。 tar cf name.tar dirname 然后再在本地解压,这样可以节约很多时间,整个操作十几分钟可以搞定。 [@more@]
java ftpclient问题
java ftpclient问题(sun.net.ftp.FtpClient) 1 sun.net.ftp.FtpProtocolException: PORT :501 PORT not allowed after EPSV ALL, active mode off 很多ftp服务器传输时采用被动模式,可用命令ftpClient.sendServer("PASV")解决。后面不要int reply = ftpClient.readServerResponse();否则问题依旧。 2 java.net.SocketException: Connection reset 导致此问题的出现是因为下载还没结束,就提前关闭客户端。也可以这样理解:在客户端与服务端建立了一个流通道,这个流通道一端进,一端出,在一端持续进的时候,你把出的一端给关