按照以下两篇文章安装出问题时,请参考我的另一篇文章《LINUX下安装ORALCLE完全手册》http://hi.baidu.com/jswanli04/blog/item/95af8f645edf68f1f73654b7.html
转文一、在SUSE Linux下安装Oracle9 [zz]
检查系统配置
系统要求:
内存:
安装Oralce 9i软件至少需要512M内存,用以下命令可以查看主机内存大小:
grep MemTotal /proc/meminfo
MemTotal: 2075488 kB
2075488 kB就是系统的内存大小。
交换区:
交换区的大小一般要求是内存的两倍,至少要求达到400M以上,当然是越大越好,用以下的命令可以查看系统交换区的大小:
/sbin/swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 2104252 8 42
2104252就是系统交换区的大小。
硬盘空间:
安装Oracle9i数据库至少要有2.5GB以上的剩余空间。
配置内核参数
Oracle9i使用Linux的共享内存、交换区等资源进行工作,如果内核参数设置不能满足Oracle的要求,那在安装oracel9i或使用过程就会频频出现问题,因此配置系统内核的参数就显得尤为重要和关键了。
内核参数的配置一般在/proc文件夹下配置:
1. 以root用户允许以下命令;
2. 进入目录/proc/sys/kernel;
3. 用cat命令或more命令查看semaphore当前参数的值:
cat sem
命令运行后将会出现如下的结果:
250 32000 32 128
其中, 250 是参数SEMMSL的值,32000是参数SEMMNS的值, 32是参数SEMOPM的值,而128则是参数SEMMNI的值。
4. 用以下的命令可以对上述参数进行修改
echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > sem
其中SEMMSL_value、SEMMNS_value、SEMOPM_value、SEMMNI_value分别用相应的值进行替换,并且这些值的顺序不能调换
5. 设置共享内存大小,共享内存大小一般设为物理内存的一半,在这里我们假设物理内存为512M则共享内存的值4294967295以此类推,如果你的物理内存是1G则这里的值则是8589934590:
echo 4294967295 > shmmax
实际操作 :
? 在/etc/rc.local文件中增加一下内容
? echo 2820130816 > /proc/sys/kernel/shmmax
? echo 500 300000 100 600 > /proc/sys/kernel/sem
? 并执行一次这两个命令
添加用户
创建dba组:
groupadd dba
创建安装目录:
mkdir -p /u01/product/oracle9i
创建oracle用户(设置oracle用户为dba组、用户主目录为/u01/product/oracle9i、):
useradd -g dba -d /u01/product/oracle9i oracle
授权:
chown -R oracle.dba /u01
编辑环境变量
linux:/opt/oracle/oracle9i # vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
ORACLE_BASE=/u01/product export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/oracle9i export ORACLE_HOME
ORACLE_SID=rao export ORACLE_SID
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_LANG
ORACLE_TERM=xterm export ORACLE_TERM
PATH=$PATH:/usr/bin:/usr/sbin/:/bin:$ORACLE_HOME/bin export PATH
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib export CLASSPATH
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH:$ORACLE_HOME/lib export LD_LIBRARY_PATH
LC_ALL=C export LC_ALL
LANG=C export LANG
LD_ASSUME_KERNEL=2.4.19 export LD_ASSUME_KERNEL
LD_PRELOAD=$HOME/libcwait.so
DISPLAY=localhost:1 export DISPLAY
export PATH
unset USERNAME
其中:
ORACLE_BASE 和ORACLE _HOME设置了ORACLE软件的安装目录;
ORACLE _SID 为数据库的SID,这里可以自行设置;
NLS_LANG 为数据库的字符集,为了保证数据库能够输出输入数据库,我们需要在这里把字符集设为american_america.ZHS16GBK,其中american_america英文字符集,ZHS16GBK为中文字符集。
DISPLAY 设置x-windows终端的显示
以Oracle用户登陆系统,
vi $HOME/.bash_profile
把以上环境变量的设置粘贴到文件中,确认相应的内容并修改,存盘退出。
重新登陆Oracle用户
使用set|more命令可查看Oracle用户的环境变量是否生效
准备所需的安装文件
检查rpm包
安装光盘镜像文件:
ORACLE9204-1.ISO
ORACLE9204-2.ISO
ORACLE9204-3.ISO
挂载镜像文件:
mount -o loop ORACLE9204-x.ISO /mnt/cdrom
用oracle用户起动vnc服务
su – oracle
输入命令:vncserver
启动vnc
连接x-windows终端
使用vncviewer.exe ,地址输入10.98.140.31:1(参考.bash_profile, DISPLAY=localhost:1)
在x-windows终端中,切换成oracle用户
运行cd1.iso中的runistaller脚本
sh /mnt/cdrom/runistaller
开始安装
装的时候分区没有分u01。(失误,老孙的教程是装在/u01/product下的,装到最后才发现u01空间不够….)
只有把Oracle放在/opt/oracle下,碰到无数错误折腾了一天……
-----------------------
转文二:Oracle 10g for ubuntu 安装指南 [zz]
本文是在ununtu linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置了ununtu Linux。并且安装好了gcc, make, binutils, lesstif2, libc6, and rpm libaio1 awk rpm j2re的运行环境,可通过apt-get install 完成安装(ununtu和debian的这种安装方式蛮方便的)。
1. 创建用户和组
oracle安装需要两个unix用户组和一个运行时的oracle用户。
#addgroup oinstall
#addgroup dba
#addgroup nobody
#useradd -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle
#usermod -g nobody nobody
2. 创建目录
有很多文档,建议您将oracle安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适自己的安装目录。在本文档中,我们假设 oracle的安装目录为/opt/ora10。确保有至少3.0G的可用空间。(晕死,我全部的剩余空间呀:()
#mkdir -p /opt/ora10
#mkdir -p /opt/ora10
#chown -R oracle:oinstall /opt/ora*
#chmod -R 775 /opt/ora*
您生成了oracle的运行时路径,并且授写权限给oracle用户,执行权限给dba组。
3 设置内核参数
3.1修改sysctl.conf
添加如下的行到/etc/sysctl.conf中:
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约86%的时候就会挂掉。祝您好运。^_^
3.2 修改limits.conf
添加下面的行到/etc/security/limits.conf以修改你的资源限制:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
3.3 让修改生效
修改了以上文件后,您必须让其生效,您重启系统,或者切换到root用户下用以下的方式改变内核运行参数:
#sysctl -p
3.4 创建程序链接
#ln -s /usr/bin/awk /bin/awk
#ln -s /usr/bin/rpm /bin/rpm
#ln -s /usr/bin/basename /bin/basename
4 .设置Oracle用户环境
以oracle用户登录:
~$su oracle
修改~/.bash_profile文件,去掉下列三行的注释符,使.bashrc文件生效:
#if [ -f ~/.bashrc ]; then
# . ~/.bashrc
#fi
ununtu默认是没有注释的,debian用户需要取消掉这个。
添加下列行到~/.bashrc:
# oracle 10g
export ORACLE_BASE=/opt/ora10
export ORACLE_HOME=/opt/ora10
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=compiere
export ORACLE_TERM=xterm
# Edit paths
export LD_LIBRARY_PATH=/opt/ora10/lib:/opt/ora10/lib/stubs/:$LD_LIBRARY_PATH
export PATH=/opt/ora10/bin:$PATH
我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫compiere,如果您想用其他的名字,请您作相应的修改。
5 执行安装
5.1 交换分区的调整
以oracle用户启动X,进行安装。
差点忘了,为了安装Oracle 10g,oracle推荐至少512M内存和至少400M交换空间。内存,好象不够关系也不大,但是交换分区 呢,您还是大方一点吧。如果您的交换分区不够400M,那么您还是先看看这一步吧。
重设交换分区可以使用如下操作:
shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000
shell# chmod 600 tmp_swap
shell# mkswap tmp_swap
shell# swapon tmp_swap
完成安装以后,可以释放这个空间:
shell# swapoff tmp_swap
shell# rm tmp_swap
count值是根据您需要调整的交换分区大小而定。
5.2安装前的准备
终于可以安装了。我们假设下载的安装文件位于/home/sungaoyong/oracle下,名称为10201_database_linux32.zip 解压后。
创建一个文件 /etc/redhat-release:添加如下内容。
Red Hat Linux release 3.1 (drupal)
oracle将会把系统认为是redhat 3了:)
5.3 java中文的显示
进入java的安装路径
$ cd /usr/lib/j2se/1.4/lib
$ sudo cp font.properties.zh_CN_UTF8.Sun font.properties
将最下面的一行改为如下:
filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646- 1=/usr/share/fonts/VeraSansYuanTi/VeraSansYuanTi-Regular.ttf
appendedfontpath=/usr/share/fonts/VeraSansYuanTi
java就支持中文显示了。
5.4运行Installer
进入oracle数据库解压的目录
./runInstaller -jreLoc /usr/lib/j2se/1.4/jre
指定jre的目的就是始安装界面可以显示中文,否则安装界面的中文都是小框框,不信试试,嘿嘿!
接下的一般选择默认设置就可以了。
6.启动数据库
1.启动
$ sqlplus " scott/tiger as sysdba"
将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行startup命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
2. 关闭Oracle10g 数据库
$ sqlplus "scott/tiger as sysdba" //以sysdba用户登录数据库
成功登录数据库系统后,运行shudown命令关闭数据库。
SQL> shutdown
3. 启动Oracle10g监听程序
Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
$ lsnrctl
将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16
:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行start命令启动监听程序。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成
功。
4. 关闭Oracle10g监听程序
运行stop命令关闭监听程序。
LSNRCTL> stop
7.创建自启动脚本
创建oracledb脚本到/etc/init.d/oracledb,内容如下
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_HOME=/opt/ora10
export ORACLE_SID=compiere
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
su $ORA_OWNR -c $ORACLE_HOME/bin/emctl start dbconsole
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
su $ORA_OWNR -c $ORACLE_HOME/bin/emctl stop dbconsole
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
设置权限,放到启动脚本中去
#chmod 755 /etc/init.d/oracledb
#update-rc.d oracledb defaults 99
7.使用企业管理器
启动控制台
#emctl start dbconsole
访问数据库控制器
http://localhost.localdomain:1158/em/
要提供sys/passwd as sysdba;
你要从一个客户端浏览器访问em 数据库控制器,必须要运行dbconsole进程.安装之后,dbconsole进程是自动会启动的.然后,如果这个集成没有启动,你可以向下面的命令行手工的启动它:
1.到$ORACLE_HOME/bin目录下
2.执行下面的命令: emctl start dbconsole
这样你就可以打开web浏览器,输入下面的http://hostnameortnumber/em
来访问em db control.
host那么是你的计算机的名字或地址.portnumber是em db control http的端口号,这是在安装的时候指定的.
默认的是1158 ,你可以在$ORACLE_HOME/install/portlist.ini文件中找到这个值.
如果实例启动了,EM就会显示db control登录页.你必须使用授权访问db control的用户登录到数据库.一开始是sys用户,
使用在安装的时候你确定的sys用户的密码.从connect as 下拉框选sysdba,然后点登录.这样就会出现db control的主页.
这是同Oracle 9i的不同的。其它的大家共同学习吧!