RedHat5.4安装oracle11g

1.准备oracle安装文件
Oracle11gR2包含两个文件
linux_11gR2_database_1of2.zip
linux_11gR2_database_2of2.zip
将这两个文件通上传到/usr/local/oracle中。


解压安装文件到当前目录
[root@localhost root]#cd /usr/local/oracle
[root@localhost oracle]#unzip linux_11gR2_database_1of2.zip
[root@localhost oracle]#unzip linux_11gR2_database_2of2.zip
执行以上命令后,将会在/usr/local/oracle/下面产生名为database的目录,这就是oracle安装程序的目录。


2.准备oracle的安装目标目录
[root@localhost oracle]#mkdir –p /opt/oracle
安装目标目录是用户想将oracle安装到哪个位置的目录,本次我们将oracle安装到/opt/oracle目录中,以下为目录创建命令。


3、创建oracle相关用户和用户组
oracle不能在root帐户下进行安装,所以需要为oracle的安装专门创建一个用户,同时需要创建dba和oinstall的用户组。
[root@localhost oracle]#groupadd dba
[root@localhost oracle]#groupadd oinstall
以下命令将创建dba和oinstall用户组:

以下命令将创建oracle用户,并设置密码
[root@localhost oracle]#useradd -g oinstall -G dba oracle
[root@localhost oracle]#passwd oracle
Changing password for user oracle.
New UNIX password: [在此键入密码]
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: [在此再次键入密码]
passwd: all authentication tokens updated successfully.

以下命令将oracle安装目录(/opt/oracle)赋予oracle用户oinstall用户组
[root@localhost oracle]#chown -R oracle:oinstall /opt/oracle


4、检查安装ORACLE依赖的RPM软件包
oracle的安装所依赖的软件包,有一部分linux是没有安装的。这需要将这些尚未安装的软件包先安装后才能正常安装oracle。这些未安装的软件包在linux安装光盘上可以取到,我
们直接在linux的光盘上对这些软件包进行安装(也可将所需的软件包直接复制到linux本地磁盘中),首先我们需要挂载linux光盘,使用以下命令:
[root@localhost oracle]#mkdir /mnt/cdrom
[root@localhost oracle]#mount /dev/cdrom /mnt/cdrom

安装所缺少的软件包,此处只安装本linux系统所缺少的软件包。如oracle安装过程中,对软件包进行检查时,发现仍有所需软件包未安装时,可根据显示未安装软件包的名字,再次对所缺少的软件包进行安装。以下为安装命令:
[root@localhost oracle]#rpm -ivh kernel-headers-2.6.18-164.el5.i386.rpm
[root@localhost oracle]#rpm -ivh glibc-headers-2.5-42.i386.rpm
[root@localhost oracle]#rpm -ivh glibc-devel-2.5-42.i386.rpm
[root@localhost oracle]#rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
[root@localhost oracle]#rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
[root@localhost oracle]#rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
[root@localhost oracle]#rpm -ivh libstdc++-devel-4.1.2-46.el5.i386.rpm
[root@localhost oracle]#rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
[root@localhost oracle]#rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
[root@localhost oracle]#rpm -ivh gcc-4.1.2-46.el5.i386.rpm
[root@localhost oracle]#rpm -ivh gcc-c++-4.1.2-46.el5.i386.rpm
[root@localhost oracle]#rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpmelfutils-libelf-devel-static-0.137-3.el5.i386.rpm
软件包安装完成后,


5、设置linux内核参数
打开修改/etc/sysctl.conf,在最后加入以下内容
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576


6、修改 /etc/security/limits.conf
修改/etc/security/limits.conf,加入内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

7、修改系统环境变量/etc/profile
修改环境变量/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



8、设置ORACLE环境变量
修改oracle用户主目录(/home/oracle)的的环境变量配置文件.bash_profile。使用以下命令
[root@localhost oracle]#vi /home/oracle/.bash_profile

往配置文件中加入以下内容

#注意这个值要和下面创建的数据库实例名称相同
export ORACLE_SID=orcl

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib


9、开始安装过程
以上步骤设置完成后,建议重新启动系统,使所有设置生效。现在使用oracle用户登录,并转到ORACLE安装程序目录。以下的每一个步骤都oracle安装过程的一个步骤(每一个步骤对应一个安装界面)。
[root@localhost oracle] # su oracle
[oracle@localhost oracle] #cd /usr/local/oracle/database

运行安装命令
[oracle@localhost database] #./runInstaller

安 装过程中如果出现错误信息[无法使用命令/usr/bin/xdpyinfo自动检查显示器颜色。请检查是否设置了DISPLAY变量。],使用root帐户执行以下命令,再切换到oracle用户运行安装程序(如果切换还是有错 误,请退出root账户,直接用oracle账户登录系统)。
[oracle@localhost oracle]#su root
[root@localhost oracle]#xhost + [IP地址,可选]
9.1 配置安全更新
到现在已经启动了oracle的安装程序,第一个界面可以输入电子邮箱地址,用来接收重大错误信息。另一选项通过My Oracle Support接收安全更新,本安装过程没有勾选。
9.2 安装选项
此处选择“安装和配置数据库”
9.3 系统类
有桌面类和服务器类两个选项,此处选择服务器类。
9.4 网格选项
选择单实例数据库安装
9.5 安装类型
选择高级安装
9.6 产品语言
可以选择多种运行时语言,此处使用系统的默认选择(简体中文)
9.7 数据库版本
此处选择企业版
9.8 安装位置
oracle基目录为:/opt/oracle
oracle主目录为:/opt/oracle/product/11.2.0/dbhome_1
9.9 创建产品清单
本次安装的产品清单目录为:/opt/oracle/oraInventory
oraInventory的用户组名为:oinstall
9.10 配置类型
此处选择一般用途/事务处理
9.11 数据库标识符
本次安装的全局数据库名和服务标识符为:orcl(采用的默认,注意这个要和上面配置相同)
9.12 配置选项
这一步可以对oracle的内存使用,字符集,安全性,示例方案进行配置,本次安装将使用oracle的默认配置。
9.13 管理选项
使用oracle的默认配置
9.14 数据库存储
此处选择文件系统,数据库文件位置使用oracle的默认位置
9.15 备份和恢复
此处选择不启用自动备份
9.16 方案口令
此处选择对所有帐户使用相同的口令
9.17 操作系统组
数据库管理员(OSDBA)隶属的用户组是:dba
数据库操作者(OSOPER)隶属的用户组是:dba
9.18 先决条件检查
这一步oracle会对操作系统的用户和用户组、内存、软件包、系统内核等参数进行检查。不符要求的地方会列出来(可根据所列出的不符要求的项逐一解决),完全符合要求时,点击下一步。
9.19 执行安装
到这里已经是最后一步了,ORACLE程序正在安装过程中,需要二三十分钟的时间,安装完成后点击完成即可。到这里呢,就要祝贺你ORACLE安装成功了!


10、启动ORACLE
完成以上操作时,建议重新启动一次,避免某些设置未生效。重启后使用oracle用户登录,打开终端,键入以下命令运行以下命令
启动监听:
[root@localhost oracle]$lsnrctl start
启动数据库和实例:
[root@localhost oracle]$sqlplus /nolog
[root@localhost oracle]$conn /as sysdba
进入sqlplus后,执行启动数据库命令,以下命令将创建、安装并打开ORACLE实例。此时,数据库系统处于正常工作状态,可以接受用户请求。
SQL>startup

恭喜,你的ORACLE数据库已经启动成功




相关错误

1.在oracle安装界面输入密码输入不进去
#xprop -root -remove _MOTIF_DEFAULT_BINDINGS
#xprop -remove WM_LOCALE_NAME
#xprop -root -remove XIM_SERVERS
运行安装程序前执行这三条命令


2. lsnrctllsnrctl: error while loadingshared libraries: /u01/app/oracle/lib/libclntsh.so.11.1: cannot restore segmentprot after reloc: Permission denied
$su root
#setenforce 0
#getenforce
Permissive
#exit
$lsnrctl start

(执行setenforce找不到命令时
1>在/etc/profile中添加export PATH=$PATH:/sbin
2>执行#source/etc/profile,让添加的内容生效)



3. lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 -Production on 23-FEB-2012 15:21:21
Copyright (c) 1991, 2009, Oracle. Allrights reserved.
Starting/opt/oracle/product/11g//bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 -Production
System parameter file is/opt/oracle/product/11g/network/admin/listener.ora
Log messages written to/opt/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Error listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege foroperation
Linux Error: 1: Operation not permitted
Listener failed to start. See the errormessage(s) above...

$su
使用root执行下面命令
#chown oracle:dba .oracle
#exit
使用oracle用户再次执行监听
$lsnrctl start

4.Error accessing PRODUCT_USER_PROFILE解决方法

创建用户test01,并授权connect,resource之后,连接时出现如下错误:

SQL> conn test01/wangy01

Error accessing PRODUCT_USER_PROFILE

Warning:  Product user profile information not loaded!

You may need to run PUPBLD.SQL as SYSTEM

Connected.

解决方法:需要在system用户下运行pupbld.sql,在连接即可。但忘记了system密码。可通过如下操作实现:

$sqlplus /nolog

SQL> conn /as sysdba

SQL> startup

SQL> alter user system identified by oracle;

SQL> conn system/oracle

SQL> @?/sqlplus/admin/pupbld.sql

SQL> conn test01/wangy01

操作成功。