Linux环境设置zookeeper、memcached、activemq、dubbo自动启动

一 zookeeper

1 修改zkServer.sh(/usr/local/zookeeper-3.4.5/bin/zkServer.sh)文件的第一行:

#!/usr/bin/env bash

为:

#!/bin/bash

# description: Zookeeper Start Stop Restart

# processname: zookeeper

# chkconfig: 244 30 80

 

2 修改:

# use POSTIX interface, symlink is followed automatically

ZOOBIN=”${BASH_SOURCE-$0}”

ZOOBIN=`dirname ${ZOOBIN}`

ZOOBINDIR=`cd ${ZOOBIN}; pwd`

 

if [ -e “$ZOOBIN/../libexec/zkEnv.sh” ]; then

# use POSTIX interface, symlink is followed automatically

ZOOSH=`readlink $0`

ZOOBIN=`dirname $ZOOSH`

ZOOBINDIR=`cd $ZOOBIN; pwd`

ZOO_LOG_DIR=`echo $ZOOBIN`

 

if [ -e “$ZOOBIN/../libexec/zkEnv.sh” ]; then

 

3 创建软链接:

[root@dev-middleware ~]# ln -s /usr/local/zookeeper-3.4.5/bin/zkServer.sh  /etc/init.d/zookeeper

 

4 添加自动启动

[root@dev-middleware ~]# chkconfig –list zookeeper

zookeeper 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig –add zookeeper”)

[root@dev-middleware ~]# chkconfig –add zookeeper

[root@dev-middleware ~]# chkconfig –level 2345 zookeeper on

[root@dev-middleware ~]# chkconfig –list zookeeper

zookeeper       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@dev-middleware ~]#

 

5 参考

http://positivealex.github.io/blog/posts/how-to-install-zookeeper-as-service-on-centos/

二 memcached

[root@dev-middleware ~]# chkconfig –list memcached

memcached 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig –add memcached”)

[root@dev-middleware ~]# chkconfig –add memcached

[root@dev-middleware ~]# chkconfig –level 2345 memcached on

[root@dev-middleware ~]# chkconfig –list memcached

memcached       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@dev-middleware ~]#

三 activemq

1 修改文件activemq (/usr/local/apache-activemq-5.9.0/bin/activemq),第1行:

#!/bin/sh

为:

#!/bin/sh

### BEGIN INIT INFO

# Provides:             activemq

# Required-Start:       $remote_fs $syslog

# Required-Stop:        $remote_fs $syslog

# Default-Start:        2 3 4 5

# Default-Stop:         0 6

# Short-Description:    ActiveMQ server

### END INIT INFO

 

2 创建软链接:

[root@dev-middleware bin]# ln -s /usr/local/apache-activemq-5.9.0/bin/activemq /etc/init.d/activemq

[root@dev-middleware bin]#

 

3 添加自动启动

[root@dev-middleware bin]# chkconfig –list activemq

activemq 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig –add activemq”)

[root@dev-middleware bin]# chkconfig –add activemq

[root@dev-middleware bin]# chkconfig –level 2345 activemq on

[root@dev-middleware bin]# chkconfig –list activemq

activemq        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@dev-middleware bin]#

 

4 参考

http://www.liaoxuefeng.com/article/0013738918072162b1c2a36eb0f40e690d3902acf60c8fb000

四 dubbo

 

[root@dev-middleware ~]# ll /etc/init.d/tomcat-dubbo-admin

-rwxr-xr-x 1 root root 1969 9月   8 13:49 /etc/init.d/tomcat-dubbo-admin

[root@dev-middleware ~]# /etc/init.d/tomcat-dubbo-admin

start/stop

[root@dev-middleware ~]# chkconfig –list tomcat-dubbo-admin

tomcat-dubbo-admin 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig –add tomcat-dubbo-admin”)

[root@dev-middleware ~]# chkconfig –add tomcat-dubbo-admin

[root@dev-middleware ~]# chkconfig –level 2345 tomcat-dubbo-admin on

[root@dev-middleware ~]# chkconfig –list tomcat-dubbo-admin

tomcat-dubbo-admin      0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@dev-middleware ~]#

Linux环境配置SFTP小结

说明:简明扼要的记录在Linux环境上配置SFTP的注意事项,主要是自己在该问题的小细节上犯过几次同样的错误,我必须要动手把它记录、写下来,自己还要时不时的翻看一下,避免在同样的问题上连续跌倒(*^__^*)

一 配置步骤

1.创建SFTP用户组

groupadd sftp

2.添加用户并设置为sftp

 useradd -g sftp -s /sbin/nologin -M  sftpUser

其中:(/sbin/nologin为禁止登录shell的用户,即该用户sftpUser无法获取shell,也就限制其登录主机)

3.设置用户密码

passwd sftpUser

4.创建用户目录,并设置权限

cd /home

mkdir sftpUserDir

chown root:sftp sftpUserDir

chmod 755 sftpUserDir

这里:设置sftp用户sftpUser将来通过SFTP来上传、下载的目录为/home/sftpUserDir。同时,设置该目录目录/home/sftpUserDir的所属用户和组为root:sftp,且其权限务必为755,否则SFTP会报错!

5.修改SSH配置

修改/etc/ssh/sshd_config配置文件

修改Subsystem为:

Subsystem sftp internal-sftp

6.sshd_config添加用户配置

Match User sftpUser  #配置允许SFTP操作的用户名为sftpUser

Match Group sftp   #配置允许SFTP操作的用户组为sftp

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

ChrootDirectory /home/sftpUserDir  #配置用户的根目录

说明:Match User sftpUser和Match Group sftp的配置,可以有选择性的配置,也可以组合配置。中间3行为允许SFTP转发的配置。

7.最后重启SSH

/etc/init.d/ssh restart

二 验证测试

在其它的机器上执行:

sftp sftpUser@SFTP_server_IP

三 小结

1  ChrootDirectory 的所有父目录的权限最高只能是755 ,否则会抛出下述错误!

Read from remote host 172.16.xx.xxx: Connection reset by peer

Couldn’t read packet: Connection reset by peer

2 SFTP Permission denied处理

com.jcraft.jsch.SftpException: Permission denied

问题的原因是,SFTP服务器的SELINUX没关闭。

解决办法:

查看SELINUX的配置:getenforce

关闭SELINUX:setenforce 0

 勿以善小而不为,不要以为不起眼的小问题就不够引起你对它的重视。

Linux环境SSH免密配置小结

场景:

Server a:IP 为172.16.6.1上有1个用户root;

Server b:Ip为172.16.6.2上有3个用户root、tomcat、deploy;

Q1:

Server a上能不能配置以tomcat、deploy通过SSH免密登录到Server b ?

A1:

完全可以。在1台机器上,能否以某个指定用户通过SSH免密登录到另外1台目标机器上,与当前机器上是否存在该指定用户无关。这一点是我之前不曾知道的,总以为,发起SSH请求的机器上也必须要有对应的用户存在。从前,在配置Oracle RAC数据库时,多个节点上都有oracle用户存在,在配置oracle用户SSH免密登录的时候,产生的误区就是以为SSH免密登录的场景下,源端和目标端都必须要有对应的用户存在。原来,自己误导自己已多年。

Q2:

如何配置Q1上所说的免密登录?

A2:

1

Server a上,以root依次执行:

ssh-keygen –t rsa;

ssh-keygen –t dsa;

分别生成RSA、DSA加密算法的秘钥。否则可能会遭遇下述错误:

/usr/bin/ssh-copy-id: ERROR: No identities found

2

ssh-copy-id tomcat@172.16.6.2

ssh-copy-id deploy@172.16.6.2

依次执行上还命令。且分别输入tomcat、deploy用户的口令。

3

当前机器上以root用户执行 ssh tomcat@172.16.6.2 即可实现以tomcat的身份执行SSH免密登录到172.16.6.2机器上。deploy用户同。

Q3

上述场景里,假设Server a上也有tomcat、deploy用户存在,且已经配置完成可以以root用户发起,向Server b的ssh tomcat@172.16.6.2的免密登录的前提下,那么在Server a上以tomcat用户发起向Server b的ssh tomcat@172.16.6.2的免密登录可行吗

A3

绝对不可以。如果需要在Server a上以tomcat用户发起向Server b的ssh tomcat@172.16.6.2的免密登录,那么必须在Server a上,以tomcat用户登录,重新执行上述A2的免密登录配置。

 

小结:

1 源端机器发起向目标端机器的免密登录,源端机器上是否存在与目标端机器上的SSH用户无关;如:源端机器上只有root用户,即使不存在tomcat用户,那么也可以以root用户发起ssh tomcat@目标机器的免密登录;

2 即使源端机器可以以u1用户执行ssh u2@目标机器IP的免密登录,那么源端机器的u2用户也不一定能够顺利执行ssh u2@目标机器IP的免密登录。这取决于,源端机器上的u2用户,是否已经配置SSH到目标机器的免密登录。

8月工作小记二三事

    上个月,应该算是一个较为忙碌的工作月。其中:

    1 公事的一DBA同事离职,所有的数据库这块全部压到我1个人的身上,要看的库多了,任务重了,有些库也只能做到粗犷式管理了;

    2 出差2次,月初1次到上海,月末1次同样到上海;2次差旅虽说都是现场实施Oracle数据库环境的搭建,但都不是很顺利,究其原因:①项目前期同客户需求、准备工作都很有问题。如去之前,问项目组人员是实施RAC的数据库还是配置单实例的库,告知于我是单实例的库,结果一到客户现场方知是实施RAC的数据库;②个人的技术经验匮乏的短板也暴露的很明显了,尤其是存储方面的知识;

    3 快速记录这2次出差上海解决问题的方法:

        ① 月初去上海某客户遇到的问题,客户环境采用Dell R910单台服务器,存储采用Dell MD 3200。在阵列的管理界面将存储映射到主机时,发现找不到主机,原因:犯的是低级错误,Dell MD 3200 支持级联扩展存储,误将主机的SAS卡插到阵列上的SAS OUT扩展口上,而应该将其连接到阵列上的SAS IN口。其次,在做好阵列之后,重启主机、阵列之后,发现主机依然无法找到对应的LUN,解决方法:注释掉/etc/udev/rules.d/90-dm.rules配置文件。

        ②第2次去上海另1客户实施RAC时,同样碰到存储的问题。只是这次的主机是2台IBM X3650M3,存储是IBM System Storage DS3500磁盘阵列柜。在阵列上做好LUN并映射到主机后,还是不能正常发现存储设备,解决办法是安装IBM提供的RDAC补丁包。下述,记录安装RDAC软件包的过程,该软件包需要到IBM官方网站下载对应的操作系统版本和阵列型号的补丁。

     –

[root@node1 ~]# cd linuxrdac-09.03.0C05.0638/
[root@node1 linuxrdac-09.03.0C05.0638]# ll
total 1780
-r-xr-xr-x 1 root root     73 Apr 18 04:31 bootMpp26p.sh
drwxr-xr-x 2 root root   4096 Apr 18 04:31 dracutsetup
-r-xr-xr-x 1 root root   3808 Apr 18 04:31 genfileattributes
-r--r--r-- 1 root root   2603 Apr 18 04:31 genuniqueid.c
-r--r--r-- 1 root root   2603 Apr 18 04:31 hbaCheck
-r--r--r-- 1 root root  15136 Apr 18 04:31 License.txt
-r-xr-xr-x 1 root root   6592 Apr 18 04:31 lsvdev
-r--r--r-- 1 root root  22991 Apr 18 04:31 Makefile
-r--r--r-- 1 root root 150075 Apr 18 04:31 mppCmn_s2tos3.c
-r--r--r-- 1 root root  21321 Apr 18 04:31 mppCmn_SysInterface.c
-r--r--r-- 1 root root    814 Apr 18 04:31 mpp.conf
-r--r--r-- 1 root root 520094 Apr 18 04:31 MPP_hba.c
-r-xr-xr-x 1 root root   5155 Apr 18 04:31 mppiscsi_umountall
drwxr-xr-x 2 root root   4096 Apr 18 04:31 mpp_linux_headers
drwxr-xr-x 2 root root   4096 Apr 18 04:31 mpp_linux_sys_headers
-r--r--r-- 1 root root  57111 Apr 18 04:31 mppLnx26p_sysdep.c
-r--r--r-- 1 root root 175028 Apr 18 04:31 mppLnx26p_upper.c
-r--r--r-- 1 root root 206555 Apr 18 04:31 mppLnx26p_vhba.c
-r--r--r-- 1 root root 185100 Apr 18 04:31 mppLnx26p_vhbaio.c
-r--r--r-- 1 root root  95675 Apr 18 04:31 mppLnx26p_vhbalib.c
-r--r--r-- 1 root root  21610 Apr 18 04:31 mppLnx26p_vhbamisc.c
-r--r--r-- 1 root root  33709 Apr 18 04:31 mppLnx26p_vhbaproc.c
-r--r--r-- 1 root root 120597 Apr 18 04:31 mppLnx26p_vhbatask.c
-r--r--r-- 1 root root   1805 Apr 18 04:31 mpp_rcscript.REDHAT
-r--r--r-- 1 root root   1903 Apr 18 04:31 mpp_rcscript.SUSE
-r-xr-xr-x 1 root root  28522 Apr 18 04:31 mppSupport
-r--r--r-- 1 root root  24245 Apr 18 04:31 Readme.txt
-rw-r--r-- 1 root root   5559 Apr 18 04:31 setupDriver.REDHAT
-r--r--r-- 1 root root   8984 Apr 18 04:31 setupDriver.SUSE
-r--r--r-- 1 root root    261 Apr 18 04:31 setupMpp26p.sh
drwxr-xr-x 2 root root   4096 Apr 18 04:31 utility
[root@node1 linuxrdac-09.03.0C05.0638]# make
make[1]: Entering directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
  CC [M]  /root/linuxrdac-09.03.0C05.0638/MPP_hba.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_upper.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_sysdep.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppCmn_s2tos3.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppCmn_SysInterface.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbamisc.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbatask.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhba.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbaproc.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbalib.o
  CC [M]  /root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbaio.o
/root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbaio.c: In function a€?__mppLnx_scsi_donea€?:
/root/linuxrdac-09.03.0C05.0638/mppLnx26p_vhbaio.c:3691: warning: label a€?donea€? defined but not used
  LD [M]  /root/linuxrdac-09.03.0C05.0638/mppUpper.o
  LD [M]  /root/linuxrdac-09.03.0C05.0638/mppVhba.o
  Building modules, stage 2.
  MODPOST
  CC      /root/linuxrdac-09.03.0C05.0638/mppUpper.mod.o
  LD [M]  /root/linuxrdac-09.03.0C05.0638/mppUpper.ko
  CC      /root/linuxrdac-09.03.0C05.0638/mppVhba.mod.o
  LD [M]  /root/linuxrdac-09.03.0C05.0638/mppVhba.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
make[1]: Entering directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
gcc  -I/root/linuxrdac-09.03.0C05.0638 -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_headers/ -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_sys_headers/ -c ./utility/mppUtil.c  -o mppUtil.o
/bin/bash ./genfileattributes bld
gcc  -I/root/linuxrdac-09.03.0C05.0638 -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_headers/ -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.o
gcc mppUtil.o mppUtilSysdep.o -o mppUtil
gcc -o genuniqueid genuniqueid.c
[root@node1 linuxrdac-09.03.0C05.0638]# make install
make[1]: Entering directory `/root/linuxrdac-09.03.0C05.0638'
make[2]: Entering directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
  Building modules, stage 2.
  MODPOST
make[2]: Leaving directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
make[2]: Entering directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
  Building modules, stage 2.
  MODPOST
make[2]: Leaving directory `/usr/src/kernels/2.6.18-194.el5-x86_64'
/bin/bash ./genfileattributes bld
gcc  -I/root/linuxrdac-09.03.0C05.0638 -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_headers/ -I/root/linuxrdac-09.03.0C05.0638/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.o
gcc mppUtil.o mppUtilSysdep.o -o mppUtil
Checking Host Adapter Configuration...
Detected 1 Emulex Host Adapter Port(s) on the system
Please wait while we modify the system configuration files.
Your kernel version is 2.6.18-194.el5
Preparing to install MPP driver against this kernel version...
Generating module dependencies...
Creating new MPP initrd image...
        You must now edit your boot loader configuration file, /boot/grub/menu.lst, to 
        add a new boot menu, which uses mpp-2.6.18-194.el5.img as the initrd image.
        Now Reboot the system for MPP to take effect.
        The new boot menu entry should look something like this (note that it may 
        vary with different system configuration):

        ...

                title Red Hat Linux (2.6.18-194.el5) with MPP support
                root (hd0,5)
                kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=RH9
                initrd /mpp-2.6.18-194.el5.img
        ...
MPP driver package has been successfully installed on your system.
make[1]: Leaving directory `/root/linuxrdac-09.03.0C05.0638'
[root@node1 linuxrdac-09.03.0C05.0638]#

 

     4 问题得以解决,也深知自己存在的问题!送给自己一句话以自勉:革命尚未成功,同志仍需努力!

asmcmd 报错解决

RHEL 5.4 服务器上运行的一套 oracle 10g ASM的数据库,在调用asmcmd的时候遇到如下错误:

[oracle@rhel10g ~]$ asmcmd
install_driver(Oracle) failed: Can't load 
'/u01/app/oracle/perl/lib/site_perl/5.8.3/i686-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
 for module DBD::Oracle: /u01/app/oracle/lib/libnnz10.so: cannot restore
 segment prot after reloc: Permission denied at
 /u01/app/oracle/perl/lib/5.8.3/i686-linux-thread-multi/DynaLoader.pm line 229.
 at (eval 2) line 3Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at /u01/app/oracle/bin/asmcmdcore line 5953
[oracle@rhel10g ~]$ 

Google 之,给出解决方法:

关闭SELinux:

[oracle@rhel10g ~]$ su - root

Password:

[root@rhel10g ~]# setenforce 0

[root@rhel10g ~]# exit

logout

[oracle@rhel10g ~]$ export ORACLE_SID=+ASM

[oracle@rhel10g ~]$ asmcmd

ASMCMD>

问题基本解决,具体原因有待进一步探究!!!

How to solve No termcap nor curses library found

Linux平台下,想在Oracle数据库的SQL*PLUS的命令行提示符下,利用键盘上的上下箭头,调出历史执行的SQL命令,可以考虑采用rlwrap这一开源工具

现,简单记录一下安装过程(Red Hat Enterprise Linux as 5.4环境)。以前在4版本的操作系统上安装时很顺利,就不再记录。

①解压并安装rlwrap工具:

[root@server1 ~]# tar -zxvf rlwrap-0.30.tar.gz

.......

.......

[root@server1 ~]# cd rlwrap-0.30 && ll

total 464

-rw-rw-r-- 1 hekan hekan  32266 Jan  8  2008 aclocal.m4

-rw-r--r-- 1 hekan hekan    638 Aug 15  2006 AUTHORS

-rw-r--r-- 1 hekan hekan   4740 Nov 10  2007 BUGS

-rw-r--r-- 1 hekan hekan    105 Aug 10  2003 ChangeLog

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 completions

-rw-rw-r-- 1 hekan hekan   5489 Jan  8  2008 config.h.in

-rwxr-xr-x 1 hekan hekan 217282 Jan  8  2008 configure

-rw-r--r-- 1 hekan hekan   9860 Jan  8  2008 configure.ac

-rw-r--r-- 1 hekan hekan  17992 Aug  8  2006 COPYING

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 distribution

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 doc

-rw-r--r-- 1 hekan hekan   1927 Nov 10  2007 INSTALL

-rw-r--r-- 1 hekan hekan    436 Nov 10  2007 Makefile.am

-rw-rw-r-- 1 hekan hekan  22987 Jan  8  2008 Makefile.in

-rw-r--r-- 1 hekan hekan  11187 Jan  3  2008 NEWS

-rw-r--r-- 1 hekan hekan   2745 Nov 10  2007 README

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 src

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 test

-rw-r--r-- 1 hekan hekan    480 Nov 10  2007 TODO

drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 tools

[root@server1 rlwrap-0.30]# ./configure

......

checking for tgetent... no

checking for tgetent in -lcurses... no

checking for tgetent in -lncurses... no

checking for tgetent in -ltermcap... no

configure: WARNING: No termcap nor curses library found

checking for readline in -lreadline... no

configure: error:

You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build

this program!

[root@server1 rlwrap-0.30]#

报错!提示需要安装readline-devel-5.1-1.1.i386.rpm包。
② 安装readline-devel-5.1-1.1.i386.rpm 包:

[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm

warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

error: Failed dependencies:

libtermcap-devel is needed by readline-devel-5.1-1.1.i386

[root@server1 ~]#

又报错提示缺失libtermcap-devel包!

继续安装:

[root@server1 ~]# rpm -ivh libtermcap-devel-2.0.8-46.1.i386.rpm

warning: libtermcap-devel-2.0.8-46.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:libtermcap-devel       ########################################### [100%]

[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm

warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

1:readline-devel         ########################################### [100%]

[root@server1 ~]# cd rlwrap-0.30

[root@server1 rlwrap-0.30]# ./configure

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

............

............

configure: creating ./config.status

config.status: creating Makefile

config.status: creating doc/Makefile

config.status: creating src/Makefile

config.status: creating doc/rlwrap.man

config.status: creating distribution/rlwrap.spec

config.status: creating config.h

config.status: executing depfiles commands

Now do:

make (or gmake)  to build rlwrap

make check       for instructions how to test it

make install     to install it

[root@server1 rlwrap-0.30]#

③ 根据执行执行,make,make install:

[root@server1 rlwrap-0.30]# make

make  all-recursive

......

[root@server1 rlwrap-0.30]# make install

Making install in doc

......

make[2]: Leaving directory `/root/rlwrap-0.30'

make[1]: Leaving directory `/root/rlwrap-0.30'

[root@server1 rlwrap-0.30]#

④ 修改oracle 用户的配置文件,

[oracle@server1 ~]$ pwd

/home/oracle

[oracle@server1 ~]$ vi .bash_profile

在其中,添加类似配置信息:

alias sqlplus='rlwrap sqlplus /nolog'

⑤至此,oracle在SHELL提示符下,只需要执行sqlplus就可以进入SQL*PLUS的命令行提示符,并且可以利用键盘的上下箭头调出之前执行过的历史命令。

这是在RHEL 5.4版本的操作系统上安装时的简单记录,而之前没遇到过类似的问题,故简单记录之。

即先安装libtermcap-devel-2.0.8-46.1.i386.rpm

然后安装 readline-devel-5.1-1.1.i386.rpm

最后安装rlwrap工具包。


How to solve ORA-12560 Error ?

记得,前几日,在一台RHEL as 5.4 server上,用Windows下的Oracle客户端访问该服务器上的Oracle服务时,遭遇ORA-12560级别的错误。当时,很是费解: ①确认Windows客户端可以正常与该服务器正常通信; ②确认该服务器上的Oracle监听程序已经正确开启; ③采用SSH2协议通过22端口连接到该服务器上去的时候,可以正常操纵数据库; 犹豫之际,难到Linux服务器上的防火墙问题? 果不其然,就是Oracle所在服务器上开启防火墙,并且没有开放1521端口。 给出解决办法: ①直接编辑(以root用户执行)/etc/sysconfig/system-config-securitylevel 配置文件: 如下是已经编辑之后的该文件:

[oracle@JM ~]$ cat /etc/sysconfig/system-config-securitylevel
# Configuration file for system-config-securitylevel
–enabled
–port=1521:tcp
[oracle@JM ~]$
[oracle@JM ~]$ cat /etc/sysconfig/system-config-securitylevel

# Configuration file for system-config-securitylevel

--enabled

--port=1521:tcp

[oracle@JM ~]$

如果,想要禁用防火墙,需要将该文件中的–enabled改成–disabled.如上,是启用防火墙,但是放开1521端口号,允许的协议是TCP协议,需要注意的是,该文件中的格式问题,即以–开始。 ②进入Linux的图形界面,进行操作。图形操作较为简单,在此不再赘述。 最终,Windows客户端可以正常访问该Linux服务器上的Oracle数据库!

转帖一封邮件:[Unix-Center.Net] 会员通讯 — 2010.09.07

发件人        Unix-Center.Net <bbs@unix-center.net>
发送至        member@unix-center.net
日期        2010年9月7日 下午12:12
主题        [Unix-Center.Net] 会员通讯 — 2010.09.07
邮送域        unix-center.net
尊敬的Unix-Center.Net用户

感谢您注册成为Unix-Center.Net的一员。我们一直在努力为各位注册会员提供更好的Unix/Linux学习与体验环境。此会员通讯的目的就 是向各位介绍我们最近取得的一些新进展,希望能够得到各位更进一步的支持。

自2007年2 月Unix-Center.Net正式开通以来,我们已经不间断运行了三年半的时间。在这里我们需要向中国最大的开发者社区CSDN表示衷心的感谢。 CSDN在本站遇到财务困难的时候为本站支付了2009年4 月到2010年4 月的服务器托管费用,又于2010年4 月免费接纳本站所有服务器迁入CSDN的机房。正是由于CSDN的大力支持,本站才能够在坚持公益性和非盈利性的前提下继续为各位用户提供服务。在过去六 个月中,我们与CSDN一道与数家公司展开讨论,希望能够争取他们对Unix-Center.Net的支持。遗憾的是,大部分公司并不认可本站所坚持的公 益性和非盈利性原则,因此相关讨论并未取得实质性进展。

在过去18个月中,一共有243名用户通过向本站捐赠100元的方式成为本站的标准用户。为了表示我们对这些用户的感谢,我们为其提供了1 G的存储空间,MySQL数据库访问权限,以及基于ApacheMySQLPHPWeb 应用开发环境。

自从本人离开Sun 公司之后,很多朋友都很关心我的去向和近况。在这里我统一做一个说明。

首先,本人没有离开IT这个行业。我于09年底移居海南后,一直在思考如何利用信息技术来为农村做一点事情。经过接近一年时间的调研,我注意到生产技术低 下或者缺乏生产资料已经不再是阻碍农村发展的第一因素。与此相反,由于生产与销售环节严重脱钩,导致农户在风调雨顺的情况下还要亏本,严重打击了农户的生 产积极性。与此同时,仅仅是几十公里甚至是十几公里之外的城市,农产品价格高居不下,城市居民纷纷抱怨买不起菜吃不起饭。如果抛开农产品购销当中的仓储、 运输等因素,这是一个典型的信息不对称问题。让农户了解市场行情,让商户了解生产情况,虽然不能够彻底解决这个问题,但是能够在一定程度上促使其往正面的 方向发展。因此,我于最近接受海口市科学技术工业信息化局的邀请,与几位志同道合的朋友一起着手组建一家公司来开发与运营一个农产品信息类网站:电子农务 网。

电子农务网上线之后的第一件大事,是面向全国开展一次博客大赛,广泛征集关于农民、农村、农业等领域的信息、观点、评论、建议。目前我们已经争取到了海南 马自达公司提供的两辆海南马自达海福星轿车、金鹿集团提供的拖拉机四台、以及某计算机公司提供的笔记本电脑若干台作为大赛奖品。就我所知,这些年来国内各 种各样的博客大赛层出不穷,能够列出的如此级别奖品的,似乎还没有见过。在这里我郑重邀请各位朋友参与到此次博客大赛中来,为农村的发展出谋划策,说不准 就能够赢得一辆轿车或者是拖拉机开回家。另外如果各位朋友有做媒体的或者是做网站的,欢迎转载相关信息为我们扩大一下影响力,或者是派出记者来挖掘一下这 个事件的新闻价值。

各位可能觉得我们做IT的跟农村没什么关系,其实未必。且不说我们之中相当一部分人原本就来自农村,我们每天所消费的粮食、蔬菜、肉蛋、水果,无一不与农 村息息相关。耕地红线能不能保住,会直接影响农产品的价格,可以说是间接动了我们的钱包。不过这还不是最严重的,要是滥用激素和农药残留的问题管不好,简 直就是直接要我们的老命了。所以我希望各位都过来参加这个博客大赛,写一写记忆不远处的青山绿水,红桃黄橙,稻花的香,水牛的憨,父辈的汗水,还有村头小 妹鲜艳的笑脸。是不是真的能够赢得轿车或者是拖拉机,已经无关紧要了。重要的是,关心农村问题就是关心我们自己的钱包和健康。

广告做的好,不如海马轿车好。在这里给各位提供一下此次博客大赛的链接,很多细节尚在讨论当中,不过已经是呼之欲出了。

http://www.dznw.net/home/space.p … do=blog&id=2206

顺便说一声,如果你有淘汰下来的电脑,并且希望让它们有个地方发挥余热,请跟我联系。我能够把它们转送给那些没有电脑,但是又非常希望拥有一台电脑的农 民。如果你愿意的话,麻烦您问一问您身边的人有没有淘汰下来的电脑。或者,您还可以帮我问一问你所在公司的IT部门,是否愿意将公司淘汰下来的电脑赠送给 农民使用。只要是一台还能够运行Windows 2000的电脑,慢一点点没有关系,硬盘小点没有关系,没有显示器也没有关系,我们会设法解决。另外,也欢迎各位淘汰下来的数码相机。

说起农民,你可能觉得他们没文化,觉得他们根本不可能有使用电脑这样的需求。你所不知道的是,有很多农民,他们通过自学知道了如何操作电脑,也学会了如何 通过搜索来掌握最新的供求行情和价格信息,他们当中甚至有人开设了自己的博客。到我的电子农务网去看看,你就能发现,农村的信息化,正在悄悄地改变农村的 面貌。

如果您愿意向农民捐赠您淘汰下来的电脑,请将其发送到如下地址。如果您无力支付其运费,可以使用快递/物流公司的“运费到付\”业务,我们愿意支付由此发生 的快递/物流费用。

海南省海口市琼山区龙昆南路88号禧龙酒店902 室
电子农务运营中心
蒋清野  收

电话:15008959686
邮编:571100

最后,请允许我

感谢您花时间读完这封邮件。如果您认为它不是垃圾邮件的话,我们鼓励您将其转发到您常去的网站和社区。

感谢您对Unix-Center.Net的关心和支持。

感谢您对农村、农民和农业的支持。欢迎您注册成为电子农务网(http://www.dznw.net/home/)的用户,并且将qyjohn加为您的 好友。


蒋清野
Unix-Center.Net
2010年9 月7 日

How to use script and scriptreplay

我们知道:在Windows环境下可以通过一些录制屏幕的软件,把屏幕捕捉下来,如camtasia studio。当然,UNIX/Linux系统下也有相关工具可以达到这个目的,那就是scriptscriptreplay:

首先,说说script工具,默认情况下,大多数Linux系统都会自带该工具,具体用法不详细记录了。想说说的就是,比较“好玩儿”的用法:

[oracle@Oracle10g ~]$ script -t 2>oracle.time -a oracle.txt

Script started, file is oracle.txt

[oracle@Oracle10g ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 – Production on Mon Apr 19 22:04:51 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn / as sysdba;

Connected.

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production

With the Partitioning, OLAP and Data Mining options

[oracle@Oracle10g ~]$ exit

Script done, file is oracle.txt

其次,再来说说scriptreplay的用法。解释一下刚才的script命令,相当于在我们的当前路径下生成了两个文件oracle.time(记录我们的命令执行的时间-t参数表示记录命令执行时间),oracle.txt记录我们所有的执行命令,包括显示在终端上的结果。当然,这两个文件的名称和路径,我们可以任意指定。那么,我们接下来就可以利用scriptreplay命令来“播放”我们刚才的执行“录像”了,只需要在命令行上执行下述命令了:

[oracle@Oracle10g ~]$ scriptreplay oracle.time oracle.txt

就可以看到,我们刚才执行的所有命令流程了。

当然了,scriptreplay命令在默认情况下是不会安装的,所以我们需要做些“工作”,其实,该命令就是一个perl脚本文件。具体,下载安装过程:

①下载:http://www.filestube.com/2e12d7b3079daa5903ea/go.html

②安装:[oracle@Oracle10g ~]$ tar  jxvf  util-linux-2.12r.tar.bz2

会在当前路径下生成名为util-linux-2.12r的路径

③配置:以root用户执行:

[root@Oracle10g oracle]# cp  /u01/app/oracle/util-linux-2.12r/misc-utils/scriptreplay.pl        /usr/bin/scriptreplay

最后,就可以以普通用户执行scriptreplay命令了,当然我们还可以以root用户到/usr/bin路径下去把scriptrreplay命令改为我们自己喜爱的命令名称了!不过,我们在播放“录像”的时候,要注意那两个“时间文件”和“命令文件”的顺序,不要颠倒了。


[oracle@Oracle10g ~]$ script
Script started, file is typescript
[oracle@Oracle10g ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 – Production on Mon Apr 19 21:58:48 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn / as sysdba;
Connected.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
[oracle@Oracle10g ~]$ exit
Script done, file is typescript
[oracle@Oracle10g ~]$ cat typescript
Script started on Mon 19 Apr 2010 09:58:45 PM CST
[oracle@Oracle10g ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 – Production on Mon Apr 19 21:58:48 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn / as sysdba;
Connected.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
[oracle@Oracle10g ~]$ exit
Script done on Mon 19 Apr 2010 09:58:52 PM CST
[oracle@Oracle10g ~]$

How to Uninstall Oracle 10g On Linux ?

Steps:

1. run $ORACLE_HOME/bin/localconfig delete
2. rm -rf $ORACLE_BASE/*
3. rm -f /etc/oraInst.loc /etc/oratab
4. rm -rf /etc/oracle
5. rm -f /etc/inittab.cssd
6. rm -f /usr/local/bin/coraenv  /usr/local/bin/dbhome  /usr/local/bin/oraenv

7.remove the oracle user and the related group(dba,oinstall)

Notes:These are the simple steps,I will research and explain why we need to do these steps.A detailed instruction would be post later.