1. Association(关联), 最质朴的关系,A类有一个B类成员变量,就是Assocication
2. Aggregation(聚合),Association的一种,无环的Association就是Aggregation
3. Composition(合成),Aggregation的一种,比聚合强,不能共享的Aggregation就是Composition
4. Dependency(依赖),一般而言,局部变量,方法的参变量,静态方法调用所产生的对其他类的引用成为依赖
2009年1月26日星期一
2009年1月22日星期四
Eclipse之alt+/失灵
在 Window - Preferences - General - Keys 内
1、把word completion的快捷键设置alt+C
2、把Content Assist的快捷键由ctrl+space改成alt+/
1、把word completion的快捷键设置alt+C
2、把Content Assist的快捷键由ctrl+space改成alt+/
DB2之FETCH FIRST
注意是FETCH FIRST不是FETCH
相当于SQL Server的top语句,
SELECT * FROM TABLE1 FETCH FIRST 100 ROWS ONLY
相当于SQL Server的top语句,
SELECT * FROM TABLE1 FETCH FIRST 100 ROWS ONLY
DB2之Table Volatile
当一个表在执行期变化很大时,就是说一会儿空一会儿满,可以考虑设置volatile来优化它,这样优化器会通过索引来扫描它从而优化性能
ALTER TABLEVOLATILE CARDINALITY
2009年1月21日星期三
Eclipse之Console中的乱码
在Run...的“common” 选项卡(Tab)中设置
里面有一项叫做Console Encoding,默认是设置成项目的Encoding,如果我们的控制台输出的字符是UTF-8编码的话,就需要在这里UTF-8;同理,可以根据实际情况改成其他的编码方式。
我设成UTF-8就能显示正确了
里面有一项叫做Console Encoding,默认是设置成项目的Encoding,如果我们的控制台输出的字符是UTF-8编码的话,就需要在这里UTF-8;同理,可以根据实际情况改成其他的编码方式。
我设成UTF-8就能显示正确了
2009年1月20日星期二
Linux之SVN
今天只是勉强装上了SVN,但是并没有连通,哎,下次再来
原帖:http://www.cnblogs.com/lansh/archive/2008/02/14/1068999.html
按原帖安装会遇到点麻烦,下面是我修正过的
1. svn服务器安装
操作系统: Redhat Linux AS4
安装包获取:
下载http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz和http: //subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.gz。
编译:
以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tar xfvz subversion-1.4.0.tar.gz
tar xfvz subversion-deps-1.4.0.tar.gz
cd subversion-1.4.0
./configure --prefix=/opt/svn --without-berkeley-db –with-zlib
(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)
make clean
make
make install
make时候可能会出错,需要到更改 neon/src/Makefile中的
CFLAGS = -fPIC -g -02
vi /etc/profile,在/etc/profile最后加入:
PATH=$PATH:/opt/svn/bin
export PATH
测试:
svnserve –version
如果显示如下,安装成功:
svnserve, version 1.4.0 (r21228)
compiled Oct 12 2006, 10:18:56
Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
2. svn配置
建立版本库目录,可建多个:
mkdir -p /opt/svndata/repos1
mkdir -p /opt/svndata/repos2
建立版本库:
svnadmin create /opt/svndata/repos1
svnadmin create /opt/svndata/repos2
修改版本库配置文件:
版本库1:
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos1
版本库2:
vi /opt/svndata/repos2/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos2
即除realm = repos2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。
配置允许访问的用户:
vi /opt/svn/conf/pwd.conf
为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。
注意:对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan = password
king = hello
配置用户访问权限:
vi /opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/occi, ,表示对版本库2中的occi项目设置权限
repos2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/occi/aaa]
king = rw
[repos2:/pass]
king =
删除无用文件:
rm /opt/svndata/repos1/conf/authz
rm /opt/svndata/repos1/conf/passwd
rm /opt/svndata/repos2/conf/authz
rm /opt/svndata/repos2/conf/passwd
3. 启动svn
建立启动svn的用户:
useradd svn
passwd svn
根据提示为用户svn设置密码
允许用户svn访问版本库:
chown –R svn:svn /opt/svndata
chown –R svn:svn /opt/data
启动svn:
su - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
-r /opt/svndata指定根目录是/opt/svndata
检查:
ps –ef|grep svnserve
如果显示如下,即为启动成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d --listen-port 9999 -r /opt/svndata
4. 以服务方式启动svn
在文件/etc/services
原帖:http://www.cnblogs.com/lansh/archive/2008/02/14/1068999.html
按原帖安装会遇到点麻烦,下面是我修正过的
1. svn服务器安装
操作系统: Redhat Linux AS4
安装包获取:
下载http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz和http: //subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.gz。
编译:
以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tar xfvz subversion-1.4.0.tar.gz
tar xfvz subversion-deps-1.4.0.tar.gz
cd subversion-1.4.0
./configure --prefix=/opt/svn --without-berkeley-db –with-zlib
(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)
make clean
make
make install
make时候可能会出错,需要到更改 neon/src/Makefile中的
CFLAGS = -fPIC -g -02
vi /etc/profile,在/etc/profile最后加入:
PATH=$PATH:/opt/svn/bin
export PATH
测试:
svnserve –version
如果显示如下,安装成功:
svnserve, version 1.4.0 (r21228)
compiled Oct 12 2006, 10:18:56
Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
2. svn配置
建立版本库目录,可建多个:
mkdir -p /opt/svndata/repos1
mkdir -p /opt/svndata/repos2
建立版本库:
svnadmin create /opt/svndata/repos1
svnadmin create /opt/svndata/repos2
修改版本库配置文件:
版本库1:
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos1
版本库2:
vi /opt/svndata/repos2/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos2
即除realm = repos2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。
配置允许访问的用户:
vi /opt/svn/conf/pwd.conf
为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。
注意:对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan = password
king = hello
配置用户访问权限:
vi /opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/occi, ,表示对版本库2中的occi项目设置权限
repos2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/occi/aaa]
king = rw
[repos2:/pass]
king =
删除无用文件:
rm /opt/svndata/repos1/conf/authz
rm /opt/svndata/repos1/conf/passwd
rm /opt/svndata/repos2/conf/authz
rm /opt/svndata/repos2/conf/passwd
3. 启动svn
建立启动svn的用户:
useradd svn
passwd svn
根据提示为用户svn设置密码
允许用户svn访问版本库:
chown –R svn:svn /opt/svndata
chown –R svn:svn /opt/data
启动svn:
su - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
-r /opt/svndata指定根目录是/opt/svndata
检查:
ps –ef|grep svnserve
如果显示如下,即为启动成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d --listen-port 9999 -r /opt/svndata
4. 以服务方式启动svn
在文件/etc/services
添加一行:
svn 3690/tcp # SVN
在文件夹/etc/xinetd.d/创建文件svn,内容为
service vnc
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/bin/svnserve
server_args = -i -r /opt/svndata
}
service vnc
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/bin/svnserve
server_args = -i -r /opt/svndata
}
运行/etc/rc.d/init.d/xinetd restart
使上面的配置生效。
Linux之CVS
今天装SVN失败,还是装了CVS
原帖:http://www.chinaitpower.com/A/2003-12-22/66055.html
下面只摘录出安装过程:
首先确保系统安装有cvs:
[root@mail xinetd.d]# rpm -qa|grep cvs
cvs-1.11.1p1-3
如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包。
一 创建CVS属主用户:
# useradd -d /cvsroot cvs
# chmod 771 /cv sroot
二、建立CVS仓库(初始化cvs)
# su cvs
$ cvs -d /cvsroot init
$exit
#
四、启动cvs服务器
在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:
# default: on
# description: The cvs server sessions;
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24
}
其中only_from是用来限制访问的,可以根据实际情况不要或者修改。
修改该文件权限:
# chmod 644 cvspserver
然后重新启动xinetd:
# /etc/rc.d/init.d/xined restart
然后察看cvs服务器是否已经运行:
[root@mail xinetd.d]# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 7866/xinetd
则说明cvs服务器已经运行。
五、创建用来访问cvs的用户
前面创建的cvs用户是cvs仓库管理用户,而为了让用户访问则还需要一个访问用户:
# useradd cvspub
# usemod -G cvs cvspub
这里添加了一个用户cvspub,并且将该用户添加到cvs组中。
原帖:http://www.chinaitpower.com/A/2003-12-22/66055.html
下面只摘录出安装过程:
首先确保系统安装有cvs:
[root@mail xinetd.d]# rpm -qa|grep cvs
cvs-1.11.1p1-3
如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包。
一 创建CVS属主用户:
# useradd -d /cvsroot cvs
# chmod 771 /cv sroot
二、建立CVS仓库(初始化cvs)
# su cvs
$ cvs -d /cvsroot init
$exit
#
四、启动cvs服务器
在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:
# default: on
# description: The cvs server sessions;
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24
}
其中only_from是用来限制访问的,可以根据实际情况不要或者修改。
修改该文件权限:
# chmod 644 cvspserver
然后重新启动xinetd:
# /etc/rc.d/init.d/xined restart
然后察看cvs服务器是否已经运行:
[root@mail xinetd.d]# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 7866/xinetd
则说明cvs服务器已经运行。
五、创建用来访问cvs的用户
前面创建的cvs用户是cvs仓库管理用户,而为了让用户访问则还需要一个访问用户:
# useradd cvspub
# usemod -G cvs cvspub
这里添加了一个用户cvspub,并且将该用户添加到cvs组中。
2009年1月17日星期六
Linux之权限
参考:http://linux.chinaitlab.com/safe/38178.html
1. 每个文件属于一个用户和一个组, 这是 Linux 中权限模型的核心
2. ls -l 完整列出文件或者目录信息,可以看到下面的
drwxr-xr-x 6 root root 4096 2008-12-25 22:51 windows
2.1 首字符d表示目录, 其他可能的首字符:-常规文件, l符号链接, c字符专门设备文件, b块专门设备文件, p先进先出, s套接字
2.2 第一个3元组rwx表示文件所有者有读写执行的权限
第二个3元组r-x表示文件所有组有读和执行的权限
第二个3元组r-x表示文件其他用户有读和执行的权限
2.3 6代表链接数
2.4 root root表示所有者为root, 所有组为root
3. 改变文件属性和权限的3个命令
chown, 改所有者,只有root可以用
chgrp, 改所有组
chmod, 改权限
4. 数字模式
1. 每个文件属于一个用户和一个组, 这是 Linux 中权限模型的核心
2. ls -l 完整列出文件或者目录信息,可以看到下面的
drwxr-xr-x 6 root root 4096 2008-12-25 22:51 windows
2.1 首字符d表示目录, 其他可能的首字符:-常规文件, l符号链接, c字符专门设备文件, b块专门设备文件, p先进先出, s套接字
2.2 第一个3元组rwx表示文件所有者有读写执行的权限
第二个3元组r-x表示文件所有组有读和执行的权限
第二个3元组r-x表示文件其他用户有读和执行的权限
2.3 6代表链接数
2.4 root root表示所有者为root, 所有组为root
3. 改变文件属性和权限的3个命令
chown, 改所有者,只有root可以用
chgrp, 改所有组
chmod, 改权限
4. 数字模式
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0
所以777 == rwxrwxrwx
0777这种4位权限的第一位数用来设置 suid sgid sticky位, 他的模式数字 on on on 7 on on off 6 on off on 5 on off off 4 off on on 3 off on off 2 off off on 1 off off off 0
5. umask
当一个进程创建一个文件时,会给他一个默认参考权限,他就是umask,
umask也是个命令来设置umask, umask 0077表示对此文件关闭0077权限,将确保组和其他用户对于新创建的文件绝对没有任何权限
6. suid/sgid
当设置了一个可执行程序的“suid”这一位时,它将代表可执行文件的所有者运行,而不是代表启动程序的人运行
看考suid/sgid的介绍
2009年1月16日星期五
DB2之Special registers
Special register类似系统方法,可以在sql直接用,最知名的莫过于CURRENT TIMESTAMP,CURRENT DATE了,所以到文档里去找查询系统时间的系统方法是找不到的。
所有Special registers的定义:http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0008404.htm
所有Special registers的定义:http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0008404.htm
DB2之JDBC
1. 首先有两种driver, 旧的和新的
Type2需要客户端装了DB2客户端并且把源数据库catalog过来,jdbc会调用本地库
URL Pattern:jdbc:db2:databasename
CLI和Universal driver都支持Type2
Type4是纯java, 不用装任何额外的东西
URL Pattern:jdbc:db2://ServerIP:50000/databasename
注意了只有Universal driver才支持Type4
除此之外Type1没啥用,Type3只有CLI支持,但类名不太一样
参考:
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0512kokkat/
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0512kokkat/index.html
- 旧的 CLI 驱动程序 (称CLI driver) 类名为
COM.ibm.db2.jdbc.app.DB2Driver,
物理表示是 db2java.zip 文件 - 新的 JDBC 通用驱动程序 (称Universal driver, 也可称JCC driver)类名为com.ibm.db2.jcc.
DB2Driver,
物理表示是 db2jcc.jar 文件, 对于不同的系统还需要个license的jar
Type2需要客户端装了DB2客户端并且把源数据库catalog过来,jdbc会调用本地库
URL Pattern:jdbc:db2:databasename
CLI和Universal driver都支持Type2
Type4是纯java, 不用装任何额外的东西
URL Pattern:jdbc:db2://ServerIP:50000/databasename
注意了只有Universal driver才支持Type4
除此之外Type1没啥用,Type3只有CLI支持,但类名不太一样
参考:
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0512kokkat/
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0512kokkat/index.html
2009年1月15日星期四
Linux之系统目录
列几个常用的
/etc 放配置文件,里面有很多子目录针对各方面的配置,如group, user之类
/dev 放设备文件
/bin 放命令,这个容易
/sbin 也放命令,但放的都是高级命令,普通用户都用不了
/root root的home
/home 其他用户的home, 每个用户在里面都有个目录
/lib 放系统需要的库,好懂
/usr 就是linux下的Program Files, 用户安的很多都放在/usr/local
/var 包括系统一般运行时要改变的数据
/etc 放配置文件,里面有很多子目录针对各方面的配置,如group, user之类
/dev 放设备文件
/bin 放命令,这个容易
/sbin 也放命令,但放的都是高级命令,普通用户都用不了
/root root的home
/home 其他用户的home, 每个用户在里面都有个目录
/lib 放系统需要的库,好懂
/usr 就是linux下的Program Files, 用户安的很多都放在/usr/local
/var 包括系统一般运行时要改变的数据
2009年1月14日星期三
DB2之runstats
注意是runstats,目的就是向DB2的优化器提供信息,这样DB2在执行SQL等命令时可以根据表的实际情况做出优化,选择最好的ACCESS PLAN。
发生大量修改(更新、插入、删除)后,先运行RUNSTAT,再REORGCHK一下,对有必要需要表REORG的运行REORG命令。然后在用RUNSTAT统计信息这样表的使用空间和使用效率都可以得到交好的提高
- 表:
- RUNSTATS ON TABLE <表名>
- 索引:
- RUNSTATS ON TABLE <表名> FOR INDEXES ALL
- 表和索引:
- RUNSTATS ON TABLE <表名> AND INDEXES ALL
发生大量修改(更新、插入、删除)后,先运行RUNSTAT,再REORGCHK一下,对有必要需要表REORG的运行REORG命令。然后在用RUNSTAT统计信息这样表的使用空间和使用效率都可以得到交好的提高
2009年1月13日星期二
vi之三种模式
1. 命令行模式(command mode)
进入vi之后,是处于「命令行模式(command mode)」, 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,
2. 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3). 底行模式(last line mode)
一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,然后可以做以下事情:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
进入vi之后,是处于「命令行模式(command mode)」, 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,
2. 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3). 底行模式(last line mode)
一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,然后可以做以下事情:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
2009年1月11日星期日
DB2之db2set
db2set是用来设置db2实例的profile registries,总之profile registries要比实例的configuration parameters要大一点,比系统环境变量小一点
1. db2set -lr //列出所有profile registries
2. db2set registry_variable = value //设值
3. db2set registry_variable = //恢复成默认值
1. db2set -lr //列出所有profile registries
2. db2set registry_variable = value //设值
3. db2set registry_variable = //恢复成默认值
DB2之catalog
参考:http://hi.baidu.com/%BF%B5%BD%A1/blog/item/94e70708062ff433e9248887.html
1. 把远程机器catalog到一个node
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000
节点其实就是把远程服务器映射到本地,类似指向远程服务器和实例的地址指针
2. 把远程数据库catalog到这个node上
db2 catalog db REMOTEDB at node p570
可以理解为把远程服务器实例下的数据库映射到本地为一个别名
1. 把远程机器catalog到一个node
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000
节点其实就是把远程服务器映射到本地,类似指向远程服务器和实例的地址指针
2. 把远程数据库catalog到这个node上
db2 catalog db REMOTEDB at node p570
可以理解为把远程服务器实例下的数据库映射到本地为一个别名
备注:在catalog之前保证远程实例的profile variables中DB2COMM=TCPIP,用下面的命令设置
db2set DB2COMM=TCPIP
2009年1月9日星期五
Linux之grep
grep其实就是一个查询工具,使用正则表达式
可以这么用
ls -al | grep sys* //列出sys开头的文件
也可以这么用
ps -ef | grep sys* //列出sys开头的进程
可以这么用
ls -al | grep sys* //列出sys开头的文件
也可以这么用
ps -ef | grep sys* //列出sys开头的进程
2009年1月8日星期四
2009年1月7日星期三
Linux之查看当前用户
1. $who //就这么简单
2. $w //更简单
3. $whoami //yes, who am I
4. $who am i //真的可以啊
5. $logname
6. $last $last n //上次和上几次的用户
7. $tty //报告所有连接的设备
2. $w //更简单
3. $whoami //yes, who am I
4. $who am i //真的可以啊
5. $logname
6. $last $last n //上次和上几次的用户
7. $tty //报告所有连接的设备
Linux之后台运行程序
1.在命令结尾放个&如
#/home/start.sh &
2.nohup
#nohup /home/start &
前一种只对守护进程长期有效,即使关掉终端也不会停掉,后一种使所有进程都长期后台执行
#/home/start.sh &
2.nohup
#nohup /home/start &
前一种只对守护进程长期有效,即使关掉终端也不会停掉,后一种使所有进程都长期后台执行
Linux之cat
作用:把文件或屏幕内容输出到一个文档
1. cat file1 > file2 输出文件1到文件2
2. cat file1 file2 >> file3 把俩文件连起来输出到第三个
3. cat > file1, 然后在屏幕上输入,按ctrl+c结束
4. cat /dev/null > file1, 清空file1
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
1. cat file1 > file2 输出文件1到文件2
2. cat file1 file2 >> file3 把俩文件连起来输出到第三个
3. cat > file1, 然后在屏幕上输入,按ctrl+c结束
4. cat /dev/null > file1, 清空file1
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
2009年1月5日星期一
2009年1月4日星期日
Sofware之Jarnal
打草稿软件,可以给PDF做批注
link: http://www.dklevine.com/general/software/tc1000/jarnal.htm
在linux下有类似的xournal
link: http://xournal.sourceforge.net/
link: http://www.dklevine.com/general/software/tc1000/jarnal.htm
在linux下有类似的xournal
link: http://xournal.sourceforge.net/
DB2之Instance管理
1.创建
db2icrt instance_name //windows
db2icrt -u fanced_user instance_name //linux or unix
User-defined functions and stored procedures, by default, are created in fenced mode so that these processes run in a different address space than the DB2 engine
2.删除
db2idrop -f instance_name
3.查看
db2ilist //list
4.Migration
db2imigr instance_name //从32位migrate到64位
5.Update
db2iupdt instance_name //打了fix pack就需要update
db2icrt instance_name //windows
db2icrt -u fanced_user instance_name //linux or unix
User-defined functions and stored procedures, by default, are created in fenced mode so that these processes run in a different address space than the DB2 engine
2.删除
db2idrop -f instance_name
3.查看
db2ilist //list
4.Migration
db2imigr instance_name //从32位migrate到64位
5.Update
db2iupdt instance_name //打了fix pack就需要update
2009年1月3日星期六
订阅:
博文 (Atom)