Use Ifconfig, specifiy the network card to be modify and the values, it should be effective after the command:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
One can also modify it at the file which specifies the network setting, this method requires a restart of the :
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.202.255
HWADDR=00:09:6B:09:0E:BE
IPADDR=192.168.202.244
NETMASK=255.255.255.0
NETWORK=192.168.202.0
ONBOOT=yes
Change the default gateway that take in effect immediately:
# route add default gw 192.168.0.254
or
#vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=x3451
GATEWAY=192.168.202.254
Ti restart the network card, the command is:
#/etc/init.d/network restart
Sunday, August 21, 2011
Sunday, August 14, 2011
How to move 2Gb or bigger file in a script
#!/bin/sh find /backup/include -printf '%s %p\n' | while read size name; do if [ "$size" -gt 2000000000 ]; then mv -i "$name" /backup/exclude fi done
Tuesday, July 26, 2011
How to load user preference at user login
At Linux/Unix, user can set preference value(e.g. alias, folder and file default color). These values are loaded from a startup file every time when a user logs in or by excecuting the "source {filename}" command.
Startup file are different from one shell to and other. To confirm what the current shell is, simply do the command "echo $shell", and it will be shown on the screen. The startup file usually stored at the default root directory - usually this is the first location where a user hits after the login.
There are always some overly cautious administrator would assign the user to another directory other than the default root directory by executing a cd command at the startup file for the sake of safety. In this case, one must first guess what the the default root directory is by the username and have a search in the /usr/ directory.
Startup file are usually invisible(filenames with "." at the front) to the user, to make it visible, do "ls -a" and edit it with your default editor.
Startup file are different from one shell to and other. To confirm what the current shell is, simply do the command "echo $shell", and it will be shown on the screen. The startup file usually stored at the default root directory - usually this is the first location where a user hits after the login.
There are always some overly cautious administrator would assign the user to another directory other than the default root directory by executing a cd command at the startup file for the sake of safety. In this case, one must first guess what the the default root directory is by the username and have a search in the /usr/ directory.
Startup file are usually invisible(filenames with "." at the front) to the user, to make it visible, do "ls -a" and edit it with your default editor.
Startup file name by Shells:
.login -- csh shell
.tcshrc -- tcsh shell
A sample Startup script:
#set environment
#alias
#alias
alias lla 'ls -lrta'
alias ll 'ls -lrt'
alias ls 'ls -x --color'
alias pwd 'echo $cwd' # This is faster than executing the pwd command
alias rm '/bin/rm -i'
alias checkdate 'ls \\!^ | awk -F. {print $1 $7} | sort -u'
setenv LS_COLORS 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:'
alias ll 'ls -lrt'
alias ls 'ls -x --color'
alias pwd 'echo $cwd' # This is faster than executing the pwd command
alias rm '/bin/rm -i'
alias checkdate 'ls \\!^ | awk -F. {print $1 $7} | sort -u'
setenv LS_COLORS 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:'
Monday, June 27, 2011
SQLPLUS Command using cronjob
Spend three days to figure out how to copy an oracle DB table from a cronjob.
After some intensive surfing for reference online, finally realize what I miss is the declaration.
It is worthy to note down:
For sh:
#!/bin/sh
ORACLE_HOME=/DB/HOME
export ORACLE_HOME
ORACLE_BASE=/DB/HOME
export ORACLE_BASE
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=MYDBID
export ORACLE_SID
NLS_LANG="american_america.we8iso8859p1"
export NLS_LANG
HOME=/HOME/DIR/
PATH=/usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
export PATH
sqlplus -s username/password@MYDBID @${HOME}/script.sql >> ${HOME}/something.txt
For csh:
#!/bin/csh
setenv ORACLE_HOME /DB/HOME
setenv ORACLE_BASE /DB/HOME
setenv ORACLE_OWNER oracle
setenv ORACLE_SID MYDBID
setenv NLS_LANG "american_america.we8iso8859p1"
set HOME = /HOME/DIR/
setenv PATH /usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
sqlplus -s username/password@MYDBID @${HOME}/script.sql >> ${HOME}/something.txt
-hayashi
After some intensive surfing for reference online, finally realize what I miss is the declaration.
It is worthy to note down:
For sh:
#!/bin/sh
ORACLE_HOME=/DB/HOME
export ORACLE_HOME
ORACLE_BASE=/DB/HOME
export ORACLE_BASE
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=MYDBID
export ORACLE_SID
NLS_LANG="american_america.we8iso8859p1"
export NLS_LANG
HOME=/HOME/DIR/
PATH=/usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
export PATH
sqlplus -s username/password@MYDBID @${HOME}/script.sql >> ${HOME}/something.txt
For csh:
#!/bin/csh
setenv ORACLE_HOME /DB/HOME
setenv ORACLE_BASE /DB/HOME
setenv ORACLE_OWNER oracle
setenv ORACLE_SID MYDBID
setenv NLS_LANG "american_america.we8iso8859p1"
set HOME = /HOME/DIR/
setenv PATH /usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
sqlplus -s username/password@MYDBID @${HOME}/script.sql >> ${HOME}/something.txt
-hayashi
Friday, April 8, 2011
know my public IP in Unix
wget -q -O - http://ipchicken.com | grep 203...
Tuesday, February 22, 2011
Tokenizer
Java:
String speech = "Four score and seven years ago"; StringTokenizer st = new StringTokenizer(speech); while (st.hasMoreTokens()) { println(st.nextToken()); }
Thursday, February 17, 2011
Wednesday, February 9, 2011
About chmod...
1. set it readable only for outsiders:
2. Take away all permissions for the group for
3. Open up
Before: | -rwxr-xr-x archive.sh |
Command: | chmod o=r archive.sh |
After: | -rwxr-xr-- archive.sh |
topsecret.inf
Before: | -rw-r----- topsecret.inf |
Command: | chmod g= topsecret.inf |
After: | -rw------- topsecret.inf |
publicity.html
for reading and writing by anyone. Before: | -rw-r--r-- publicity.html |
Command: | chmod og=rw publicity.html |
After: | -rw-rw-rw- publicity.html |
Passwordless SSH connection
Spend the whole day to figure out how it works = ="
This is the scenario where server A wants to establish a connection to B without keying password:
a) Log in Server A with user Id 'userA' and corresponding passowrd.
b) Create the keys in server 'A' with the following command.
/user/local/bin/ssh-keygen –t rsa
c) Copy the public key in id_rsa.pub file under HOME_DIRECTOR/.ssh directory of server 'A'
d) Copy the 'id_rsa.pub' file of server A to 'authorized_keys' file of server B in B's HOME_DIRECTORY/.ssh directory
e) Grant both .ssh/ of server A & B 700 (chmod -R 700 .ssh/)
f) Log into server 'A' with 'userA' user ID
g) Execute the sftp command for server B, eg. sftp userB@Bserver
b) Create the keys in server 'A' with the following command.
/user/local/bin/ssh-keygen –t rsa
c) Copy the public key in id_rsa.pub file under HOME_DIRECTOR/.ssh directory of server 'A'
d) Copy the 'id_rsa.pub' file of server A to 'authorized_keys' file of server B in B's HOME_DIRECTORY/.ssh directory
e) Grant both .ssh/ of server A & B 700 (chmod -R 700 .ssh/)
f) Log into server 'A' with 'userA' user ID
g) Execute the sftp command for server B, eg. sftp userB@Bserver
Tuesday, February 8, 2011
Current time
$ date Tue Dec 19 21:16:03 CST 2000 $ date +"%m" 12 $ date +"%B" December $ date +"%Y-%m-%d" 2000-12-19 $
Monday, February 7, 2011
Simple awk Command to de-deplicate file
$ cat file.txt
DD:12:A
AA:11:N
EE:13:B
AA:11:F
BB:09:K
DD:13:X
#Based on first field. Duplicates are DD,AA
$ awk '!x[$1]++' FS=":" file.txt
DD:12:A
AA:11:N
EE:13:B
BB:09:K
Again,
$ cat file.txt
DD:12:A
AA:11:N
EE:13:B
AA:11:F
BB:09:K
DD:13:X
#This time, based on first and 2nd field.Only duplicate combination is (AA:11)
$ awk '!x[$1,$2]++' FS=":" file.txt
DD:12:A
AA:11:N
EE:13:B
BB:09:K
DD:13:X
DD:12:A
AA:11:N
EE:13:B
AA:11:F
BB:09:K
DD:13:X
#Based on first field. Duplicates are DD,AA
$ awk '!x[$1]++' FS=":" file.txt
DD:12:A
AA:11:N
EE:13:B
BB:09:K
Again,
$ cat file.txt
DD:12:A
AA:11:N
EE:13:B
AA:11:F
BB:09:K
DD:13:X
#This time, based on first and 2nd field.Only duplicate combination is (AA:11)
$ awk '!x[$1,$2]++' FS=":" file.txt
DD:12:A
AA:11:N
EE:13:B
BB:09:K
DD:13:X
Thursday, January 20, 2011
Script that Generates Report from Oracle DB
------------------------------Script---------------------------------
#!/bin/sh
ORACLE_HOME=/opt/oracle
export ORACLE_HOME
ORACLE_BASE=/opt/oracle
export ORACLE_BASE
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=DB_NAME
export ORACLE_SID
NLS_LANG="american_america.we8iso8859p1"
export NLS_LANG
PATH=/usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
export PATH
outfile="/export/home/`date +"%Y%m%d"`.txt"
sqlplus -s username/password@DB_Name @$HOME/gen_report.sql > $outfile
----------------------------SQL File--------------------------------
select USER_ID as A, B, to_char(TIMESTAMP,'hh:mi:ssam') as Time From Table WHERE to_char(TIMESTAMP,'DD-Mon-YY') = (select to_char(sysdate, 'DD-Mon-YY') from dual) AND CONDITION_A = 'true' order by timestamp;
whenever sqlerror exit 99
whenever oserror exit 88
set pages 1000 echo off verify off feedback off
alter session set nls_date_format='YYMMDD HH24:MI:SS';
set line 200
col user_id format a15
col remarks format a50
select USER_ID as A, B, to_char(TIMESTAMP,'DD-Mon-YY hh:mi:ssam') as Time From username.table_name WHERE to_char(TIMESTAMP,'DD-Mon-YY') = (select to_char(sysdate-1, 'DD-Mon-YY') from dual) AND Condition_A = 'true' order by timestamp;
exit
#!/bin/sh
ORACLE_HOME=/opt/oracle
export ORACLE_HOME
ORACLE_BASE=/opt/oracle
export ORACLE_BASE
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=DB_NAME
export ORACLE_SID
NLS_LANG="american_america.we8iso8859p1"
export NLS_LANG
PATH=/usr/bin:/bin:/usr/local/bin:$ORACLE_HOME/bin
export PATH
outfile="/export/home/`date +"%Y%m%d"`.txt"
sqlplus -s username/password@DB_Name @$HOME/gen_report.sql > $outfile
----------------------------SQL File--------------------------------
select USER_ID as A, B, to_char(TIMESTAMP,'hh:mi:ssam') as Time From Table WHERE to_char(TIMESTAMP,'DD-Mon-YY') = (select to_char(sysdate, 'DD-Mon-YY') from dual) AND CONDITION_A = 'true' order by timestamp;
whenever sqlerror exit 99
whenever oserror exit 88
set pages 1000 echo off verify off feedback off
alter session set nls_date_format='YYMMDD HH24:MI:SS';
set line 200
col user_id format a15
col remarks format a50
select USER_ID as A, B, to_char(TIMESTAMP,'DD-Mon-YY hh:mi:ssam') as Time From username.table_name WHERE to_char(TIMESTAMP,'DD-Mon-YY') = (select to_char(sysdate-1, 'DD-Mon-YY') from dual) AND Condition_A = 'true' order by timestamp;
exit
Get Date of Yesterday
----------------------------Ksh Shell Script--------------------------------
#! /usr/bin/ksh
# Get yesterday's date in YYYY-MM-DD format.
# With argument N in range 1..28 gets date N days before.
# Tapani Tarvainen January 2002
# This code is in the public domain.
OFFSET=${1:-1}
case $OFFSET in
*[!0-9]* | ???* | 3? | 29) print -u2 "Invalid input" ; exit 1;;
esac
eval `date "+day=%d; month=%m; year=%Y`
typeset -Z2 day month
typeset -Z4 year
# Subtract offset from day, if it goes below one use 'cal'
# to determine the number of days in the previous month.
day=$((day - OFFSET))
if (( day <= 0 )) ;then
month=$((month - 1))
if (( month == 0 )) ;then
year=$((year - 1))
month=12
fi
set -A days `cal $month $year`
xday=${days[$(( ${#days[*]}-1 ))]}
day=$((xday + day))
fi
print $year-$month-$day
print $month/$day/${year#??}
------------------------Bash Shell Script------------------------------
#!/bin/bash
OFFSET=1;
eval `date "+day=%d; month=%m; year=%Y"`
# Subtract offset from day, if it goes below one use 'cal'
# to determine the number of days in the previous month.
day=`expr $day - $OFFSET`
if [ $day -le 0 ] ;then
month=`expr $month - 1`
if [ $month -eq 0 ] ;then
year=`expr $year - 1`
month=12
fi
set `cal $month $year`
xday=${$#}
day=`expr $xday + $day`
fi
echo $year-$month-$day
------------------------- Linux--------------------------
curdate=`date +%y%m%d -d "yesterday"`
#! /usr/bin/ksh
# Get yesterday's date in YYYY-MM-DD format.
# With argument N in range 1..28 gets date N days before.
# Tapani Tarvainen January 2002
# This code is in the public domain.
OFFSET=${1:-1}
case $OFFSET in
*[!0-9]* | ???* | 3? | 29) print -u2 "Invalid input" ; exit 1;;
esac
eval `date "+day=%d; month=%m; year=%Y`
typeset -Z2 day month
typeset -Z4 year
# Subtract offset from day, if it goes below one use 'cal'
# to determine the number of days in the previous month.
day=$((day - OFFSET))
if (( day <= 0 )) ;then
month=$((month - 1))
if (( month == 0 )) ;then
year=$((year - 1))
month=12
fi
set -A days `cal $month $year`
xday=${days[$(( ${#days[*]}-1 ))]}
day=$((xday + day))
fi
print $year-$month-$day
print $month/$day/${year#??}
------------------------Bash Shell Script------------------------------
#!/bin/bash
OFFSET=1;
eval `date "+day=%d; month=%m; year=%Y"`
# Subtract offset from day, if it goes below one use 'cal'
# to determine the number of days in the previous month.
day=`expr $day - $OFFSET`
if [ $day -le 0 ] ;then
month=`expr $month - 1`
if [ $month -eq 0 ] ;then
year=`expr $year - 1`
month=12
fi
set `cal $month $year`
xday=${$#}
day=`expr $xday + $day`
fi
echo $year-$month-$day
------------------------- Linux--------------------------
curdate=`date +%y%m%d -d "yesterday"`
Write Script with arithmetic Operations
#!/bin/sh
echo "enter two numbers"
read a b
c=$(($a+$b))
echo "$a + $b = $c"
# or
let c="$a+$b"
# or
c=`expr $a + 1`
echo "$a + $b is $c"
echo "enter two numbers"
read a b
c=$(($a+$b))
echo "$a + $b = $c"
# or
let c="$a+$b"
# or
c=`expr $a + 1`
echo "$a + $b is $c"
Useful monitoring command of Unix/Linux Vol.2
Change ownership of a directory: chown -Rv username somedir
Change usergroup or a directory: chgrp -Rv usergroup somedir
To set environment variable: setenv
To load the control file: source <filename> (Shell csh only)
To enable sqlplus/Oracle at the first run:
setenv ORACLE_HOME /opt/app/oracle/product/10.2.0/Db_1
setenv ORACLE_SID ASMDB003
setenv ORACLE_TRACE T
setenv ORAENV_ASK NO
setenv NLS_LANG American_America.we8iso8859p1
setenv LD_LIBRARY_PATH /usr/lib:/usr/ucblib:/usr/local/lib:/opt/SUNWspro/lib:$OR
ACLE_HOME/lib:$ORACLE_HOME/precomp/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/jdbc/
lib:$ORACLE_HOME/dbjava/lib:/user/sfw/lib
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/cc
s/bin:/opt/SUNWspro/bin:${ORACLE_HOME}/bin
setenv PATH ${PATH}:${HOME}/bin
Change usergroup or a directory: chgrp -Rv usergroup somedir
To set environment variable: setenv
To load the control file: source <filename> (Shell csh only)
To enable sqlplus/Oracle at the first run:
setenv ORACLE_HOME /opt/app/oracle/product/10.2.0/Db_1
setenv ORACLE_SID ASMDB003
setenv ORACLE_TRACE T
setenv ORAENV_ASK NO
setenv NLS_LANG American_America.we8iso8859p1
setenv LD_LIBRARY_PATH /usr/lib:/usr/ucblib:/usr/local/lib:/opt/SUNWspro/lib:$OR
ACLE_HOME/lib:$ORACLE_HOME/precomp/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/jdbc/
lib:$ORACLE_HOME/dbjava/lib:/user/sfw/lib
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/cc
s/bin:/opt/SUNWspro/bin:${ORACLE_HOME}/bin
setenv PATH ${PATH}:${HOME}/bin
Difference on Changing Java SDK version between Solaris and Linux
Change Java SDK version
1. go to bin folder
/bin/ -> ls -l
2. change the symbolic link to point to the new versionln -s /usr/jdk/jdk1.6.0_20/bin/ControlPanel ControlPanel
ln -s /usr/jdk/jdk1.6.0_20/bin/HtmlConverter HtmlConverter
ln -s /usr/jdk/jdk1.6.0_20/bin/appletviewer appletviewer
ln -s /usr/jdk/jdk1.6.0_20/bin/apt apt
ln -s /usr/jdk/jdk1.6.0_20/bin/extcheck extcheck
ln -s /usr/jdk/jdk1.6.0_20/bin/idlj idlj
ln -s /usr/jdk/jdk1.6.0_20/bin/jar jar
ln -s /usr/jdk/jdk1.6.0_20/bin/jarsigner jarsigner
ln -s /usr/jdk/jdk1.6.0_20/bin/java java
ln -s /usr/jdk/jdk1.6.0_20/bin/javac javac
ln -s /usr/jdk/jdk1.6.0_20/bin/javadoc javadoc
ln -s /usr/jdk/jdk1.6.0_20/bin/javah javah
ln -s /usr/jdk/jdk1.6.0_20/bin/javap javap
ln -s /usr/jdk/jdk1.6.0_20/bin/javaws javaws
ln -s /usr/jdk/jdk1.6.0_20/bin/jdb jdb
ln -s /usr/jdk/jdk1.6.0_20/bin/keytool keytool
ln -s /usr/jdk/jdk1.6.0_20/bin/native2ascii native2ascii
ln -s /usr/jdk/jdk1.6.0_20/bin/orbd orbd
ln -s /usr/jdk/jdk1.6.0_20/bin/policytool policytool
ln -s /usr/jdk/jdk1.6.0_20/bin/rmic rmic
ln -s /usr/jdk/jdk1.6.0_20/bin/rmid rmid
ln -s /usr/jdk/jdk1.6.0_20/bin/rmiregistry rmiregistry
ln -s /usr/jdk/jdk1.6.0_20/bin/serialver serialver
ln -s /usr/jdk/jdk1.6.0_20/bin/servertool servertool
ln -s /usr/jdk/jdk1.6.0_20/bin/tnameserv tnameserv
For Linux used only:
Change Java SDK version
1. backup old java file
2. change the symbolic link to point to new version
e.g.
mv java java.bk
ln -s /usr/local/jdk1.6.0_20/bin/java java
mv javac javac.bk
ln -s /usr/local/jdk1.6.0_20/bin/javac javac
mv javadoc javadoc.bk
ln -s /usr/local/jdk1.6.0_20/bin/javadoc javadoc
mv javah javah.bk
ln -s /usr/local/jdk1.6.0_20/bin/javah javah
1. go to bin folder
/bin/ -> ls -l
2. change the symbolic link to point to the new versionln -s /usr/jdk/jdk1.6.0_20/bin/ControlPanel ControlPanel
ln -s /usr/jdk/jdk1.6.0_20/bin/HtmlConverter HtmlConverter
ln -s /usr/jdk/jdk1.6.0_20/bin/appletviewer appletviewer
ln -s /usr/jdk/jdk1.6.0_20/bin/apt apt
ln -s /usr/jdk/jdk1.6.0_20/bin/extcheck extcheck
ln -s /usr/jdk/jdk1.6.0_20/bin/idlj idlj
ln -s /usr/jdk/jdk1.6.0_20/bin/jar jar
ln -s /usr/jdk/jdk1.6.0_20/bin/jarsigner jarsigner
ln -s /usr/jdk/jdk1.6.0_20/bin/java java
ln -s /usr/jdk/jdk1.6.0_20/bin/javac javac
ln -s /usr/jdk/jdk1.6.0_20/bin/javadoc javadoc
ln -s /usr/jdk/jdk1.6.0_20/bin/javah javah
ln -s /usr/jdk/jdk1.6.0_20/bin/javap javap
ln -s /usr/jdk/jdk1.6.0_20/bin/javaws javaws
ln -s /usr/jdk/jdk1.6.0_20/bin/jdb jdb
ln -s /usr/jdk/jdk1.6.0_20/bin/keytool keytool
ln -s /usr/jdk/jdk1.6.0_20/bin/native2ascii native2ascii
ln -s /usr/jdk/jdk1.6.0_20/bin/orbd orbd
ln -s /usr/jdk/jdk1.6.0_20/bin/policytool policytool
ln -s /usr/jdk/jdk1.6.0_20/bin/rmic rmic
ln -s /usr/jdk/jdk1.6.0_20/bin/rmid rmid
ln -s /usr/jdk/jdk1.6.0_20/bin/rmiregistry rmiregistry
ln -s /usr/jdk/jdk1.6.0_20/bin/serialver serialver
ln -s /usr/jdk/jdk1.6.0_20/bin/servertool servertool
ln -s /usr/jdk/jdk1.6.0_20/bin/tnameserv tnameserv
For Linux used only:
Change Java SDK version
1. backup old java file
2. change the symbolic link to point to new version
e.g.
mv java java.bk
ln -s /usr/local/jdk1.6.0_20/bin/java java
mv javac javac.bk
ln -s /usr/local/jdk1.6.0_20/bin/javac javac
mv javadoc javadoc.bk
ln -s /usr/local/jdk1.6.0_20/bin/javadoc javadoc
mv javah javah.bk
ln -s /usr/local/jdk1.6.0_20/bin/javah javah
Useful monitoring command of Unix/Linux Vol.1
For Solaris Only:
check number of core: prtdiag -v
create new user: useradd jsmith
get user information: finger jsmith
set password: passwd jsmith
set default home directory: usermod -d /path/to/new/homedir/ username
set default Shell: change permenently the SHELL at etc/passwd
check Solaris release: cat /etc/release
Check current shell: echo $SHELL
Check shell version: /bin/bash --version
check number of core: prtdiag -v
create new user: useradd jsmith
get user information: finger jsmith
set password: passwd jsmith
set default home directory: usermod -d /path/to/new/homedir/ username
set default Shell: change permenently the SHELL at etc/passwd
check Solaris release: cat /etc/release
Check current shell: echo $SHELL
Check shell version: /bin/bash --version
Frustrated Pointer
// my first pointer
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int * mypointer;
mypointer = &firstvalue;
*mypointer = 10;
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << endl;
cout << "secondvalue is " << secondvalue << endl;
return 0;
}
firstvalue is 10
secondvalue is 20
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int * mypointer;
mypointer = &firstvalue;
*mypointer = 10;
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << endl;
cout << "secondvalue is " << secondvalue << endl;
return 0;
}
firstvalue is 10
secondvalue is 20
Stored ProC: Insert Statement
EXEC SQL AT DB_NAME Insert into EMSD_SCHE(JOB_ID, SUBMIT_DATE, MANUAL_SUB, STAFF, ARRIVAL, STATUS)
VALUES(:in_id, systimestamp, :in_sub, :in_staff, :in_man, :in_stat);
EXEC SQL AT DB_NAME COMMIT;
Remember to Commit!
VALUES(:in_id, systimestamp, :in_sub, :in_staff, :in_man, :in_stat);
EXEC SQL AT DB_NAME COMMIT;
Remember to Commit!
Stored ProC: Select Statement
//Select statement:
varchar2 in_id[20];
int Poster::sendWLReq(char *arg_access_code, char *out_msg)
{
char tmp_id[160];
strncpy( tmp_id, arg_access_code, sizeof(tmp_id) - 1);
tmp_id[sizeof(tmp_id) - 1] = '\0';
EXEC SQL WHENEVER NOTFOUND goto notFound;
memset((char*)in_id.arr, NULL, 15);
strcpy((char*)in_id.arr, tmp_id);
in_id.len=strlen(tmp_id);
in_id.arr[in_id.len]='\0';
cout << "arg_brand->" << (char*)in_id.arr << "<-arg_brand" << endl;
EXEC SQL AT DB_NAME
select STAFF into :out_msg_cont
from STAFF_LIST
where MSISDN = :in_id;
cout << "sql error code " << sqlca.sqlcode << " " << sqlca.sqlerrm.sqlerrmc << endl;
strcpy(out_msg, (char*)out_msg_cont.arr);
return 0;
notFound:
EXEC SQL WHENEVER NOTFOUND CONTINUE;
return 1;
}
This C function can be extended to any other oracle statement.
varchar2 in_id[20];
int Poster::sendWLReq(char *arg_access_code, char *out_msg)
{
char tmp_id[160];
strncpy( tmp_id, arg_access_code, sizeof(tmp_id) - 1);
tmp_id[sizeof(tmp_id) - 1] = '\0';
EXEC SQL WHENEVER NOTFOUND goto notFound;
memset((char*)in_id.arr, NULL, 15);
strcpy((char*)in_id.arr, tmp_id);
in_id.len=strlen(tmp_id);
in_id.arr[in_id.len]='\0';
cout << "arg_brand->" << (char*)in_id.arr << "<-arg_brand" << endl;
EXEC SQL AT DB_NAME
select STAFF into :out_msg_cont
from STAFF_LIST
where MSISDN = :in_id;
cout << "sql error code " << sqlca.sqlcode << " " << sqlca.sqlerrm.sqlerrmc << endl;
strcpy(out_msg, (char*)out_msg_cont.arr);
return 0;
notFound:
EXEC SQL WHENEVER NOTFOUND CONTINUE;
return 1;
}
This C function can be extended to any other oracle statement.
Spool from an Oracle DB as .CSV file
set echo off
set feedback off
set pagesize 0
Spool backup.csv;
Select cellno||','||calldate||','||answertime from temp;
Spool off;
set feedback off
set pagesize 0
Spool backup.csv;
Select cellno||','||calldate||','||answertime from temp;
Spool off;
C Style of Substring
#include <string.h> /* for strncpy() */
#include <stdio.h> /* for printf() */
int
main(void)
{
char msg[] = "Hello World!";
char submsg[10]; /* Must be long enough */
/* Copy the substring "o W" from msg to submsg */
strncpy(submsg, &msg[4], 3);
/* Terminate the resulting string since strncpy() doesn't */
submsg[3] = '\0';
printf("msg[] = '%s'\nsubmsg[] = '%s'\n", msg, submsg);
return 0;
}
#include <stdio.h> /* for printf() */
int
main(void)
{
char msg[] = "Hello World!";
char submsg[10]; /* Must be long enough */
/* Copy the substring "o W" from msg to submsg */
strncpy(submsg, &msg[4], 3);
/* Terminate the resulting string since strncpy() doesn't */
submsg[3] = '\0';
printf("msg[] = '%s'\nsubmsg[] = '%s'\n", msg, submsg);
return 0;
}
Subscribe to:
Posts (Atom)