在Linux系统上面安装Oracle10g(1)

  
关于在linux上面安装Oracle10g,网上资料很多,但很多说的比较简略,笔者根据自己的安装经历,详细记录说明,供大家参考。
 
用户和用户组创建
资料建议在安装oracle时创建两个 unix 用户组oinstall组、dba组和一个运行时的oracle 用户。具体命令如下
#addgroup oinstall
#addgroup dba
#useradd -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle
在部分linux系统下面,上面的useradd命令创建用户后,用户不能登陆,提示密码错误,需要用root用户修改密码并允许用户登陆,如果不熟悉命令行操作,可以在图形界面进行设置,或者删除这个oracle用户,重新用useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle命令创建。我个人习惯用useradd oracle建立以后再修改有关参数。如果oracle用户已经存在,可以直接利用 usermod -g oinstall -G dba oracle 命令设置组。
在很多资料上说到要创建nobody用户和nobody组,这个主要是Web服务器Apache运行所需要的,最好也检查一下是否有nobody用户和nobody组,如果没有则执行以下操作创建nobody用户和nobody组:
#addgroup nobody
#usermod -g nobody nobody
 
创建工作目录
有很多文档,建议您将oracle安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适自己的安装目录。在本文档中,实际Oracle的安装目录为/opt/oracle/ora10g。确保有至少3.0G 的可用空间。
#mkdir -p /opt/oracle
#chown -R oracle:oinstall /opt/oracle
#chmod -R 775 /opt/oracle
上面的命令生成了oracle的运行时路径,并且授写权限给oracle用户,执行权限给dba组。部分资料上说到要创建/opt/oracle/ora10g目录并授权,实际安装证明没有必要,在安装时根据图形界面的提示,输入/opt/oracle/ora10g,系统会自动建立该目录并进行必要的授权。
 
设置内核参数
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
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约86%的时候就会挂掉。
上面这些参数不同的文档有不同的参数,实际安装时,在oracle进行系统检测时会说明希望具体的参数值是什么,这时候只要按照oracle推荐参数值设置,一般都可以正常安装完毕,否则就会有些步骤失败,最后不能正确完成安装。
 
2、 修改limits.conf文件的内容
添加下面的行到/etc/security/limits.conf,以修改系统的资源限制:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
 
3、 让参数修改生效
修改了以上文件后,必须让其生效,可以重启系统,或者切换到root用户下用以下的方式改变内核运行参数:
#sysctl –p
在root用户执行sysctl命令时,有时会找不到该命令,可以去 /sbin目录下面执行该命令,有些系统在执行时必须用 ./sysctl –p 这种格式,可以尝试一下,只要显示运行成功即可,这时会显示上面在 /etc/sysctl.conf 文件输入的那些内容。
 
创建程序链接
#ln -s /usr/bin/awk /bin/awk
#ln -s /usr/bin/rpm /bin/rpm
#ln -s /usr/bin/basename /bin/basename
部分文档中说到要创建程序连接,但考虑到/usr/bin和/bin路径一般都设置在用户工作路径中,个人认为并没有必要。但实际证明,在oracle安装脚本文件中,很多命令是/bin/..形式的开头的,所以要检查这些命令是否能够全路径执行,否则就要创建有关的程序链接,不然部分脚本就不能正常完成。在RHEL4上可以不用创建,但在Ubuntu7.04上就必须创建。
 
安装其它配套软件包
在linux上安装oracle,下面这些软件包必须安装,具体可以利用rpm –q命令进行查询,查询必须输入软件数字版本号之前的全名称,如果没有就从安装盘中拷贝这些文件过来安装,所有一般要把全部rpm拷贝到一个软件目录,以便随时安装。
这些文件应该是oracle安装程序负责检查的,对没有安装的应该提醒用户安装,这可以说是oracle安装程序的一个缺陷。
在安装前可以用以下命令查询一个模块是否已经安装,或者删除一个模块:
rpm –q 模块名称 #查询一个模块是否已经安装
rpm –e 模块名称 #删除一个模块
如果没有安装可以,用以下命令安装或升级一个模块,要保证有关的文件拷贝已经存在:
rpm –ivh 模块文件名称 #安装一个模块
rpm –Uvh 模块文件名称 #升级一个模块
 
在RHEL3和RHEL4上安装oracle,下面这些软件包必须安装:
binutils-2.15.92.0.2-10.EL4
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
openmotif21-2.1.30-11.RHEL4.2 (在安装 Oracle demos 时需要)
 
在SUSE Linux Enterprise Server 9.0上安装oracle,下面这些软件包必须安装:
binutils-2.15.90.0.1.1-32.5
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
glibc-2.3.3-98.28
gnome-libs-1.4.1.7-671.1
libstdc++-3.3.3-43.24
libstdc++-devel-3.3.3-43.24
make-3.80-184.1
pdksh-5.2.14-780.1
sysstat-5.0.1-35.1
xscreensaver-4.16-2.6
 
设置Oracle 用户环境
整个oracle环境的设置可以在安装完成以后再进行,很多资料上都是先设置再安装,实际上不做任何设置,直接安装也是可以正常安装完毕的,当然java部分的设置要在oracle安装前进行,否则不能找到正确的JRE环境,安装程序就不能启动。
环境设置需要以oracle用户或root登录,修改oracle用户的 .bash_profile文件和 .bashrc文件,并让用户变量生效,在安装时提供缺省的一些提示参数。对于不熟悉vi操作的用户,可以用gedit进行操作。
 
1、 修改oracle用户的.bash_profile文件的内容
修改~/.bash_profile 文件,去掉下列三行的注释符,使.bashrc 文件生效,不同的linux具体内容可能有所不同,但原理完全一致:
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
fi
rhel、ununtu默认是没有注释的,其它系统用户需要检查,以确保取消对.bashrc的注释,使oracle用户登陆时 .bashrc文件生效。
 
2、 修改oracle用户的.bashrc文件的内容
添加下列行到~/.bashrc文件中:
# oracle 10g
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/ora10g
export ORACLE_OWNER=oracle
export ORACLE_SID=test10g
export ORACLE_TERM=xterm
#export LC_CTYPE=en_US.UTF-8
 
# Edit paths
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OACLE_HOME/lib
有些时候也要将ORACLE_HOME/lib/stubs加入LD_LIBRARY_PATH路径,个人感觉oracle不知为什么要重复安装很多操作系统已经提供的库文件,经过文件比较,发觉$OACLE_HOME/lib目录下80%的文件,在系统lib目录里面都存在,在这里重复安装实在没有必要,应该只是将oracle特有的库文件保留在$OACLE_HOME/lib目录下就完全足够。
上面的LD_LIBRARY_PATH和PATH在设置时要确保将$LD_LIBRARY_PATH和$PATH放在路径最前面,否则有些$OACLE_HOME/lib目录下的文件会被优先寻找。例如GLIBC_2.4模块的linc.so.6文件在oracle所提供的和操作系统提供的就不一致,在执行很多命令时都不能正常运行。
事实上,经过实际测试,在安装时只设置export PATH=$PATH:$ORACLE_HOME/bin,不增加其它内容,并且不设置LD_LIBRARY_PATH也安装成功。
在安装时,正常情况下oracle会自动正确的显示中文,因为其安装包中有jdk存在。如果不能正确显示中文,则需要在上面的文件中增加export LC_CTYPE=en_US.UTF-8,有效系统中,要修改为export LANG=en_US.UTF-8,以采用英文方式进行安装。
在有些linux发行版中,中文方式有一些汉字不能正确显示,特别是拷贝进行的显示不正常,可以忽略不计,实际操作还是能正常完成操作。我个人认为这是jdk在字符替代时的bug,在一种字体不存在时,应该用相近的另一个字体代替。
 
建议将上面的内容保存到另一个文件 .bashrc_oracle_export中,然后在.bashrc 中使用下列3行调用 .bashrc_oracle_export文件:
if [ -f ~/.bashrc_oracle_export ]; then
 . ~/.bashrc_oracle_export
fi
大家可以根据各自的习惯进行设置。需要注意的是,ORACLE_BASE设置需要和前面创建的目录相符,ORACLE_HOME建议用ORACLE_BASE做前置,并且也要和前面创建的目录相符。ORACLE_SID 是默认数据库的名称,在本文中的默认的数据库名叫test10g,可以根据实际情况进行修改。
 
标识linux 发行版本
Oracle10g只支持部分linux发行版,如果要在不支持的版本上安装,一般要指定一个版本表示文件,缺省的可以创建一个redhat的版本标识文件。该文件放置在 /etc目录之下,其文件名为redhat-release,具体文件内容如下:
Red Hat Linux release 4.0
这时系统安装程序就会检测linux版本为Red Hat Linux release 4.0,安装可以继续进行。
 
执行安装
在安装数据库系统的机器上,必须确保预留2倍内存大小的磁盘分区作为交换分区,一般建议预留一定的磁盘空间,用于交换分区的调整。现在硬盘都很大,预留1-2G完全没有问题。
在oracle安装时,必须确保以oracle用户启动X Window,不能以其它用户,否则安装会失败。
现在终于可以开始安装了。假设下载的安装文件位于/home/oracle下,名称为 10201_database_linux32.zip 解压后会生产一个database目录,里面有全部的安装文件,启动字符终端程序,进入该目录即可进行安装。具体安装命令如下:
./runInstaller
在oracle安装中主要有7个界面需要用户进行有关内容的输入,具体内容如下:
在第一个界面注意要正确的输入安装目录为上面设置的ORACLE_HOME变量所定义的安装主目录;并且要正确输入全局数据库名称,即ORACLE_OWNER所定义的名称,oracle不会自动带入ORACLE_OWNER所定义的名称,而是使用缺省的orcl作为全局数据库名称;还要输入正确的dba用户组,即上面建立的dba数据库管理组。
在第二个界面注意,要输入正确的oracle产品清单目录,应确保是ORACLE_BASE变量所指定的目录下面的oraInventory目录,并指定对该目录有写权限的用户组为上面建立的oinstall安装用户组。如果安装时提示目录已存在,可以删除重新安装或忽略提示继续安装。
第三个界面是系统检查界面,如果在系统检查时报错,一般会提示现在的配置值和希望的配置值,可以直接按照oracle推荐参数值设置,一般都可以正常安装完毕。
在第四个界面可以对安装的软件清单进行定制,选择合适的软件,对生产系统一般最好不要安装多余的模块,在选择完成后就可以坐下来喝杯茶,等待文件拷贝和基本数据库创建工作完成。 
在这个过程中, 有些系统会显示有一个ORACLE_HOME/rdbms/lib/ins_rdbms.mk文件执行不成功,但忽略错误安装也可以正常完成安装工作,在RHEL5和Turbo Linux上就出现这个现象,但仍然可以安装并成功启动oracle数据库系统。
在第五个界面会显示全局数据库名称、系统标识符(SID)、数据库启动参数文件名称,并允许指定部分内置缺省用户的口令,如scott等测试账户。
在第六个界面安装程序会提示以root身份运行2个shell文件,分办是orainstRoot.sh文件和root.sh文件。这时直接在终端窗口中以root运行即可,然后继续完成安装。
在第七个界面中主要显示安装后启动的服务,这时会显示3个web方式J2EE应用的URL,具体内容如下:
iSQL*Plus操作URL:http://localhost:5560/isqlplus
iSQL*Plus DBA操作URL: http://localhost:5560/isqlplus/dba
Oracle企业管理器URL: http://localhost:1158/em
完成上面的全部工作后,oracle的安装就基本完成,oracle全部的服务均可以正常使用,但是这时oracle并不能随系统启动自动启动,这个问题是linux的设置问题,和oracle无关,其实oracle本身自带的脚本有些复杂,要自己修改才可以正常运行。具体在和其它数据库安装的文章比较中再详述。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值