J2EE,Documentum,GWT,EJB学习路程

为了所爱的,和爱我的人努力

 

2009年10月13日

调整java 虚拟机


尽管 JVM 调整操作随 JVM 提供程序的不同而有所变化,但一般的调整概念适用于所有 JVM。这些一般的概念包括:
编译器调整。在服务器运行时期间,所有 JVM 都使用即时(JIT)编译器来将 Java 字节码编译为本机指令。
Java 内存或堆调整。JVM 内存管理功能(即垃圾回收)为提高 JVM 性能提供了其中一种最大的可能性。
类装入调整。
过程
优化启动性能和运行时性能
在某些环境中,优化 WebSphere Application Server 的启动性能比优化运行时性能更重要。在另一些环境中,优化运行时性能更为重要。缺省情况下,IBM JVM 是针对运行时性能进行优化的,而基于 HotSpot 的 JVM 是针对启动性能进行优化的。

Java JIT 编译器在很大程度上决定了是优化启动性能还是优化运行时性能。编译器使用的初始优化级别影响编译类方法所耗用的时间以及启动服务器所耗用的时间。为了提高 启动速度,可以降低编译器所使用的初始优化级别。这意味着,由于现在使用较低的优化级别来编译类方法,所以应用程序的运行时性能可能会下降。

因为编译器在运行时执行阶段会根据自己的判断来重新编译类方法以提高性能,所以,很难提供一个有关特定的运行时性能影响的说明。最终,应用程序的持续时间 是影响运行时性能下降程度的主要原因。运行时间较短的应用程序的方法被重新编译的可能性较高。运行时间较长的应用程序的方法被重新编译的可能性较低。 IBM JVM 的缺省设置是使用高优化级别来执行初始编译。如果需要更改此行为,可以使用以下 IBM JVM 选项:

-Xquickstart

此设置影响 IBM JVM 使用较低优化级别来编译类方法的方式,这将提高服务器启动速度,但会使运行时性能下降。缺省情况下,如果未指定此参数,IBM JVM 最初将使用较高的初始优化级别来执行编译。此设置能够提高运行时性能,但会减慢服务器启动速度。

缺省值: 高初始编译器优化级别
建议值: 高初始编译器优化级别
用法: -Xquickstart 可以加快服务器启动速度。

基于 Sun 的 Hotspot 技术的 JVM 最初使用低优化级别来编译类方法。使用下列 JVM 选项来更改此行为:

-server

基于 Sun 的 Hotspot 技术的 JVM 最初使用低优化级别来编译类方法。这些 JVM 使用简单编译器和能够进行优化的 JIT 编译器。通常情况下,使用简单 JIT 编译器。然而,可以通过设置此选项来使用能够执行优化的编译器。此更改将显著提高服务器的性能,但使用能够执行优化的编译器时,服务器的预备时间将会较 长。

缺省值: 简单编译器
建议值: 能够执行优化的编译器
用法: -server 启用能够执行优化的编译器。

设置堆大小 下列命令行参数对于设置堆大小来说很有用。
-Xms
此设置控制 Java 堆的初始大小。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。对于某些应用程序来说,此选项的缺省设置可能会太低,从而导致发生大量小型垃圾回收。

缺省值: 256 MB
建议值: 随工作负载的不同而有所变化,但高于缺省值。
用法: -Xms256m 将初始堆大小设置为 256 兆字节

-Xmx
此设置控制 Java 堆的最大大小。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。对于某些应用程序来说,此选项的缺省设置可能会太低,从而导致发生大量小型垃圾回收。

缺省值: 512 MB
建议值: 随工作负载的不同而有所变化,但高于缺省值。
用法: -Xmx512m 将最大堆大小设置为 512 兆字节

-Xlp
此设置可以与 IBM JVM 配合使用,以使用大页来分配堆。然而,如果使用此设置,那么必须将操作系统配置为支持大页。使用大页可以降低 CPU 跟踪堆内存时的开销,并且还允许创建较大的堆。

请参阅调整操作系统 以了解有关调整操作系统的更多信息。

应该指定的堆大小取决于不同时段的堆使用情况。在堆大小频繁更改的情况下,对 Xms 和 Xmx 参数指定相同的值可以提高性能。

调整 IBM JVM 的垃圾回收器。
使用 Java -X 选项来查看内存选项列表。

-Xgcpolicy
将 gcpolicy 设置为 optthruput 会禁用并发标记。如果没有暂停时间问题(表现为应用程序响应时间不规律),那么应该使用此选项来实现最大吞吐量。将 gcpolicy 设置为 optavgpause 会使用缺省值来启用并发标记。此设置将减少由正常垃圾回收所引起的应用程序响应时间不规律情况。然而,此选项可能会降低整体吞吐量。

缺省值: optthruput
建议值: optthruput
用法: Xgcpolicy:optthruput

-Xnoclassgc
缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸装该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销。

如果不再需要某个类,那么该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是随机出 现的,那么可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这个类重 新实例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。

缺省值: 启用类垃圾回收
建议值: 禁用类垃圾回收
用法: Xnoclassgc 禁用类垃圾回收

有关其他信息,请参阅下列 DeveloperWorks 文章:
http://www.ibm.com/developerworks/java/
调整 Sun JVM 的垃圾回收器
在 Solaris 平台上,WebSphere Application Server 在 Sun Hotspot JVM 上运行,而不是在 IBM JVM 上运行。对 Sun JVM 使用正确的调整参数以利用其性能优化功能十分重要。

Sun Hotspot JVM 依靠分代垃圾回收来实现最佳性能。下列命令行参数对于调整垃圾回收来说非常有用。

-XX:SurvivorRatio
将 Java 堆划分为旧对象(长生命周期对象)区域和新对象区域。新对象区域进一步细分为两部分,第一部分用于分配给新对象(初始区域),第二部分存放那些经过其前几 次垃圾回收之后、但在被提升为旧对象之前仍在使用中的新对象(幸存者空间)。幸存者比率是堆的新对象区域中初始区域与幸存者空间的比率。增大此设置将针对 需要创建大量对象但仅保留少量对象的应用程序优化 JVM。与其他应用程序相比,WebSphere Application Server 会生成更多中等生命周期对象和长生命周期对象,因此,应该将此设置设置为小于缺省值。

缺省值: 32
建议值: 16
用法: -XX:SurvivorRatio=16

-XX:PermSize
为永久生成对象保留的堆区域存储 JVM 的所有反射数据。对于动态地装入和卸装大量类的应用程序来说,应该增大此大小以优化它们的性能。通过将此参数设置为 128MB,可以消除增大此部分堆所需的开销。

建议值: 128 MB
用法: XX:PermSize=128m 将 perm 大小设置为 128 兆字节。

-Xmn
此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。此参数的缺省设置通常过 低,这将导致执行大量的小型垃圾回收操作。如果将此参数设置得过高,可能会导致 JVM 仅执行大型(全面)垃圾回收。这些垃圾回收操作通常会耗时几秒钟,这将严重影响服务器的整体性能。您必须保持将此参数设置为小于整个堆大小的一半,以避免 这种情况出现。

缺省值: 2228224 字节
建议值: 大约整个堆大小的 1/4
用法: -Xmn256m 将大小设置为 256 兆字节。

-Xnoclassgc
缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸装该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销。

如果不再需要某个类,那么该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是随机出 现的,那么可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这个类重 新实例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。

缺省值: 启用类垃圾回收
建议值: 禁用类垃圾回收
用法: Xnoclassgc 禁用类垃圾回收

有关调整 Sun JVM 的其他信息,请参阅 Java HotSpot VM 的性能文档。

调整 HP JVM 的垃圾回收器
HP JVM 依靠分代垃圾回收来实现最佳性能。下列命令行参数对于调整垃圾回收来说非常有用。

-Xoptgc
此设置针对包含许多短生命周期对象的应用程序优化 JVM。如果未指定此参数,那么 JVM 通常执行大型(全面)垃圾回收。全面垃圾回收会花费几秒钟时间,这将显著影响服务器性能。

缺省值: off
建议值: on
用法: -Xoptgc 启用优化的垃圾回收。

-XX:SurvivorRatio
将 Java 堆划分为旧对象(长生命周期对象)区域和新对象区域。新对象区域进一步细分为两部分,第一部分用于分配给新对象(初始区域),第二部分存放那些经过其前几 次垃圾回收之后、但在被提升为旧对象之前仍在使用中的新对象(幸存者空间)。幸存者比率是堆的新对象区域中初始区域与幸存者空间的比率。增大此设置将针对 需要创建大量对象但仅保留少量对象的应用程序优化 JVM。与其他应用程序相比,WebSphere Application Server 会生成更多中等生命周期对象和长生命周期对象,因此,应该将此设置设置为小于缺省值。

缺省值: 32
建议值: 16
用法: -XX:SurvivorRatio=16

-XX:PermSize
为永久生成对象保留的堆区域存储 JVM 的所有反射数据。对于动态地装入和卸装大量类的应用程序来说,应该增大此大小以优化它们的性能。通过将此参数指定为 128 兆字节,可以消除增大此部分堆所需的开销。

缺省值: 0
建议值: 128 兆字节
用法: -XX:PermSize=128m 将 PermSize 设置为 128 兆字节

-XX:+ForceMmapReserved
缺省情况下,Java 堆以“惰性交换”方式进行分配。在此方式下,将根据需要来分配内存页,这样可以节省交换空间,但是也将强制使用 4KB 页。在大型堆系统中,这种内存分配方式允许堆包含数以十万计的页。此命令禁用“惰性交换”并允许操作系统使用较大的内存页,从而优化对构成 Java 堆的内存的访问。

缺省值: off
建议值: on
用法: -XX:+ForceMmapReserved 将禁用“惰性交换”。

-Xmn
此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。此参数的缺省设置通常过低,这将导致执行大量的小型垃圾回收操作。

缺省值: 没有缺省值
建议值: 大约整个堆大小的 3/4
用法: -Xmn768m 将大小设置为 768 兆字节

虚拟页大小
通过将 Java 虚拟机的指令页大小和数据页大小设置为 64MB,可以提高性能。

缺省值: 4MB
建议值: 64MB
用法: 使用以下命令。命令输出提供了进程可执行文件的当前操作系统特征:
chatr +pi64M +pd64M /opt/WebSphere/
AppServer/java/bin/PA_RISC2.0/
native_threads/java


-Xnoclassgc
缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸装该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销。

如果不再需要某个类,那么该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是随机出 现的,那么可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这个类重 新实例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。

缺省值: 启用类垃圾回收
建议值: 禁用类垃圾回收
用法: Xnoclassgc 禁用类垃圾回收

有关调整 HP 虚拟机的其他信息,请参阅 Java 技术软件 HP-UX 11i。

调整 HP 的 JVM for HP-UX 设置下列选项以提高应用程序性能:
-XX:SchedulerPriorityRange=SCHED_NOAGE
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider
-XX:-ExtraPollBeforeRead

posted @ 2009-11-06 10:38 田亮 阅读(378) | 评论 (1)编辑 收藏

在RED HAT ENTERPRICE LINUX4 上安装ORACLE 10G

在RED HAT ENTERPRICE LINUX4 上安装ORACLE 10G (10.2.0.1.0)


第一步 准备工作

? 检查内存
SZ_TOMCAT:/home/xjy/soft> grep SwapTotal /proc/meminfo
SwapTotal:     2031608 kB

? 检查内核
 Linux reaky.com 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux

? 检查软件包
SZ_TOMCAT:/home/xjy/soft> rpm -q gcc make binutils glibc libaio
gcc-3.4.3-9.EL4
make-3.80-5
binutils-2.15.92.0.2-10.EL4
glibc-2.3.4-2
libaio-0.3.102-1

SZ_TOMCAT:/home/xjy/soft> rpm -q openmotif
openmotif-2.2.3-6.RHEL4.2
setarch-1.6-1


检查内核参数
sysctl –a

然后在/ETC/sysctl.conf中添加
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

执行/sbin/sysctl –p

中文化显示工作

修改/etc/sysconfig/i18n文件,改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"修改/etc/sysconfig/i18n文件,改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"


第二步:
? 创建用户
su – root
[root@reaky etc]# groupadd dba
[root@reaky etc]# groupadd oinstall
[root@reaky etc]# useradd -c "Oracle software owner" -g oinstall -G dba oracle

? 设置环境
编辑/home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
alias ls='ls -CF'
PS1='SZ_TOMCAT:$PWD> '; export PS1
umask 022
set -o vi
stty intr '^c'
stty -istrip
#if [ $USER = "oracle" ]; then
#        if [ $SHELL = "/bin/ksh" ]; then
#              ulimit -p 16384
#              ulimit -n 65536
#        else
#              ulimit -u 16384 -n 65536
#        fi
#fi
EDITOR=vi;   export EDITOR
TEMP=/tmp;   export TEMP
TMPDIR=/tmp; export TMPDIR
### SETUP ORACLE ENVIRONMENT ###
ORACLE_SID=ora10; export ORACLE_SID
ORACLE_BASE=/home/oracle;                    export ORACLE_BASE
ORACLE_HOME=/home/oracle/product/10.2.0;     export ORACLE_HOME
ORACLE_TERM=ansi;                            export ORACLE_TERM
JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType/; export JAVA_FONTS
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;          export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=.:$ORACLE_HOME/bin:$PATH
export PATH
### FOR ORACLE INSTALL ###
export LC_ALL="en_US"
export LC="en_US"


第三步、安装Oracle10g
   
1.开始Oracle普通安装
   以oracle用户登录linux,加载oracle Oracle10g光盘, 在执行runInstaller前,确定Oracle环境变量已经设置,可以执行如下命令检验环境变量的设置:
oracle 用户登陆
$set
在终端命令窗口,执行如下命令,开始oracle10g的安装:
oracle$/mnt/cdrom/runInstaller
2.在欢迎窗口界面: 点击“下一步”按钮
3.指定Inventory 路径和身份证明窗口:
    inventory路径是: /home/oracle/oraInventory
  指定操作系统组名: oinstall
点击“下一步”按钮
4.这时会弹出一个执行orainstRoot.sh 脚本的窗口:
打开另一个终端,以root用户执行如下命令:
su – root
cd  /home/oracle/oraInventory
./orainstRoot.sh
然后,切换到oracle安装窗口,点击“继续”按钮
5.        在指定文件位置窗口弹出后,指定相应的路径:
源:
路径: /mnt/cdrom/stage/products.xml
目的:
名称:  OraDb10g_home1
路径: /home/oracle/product/10.1.0/db_1
然后,点击“下一步”按钮
6.选择安装类型:
选择"企业版"选项,然后点击“下一步”按钮。安装程序验证系统是否符合安装和配置所选产品的所有最低要求
7.        安装程序验证系统是否符合安装和配置所选产品的所有最低要求。当检测完成并成功后,点击“下一步”按钮
8.        选择数据库设置:
选择"通用"选项,然后点击“下一步”按钮
9.指定数据库配置参数:
全局数据库名称: "test".
SID: "test".
选中“创建带样本方案的数据库”复选框,然后,点击“下一步”按钮
10.选择数据库管理设置:
选择"使用 Database Control管理数据库"。
然后,点击“下一步”
11.指定数据库文件存储选项
选择 "文件系统"选项.
指定数据库路径: /home/oracle/oradata/
然后点击“下一步”按钮,
  12.指定备份和恢复选项:
选择"不启用自动备份".
点击 “下一步”按钮
13.指定数据库方案口令:
可以为SYS、SYSTEM、SYSMAN、DBSNMP单独指定口令,或选择"所有用户使用同一口令"选项.为这些用户指定同一个口令。
指定口令不要以数字开始,否则会得到错误信息.然后点击 “下一步”按钮
14.        出现概要窗口后, 点击“安装”按钮
15.        这时你会看到数据库安装过程窗口,然后会出现辅助设置窗口,再出现数据库创建窗口。
16.        数据库创建完毕,弹出数据库创建完成窗口,点击Ok按钮。
当弹出一个执行root.sh脚本的窗口时在另一个终端执行如下命令:
su – root
cd /home/oracle/product/10.1.0/db_1
./root.sh
点击确定”按钮

17.        在概要安装完毕,会报告一个发现$ORACLE_BASE/product/10.1.0/db_1/portlist.ini文件,这时点击OK按钮
18.        安装结束:
点击“退出”按钮,结束安装程序。
六、数据库的启动和停止
要使数据库启动,执行如下命令:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
要使数据库停止,执行如下命令:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown
 


删除oracle10g
      如果oracle10ganzhuang过程中出现错误,需要重新安装,可以执行如下命令删除以前安装的oracle:
su –oracle
rm –rf /home/oracle/*
rm –f  /etc/oraInst.loc /etc/oratab  /etc/oracle
su –root
export ORACLE_HOME=/home/oracle/product/10.1.0/db_1
$ORACLE_HOME/bin/localconfig delete
rm –f /etc/inittab.cssd
rm –f /usr/local/bin/coraenv  /usr/local/bin/dbhome
rm –f /usr/local/bin/oraenv
执行完上述命令后,重新启动系统,可以重新安装oracle10g数据库系统


FAQ (在Linux平台安装Oracle比较常见的问题)
1. 不能启动安装界面
运行runInstaller提示信息类似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:
can't connect to x11 window server using "localhost:0.0" at .......
解决办法: 设定你的DISPLAY环境参数.
# export DISPLAY= your_IPaddress :0.0
把your_IPaddress换成你的IP.或者用root简单的执行一下# xhost + (要注意这样会有安全上的隐患)
2.安装界面显示很多"口口"样子的乱码
解决办法:查看locale输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装程序.
3. 用IE登录Linux服务器上的em出现乱码
在Linux(Unix) 环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框.
解决办法: 参考:
http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm
4.创建数据库的时候出现ORA-03113的错误
解决办法: 查看核心参数是否调整正确.参考:
http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1等系统10g不支持如何安装?
解决办法:在10g不支持的Linux发行版上安装10g的解决方法
1). 运行runInstaller -ignoreSysPrereqs,这样会跳过检查.
2). 摘自 www.puschitz.com 修改/etc/redhat-release文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release <<   EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕,执行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同样的思路,我们可以修改Oracle 的install/oraparam.ini文件达到目的.
6.如何关掉那些 ocssd.bin 进程?
解决办法:编辑/etc/inittab文件(做好备份)
注释掉这一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................
---------------------------------------------------------------------------------------------------------------------
参考信息
http://blog.csdn.net/itsdn/archive/2007/05/21/1619114.aspx

1、在 Linux x86 上安装Oracle数据库10g
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#rhel3
2、Oracle 10gR2 + RedHat Enterprise Linux AS4 安装
http://www.linuxdiyf.com/viewarticle.php?id=11578
3、Oracle 10g For Linux安装手册
http://bbs.database.ccidnet.com/htm_data/27/0607/112610.html
4、Installing Oracle 10g on RHEL AS 3 Step-by-Step
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

/etc/rc.d/init.d/dbora文件内容
#http://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
# chkconfig: 0356 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
#
#
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=CQRCDATA
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
dltelecom  - "$ORACLE_USER" -c "$ORACLE_HOME/bin/dbstart"
dltelecom  - "$ORACLE_USER" -c "$ORACLE_HOME/bin/emctl start dbconsole"
dltelecom  - "$ORACLE_USER" -c "SORACLE_HOME/bin/isqlplusctl start"
;;
stop)
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac

posted @ 2009-10-13 19:28 田亮 阅读(450) | 评论 (0)编辑 收藏

Linux 下安装JDK

一、安装JDK

首先到sun官网下载安装包:

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

分别下载:jdk-6u16-linux-i586-rpm.bin jdk-6u16-linux-i586.bin

然后将这两个安装文件放到:/usr/tmp 目录下,分别修改权限,命令如下:

# chmod u+x ./jdk-6u16-linux-i586.bin

# chmod u+x ./jdk-6u16-linux-i586-rpm.bin

解压文件(这两个文件可以自动解压):

# ./jdk-6u16-linux-i586.bin

创建目录/usr/java:

# mkdir /usr/java

将解压出来的jdk-6u16-linux-i586目录复制到/usr/java目录下:

# cp -fr jdk-6u16-linux-i586 /usr/java

解压文件

# ./jdk-6u16-linux-i586-rpm.bin

安装软件会将JDK自动安装到 /usr/java/jdk-6u16-linux-i586目录下

二、配置环境变量

1.修改用户环境变量

假设使用java的用户为 guest,编辑该用户的.bashrc文件进行环境变量设置。

# vi /home/ guest /.bashrc

.bashrc文件中加入:

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

2.修改所有用户的环境变量

# vi /etc/profile

在该文件中加入:

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

注意CLASSPATH路径中加入了$CLASSPATH,这样可以避免将之前配置的路径被覆盖。

profile文件如下:

############profile begin###########

# /etc/profile

# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc

pathmunge () {

        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then

           if [ "$2" = "after" ] ; then

              PATH=$PATH:$1

           else

              PATH=$1:$PATH

           fi

        fi

}

# ksh workaround

if [ -z "$EUID" -a -x /usr/bin/id ]; then

        EUID=`id -u`

        UID=`id -ru`

fi

# Path manipulation

if [ "$EUID" = "0" ]; then

        pathmunge /sbin

        pathmunge /usr/sbin

        pathmunge /usr/local/sbin

fi

# No core files by default

ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then

        USER="`id -un`"

        LOGNAME=$USER

        MAIL="/var/spool/mail/$USER"

fi

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then

    INPUTRC=/etc/inputrc

fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

#java path

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

for i in /etc/profile.d/*.sh ; do

    if [ -r "$i" ]; then

        . $i

    fi

done

unset i

unset pathmunge

############profile end###########

三、卸载jkd

1、卸载系统自带的jdk版本:

查看自带的jdk

#rpm -qa | grep gcj

看到如下信息:

libgcj-4.1.2-44.el5

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

使用rpm -e --nodeps 命令删除上面查找的内容:

#rpm -e –nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2、卸载rpm安装的jkd版本

查看安装的jdk

#rpm -qa|grep jdk

看到如下信息:

java-1.6.0-openjdk-1.6.0.0-0.25.b09.el5

jdk-1.6.0_16-fcs

卸载:

#rpm -e --nodeps jdk-1.6.0_16-fcs

posted @ 2009-10-13 01:58 田亮 阅读(699) | 评论 (0)编辑 收藏

导航

统计

常用链接

留言簿(4)

随笔分类

随笔档案

文章分类

文章档案

相册

MyHome

搜索

最新评论

阅读排行榜

评论排行榜