Dastage经验总结
2.14 Colum Export Stage的使用
与Column Import Stage相反,将多个类型不同的字段合并成一个string或者binary类型的字段
Individual 2007-10 11 /
64
Dastage经验总结
合并字段后:
2.15 Got ERROR: Cannot find any process number for stages in Job Jobname解决
当我们用Director来ClearUp Resources 或 Clear Status File 时候,会出现上面的错误提示; 原因是:
incorrect permissions settings.
Following correct settings were done to solve the problem: -rwsr-x--x 1 root dstage 1519616 Nov 13 2003 dsdlockd -rwsr-x--x 1 root dstage 1499136 Nov 13 2003 dslictool -rwsr-x--x 1 root dstage 3678208 Nov 13 2003 dstskup
Individual 2007-10 12 /
64
Dastage经验总结
-rwsr-x--x 1 root dstage 1519616 Nov 13 2003 list_readu -rwsr-x--x 1 root dstage 1486848 Nov 13 2003 upduvtrans -rwsr-x--x 1 root dstage 53248 Nov 13 2003 uv
-rwsr-x--x 2 root dstage 3796992 Nov 13 2003 uvbackup -rwsr-x--x 1 root dstage 49152 Nov 13 2003 uvdls
-rwsr-x--x 2 root dstage 3796992 Nov 13 2003 uvrestore -rwsr-x--x 1 root dstage 16384 Nov 13 2003 uvsetacc
Settings for all the above was found to be incorrect. dsadm was the owner instead of root and also permissions were incorrect.
2.16 Unable to create RT_CONFIGnnn
造成这种问题的最普遍的两个原因是:
Is the file system on which your project directory exists full; Do you have write permission to your project directory
2.17 查看job和client的对应的后台进程
$ps -fu dsadm
UID PID PPID C STIME TTY TIME CMD
dsadm 11779 11776 0 09:02:02 ? 0:14 phantom DSD.StageRun loadDataDayAg. loadupdIRCashIVDayAg.xfm 3 0/0
dsadm 1761 1760 2 08:56:27 ? 23:16 phantom DSD.RUN
Batch::MasterControlOrderDetail. 0 ParameterFile=/var/opt/dat 前者是Job stage thread,后者是Job main thread
dsadm 29865 29863 0 Oct 25 ? 2:57 dsapi_slave 8 7 0 (User client database slave)
2.18 强制杀死DS进程 Cd $DSHOME/bin list_readu
ps –ef | grep username
Individual 2007-10 13 /
64
Dastage经验总结
2.19 查看Server Engine的进程
$netstat -a|grep uv or $netstat -a|grep dsrpc
*.uvrpc *.* 0 0 24576 0 LISTEN------Daemon listener ...... ...................ESTABLISHED------Clients attached
$ ipcs ------Shared memory usage
$ ps -ef |grep uni------Engine daemon
root 12970 1 0 Oct 09 ? 0:11 /opt/Ascential/DataStage/unishared/unirpc/unirpcd-----Engine daemon
2.20 查看Server Locks
$ cd `cat /.dshome` $ . ./dsenv
$ bin/uvsh------DSEngine command prompt 上面的操作等同于DataStage
Adminitratot--->Projects(tab)--->Command(button) >DS.TOOLS
Individual 2007-10 14 /
64
Dastage经验总结
Verb \ >LOGTO yourprojectname >DS.TOOLS
Which would you like? ( 1 - 6 ) ?5 Which would you like? ( 1 - 11 ) ?4 >LISTU----Users in DataStage
>LIST.READU----List lock table command 上面操作等同于$DSHOME/bin/list_readu >QUIT
同样,在查看job pid及locks也可以通过datastage director--->Jobs--->Clearup Resources 4,DataStage Filesystem Mount Points $ cd `cat /.dshome` $ df -k .
5,DataStage Engine Daemon $ cd /etc/rc2.d $ more S999ds.rc
2.21 关于UNIX系统下无法启动服务的解决办法 在诊断启动失败的原因之前,先说说如何停止服务。
启停服务的命令大家都知道,要注意的是停止服务之前应先确保无client连接、无端口连接:
1. 使用ps -ef|grep ds 查看client连接情况,如果还有client连接,你又无法查找是谁,
急需重启,可以通过director将所有的连接log off
2. 使用netstat -a|grep dsrpc 查看网路连接状况,确保只有listen状态 这样,将服务停止,会很顺利的重启服务。
当执行完重启命令后,使用ps -ef|grep dsrpcd 查看服务是否启动,如果此服务没有启动,查看:
1. ps查看有无client连接,杀掉进程。
2. netstat查看网络情况,有无FIN_WAIT_2 or CLOSE_WAIT等的tcp状态,如果有,
则使用ndd 命令调整datastage的端口连接, 方法如下(如hp-unix):
查找进程号:ndd -get /dev/tcp tcp_status |grep -e state -e FIN_WAIT_2 断开连接,释放端口:ndd -set /dev/tcp tcp_discon 0x+进程号
Individual 2007-10 15 /
64