ORACLE 10G 在RedHat AS4下的安装与卸载
作者:周怀进 创建时间: 2007-03-13
序 |
本文档描述了oracle 10g 在Redhat as4下的安装与卸载的细节,供各位同事以及朋友们参考。 由于该文档是工作中的经验积累,文档整理的大部分时间也是工作时间,因此有必要替公司做一下广告。 “TradeBeam 促进全球贸易”,敬请访问http://www.tradebeamchina.com/ . 很钦佩“spring开源文档”的作者夏昕朋友,他有毅力把那份文档整理出来,因为整理文档是很费时间的一件事,更可贵的是,还能共享出来,他的一句话是“取自于互联网,还于互联网”,我赞赏!期望看到这份文档的朋友们多一些共享精神,这样能节省很多人的时间,大家才有时间去探索、研究一些未知的问题。社会才会有进步! 大家一起来分享自己的经验吧,别人节约了时间,你获得了快乐! 该篇文档将会共享到互联网上。 感谢开源软件的作者和团队! 感谢共享相关知识的朋友!感谢互联网上的诸位朋友们。
|
目 录
文字颜色说明:深蓝色为执行的命令或脚本
一 涉及到的软件版本
Linux:
Redhat -release-4AS-2
内核版本: 2.6.9 -5.ELsmp
Tips:可以用 cat /etc/issue 来查看 redhat的版本
可以用uname –r 或 uname -a 来查看内核版本
可以用cat /proc/version 来查看内核版本以及所安装的Linux OS的更详细的信息。
Oracle:
Oracle Database 10g Release 2 ( 10.2.0 .1.0) for Linux x86
可以在sqlplus中,执行SQL
select banner from sys.v_$version
从而得到如下信息:
Oracle Database 10g Enterprise Edition Release 10.2.0 .1.0 - Prod
PL/SQL Release 10.2.0 .1.0 - Production
CORE 10.2.0 .1.0 Production
TNS for Linux: Version 10.2.0 .1.0 - Production
NLSRTL Version 10.2.0 .1.0 - Production
之所以列出版本信息的原因,是因为本文档所描述的步骤及细节仅适用于文中所标识的软件版本。因为不同的Oracle版本或是不同的Linux OS都会影响安装过程中需要配置的参数或升级的软件包不一样。因此对于别的软件版本的安装工作,本文档只有参考价值。
二 安装预备工作
1.下载Oracle 10g
http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux32.zip
到oracle.com上去找对应版本。
将该文件上载到服务器上,比如/home/software,并用unzip 命令解压:
cd /home/software
unzip 10201_database_linux32.zip
将会把文件解压到当前目录下,是一个database目录,等下面的准备工作都做完后,可以到服务器上在图形界面下启动runInstaller,根据页面提示一步步安装。
2.检查硬件的需求
- At least 1024 MB of physical RAM
- The following table shows the relationship between the available RAM and the required swap space.
Available RAM | Swap Space Required |
Between 1024 MB and 2048 MB | 1.5 times the size of RAM |
Between 2049 MB and 8192 MB | Equal to the size of RAM |
More than 8192 MB | 0.75 times the size of RAM |
- 400 MB of disk space in the /tmp directory
- Between 1.5 GB and 3.5 GB of disk space for the Oracle software, depending on the installation type
- 1.2 GB of disk space for a preconfigured database that uses file system storage (optional)
以上数据来自Oracle的安装文档,解压后的文件夹,/database/doc/index.htm,相信用来做数据库服务器的硬件配置基本都是够的。更多的细节请参看Oracle附带的安装文档。
3.创建用户及组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle #设置oracle用户的密码
更详细的细节请参考Oracle的安装文档。
4.调整/配置系统内核参数
a).在/etc/sysctl.conf文件中加入下列行:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
b).运行下列命令改变核心参数:/sbin/sysctl –p
5.为oracle用户调整一些系统资源的限制
在/etc/security/limits.conf中添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
你可以用ulimit –a 查看默认的对用户的限制。
nofile - 可打开的文件/描述符的最大数,默认是1024,在我以前的一个项目中,需要通过JNI调用用户的鉴权功能,由于写C的那个同事,在写日志文件时,忘了关闭文件句柄,导致打开的系统描述符很快达到最大值,从而导致JVM宕掉,因此设置nofile还是很有必要的,不仅是为oracle用户设置,建议将上述配置信息中的oracle替换为*,表示为所有用户的设置。
nproc - 单个用户可用的最大进程数量.,默认值为143360,有点大。
在/etc/pam.d/login中添加或修改如下信息:
session required /lib/security/pam_limits.so
在/etc/profile中添加
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
执行下列脚本使设置立即生效。
source /etc/profile
6.安装一个软件包
ftp://download.fedora.redhat.com/pub/fedora/linux/core/3/SRPMS/libaio-0.3.102-1.src.rpm
可以到下面的页面查看详细的信息。
http://rpmfind.net/linux/RPM/fedora/3/i386/libaio-0.3.102-1.i386.html
Oracle 10g 安装在RHAS2上需要libaio-0.3.98-18版本,自带的版本不够。
安装:
rpm –ivh libaio-0.3.102-1.src.rpm
7.创建安装Oracle的相关目录
先用df –h 查看一下系统空间的使用状况,一般可以安装在/usr下
mkdir -p /usr/oracle10/product/ 10.2.0
意味着
ORACLE_BASE=/usr/oracle10
ORACLE_HOME=/usr/oracle10/product/ 10.2.0
设置权限
chown -R oracle:oinstall /usr/oracle10
chmod -R 775 /usr/oracle10
8.配置环境变量
以oracle用户登陆或从root下su过去,要加-
su -oracle
vi .bash_profile
添加如下行:
export ORACLE_SID=orcl
export ORACLE_BASE=/usr/oracle10
export ORACLE_HOME=/usr/oracle10/product/ 10.2.0
当然以root用户身份添加到 /etc/profile中也可以
执行下面教本可以让环境变量立即生效
source /etc/profile (注意是root用户身份)
source ~/.bash_profile (注意是oracle用户身份)
三 开始安装
切换到oracle用户,如果DB SERVER就在工作环境附近,到服务器上在图形模式下,进入你刚才解压ORACLE安装文件的目标文件夹,如上述的/home/software/database,找到runInstaller文件,运行该文件,选择弹出对话框中的最后一个按钮(图形方式运行),一步步按提示信息安装。如果DB SERVER在远程,则需要远程登陆Linux安装ORACLE.则请参考稍后我提供的文档《几种图形方式登陆远程Linux的比较》。
需要注意的几个问题:
1. 在正式安装前,安装程序会检查当前的硬件、软件以及系统设置是否满足安装条件,如不满足,系统会详细列出相关信息。你就根据提示去调整参数或是升级对应的软件包,软件包可以到google.com上去搜,可以找到最新的包去安装上。
2. 在安装的过程中,需要你设置数据库实例名,请注意该实例名一定要和你在profile文件里配置的ORACLE_SID一致,否则会导致数据库无法启动。关于数据库实例名和SID以及服务名的区别感兴趣的可以去网上检索资料,这里不再赘述。
3. 在安装的后期,需要执行两个脚本,请注意是必须以root身份去执行,你只要新开一个终端窗口,输入对应的脚本就可以了。
4. 如果你需要修改字符集,则需自定义安装,然后在安装的后期去选择字符集。另外还有一个选择,可以在安装完成后,以sys用户去修改字符集,字符集信息在表 props$ 里,对应的字段是name ='NLS_CHARACTERSET';将其value修改为你想要的值就可以了。
5. 启动监听服务
lsnrctl start
停止服务:
lsnrctl stop
四 ORACLE卸载
如果你在安装过程中出现了问题,需要卸载,重新安装,那么需要参考这一小节的文字。ORACLE的卸载在Linux下有点问题,正常情况我们启动安装的那个界面,点击卸载按钮,
可以去选择卸载项,确定即可,windows下很正常,但在linux下不是这样的,应该属于bug。
因此我们可以手工卸载:
停掉oracle的listener:
lsnrctl stop
或是kill掉对应的服务如果不这么做,会导致再次安装后的端口不是默认的1521
以oracle用户执行如下脚本:
1.$ORACLE_HOME/bin/localconfig delete
2. rm -rf $ ORACLE_BASE/*
3.创建空的存放oracle文件的目录mkdir -p /usr/oracle10/product/ 10.2.0
以root用户执行如下脚本:
1. rm -f /etc/oraInst.loc /etc/oratab
2. rm -rf /etc/oracle
3. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
重新从第三步开始安装做起。
A.参考文献
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html
……
互联网
感谢共享相关知识的朋友!
文档作者:周怀进
欢迎指正文档中的错误,不胜感激。
联系方式:
blog: http://spaces.msn.com/members/zhj-michael/