一、      安装环境

操作系统平台:CentOS 6.0

Oracle版本:11g Release 2 (11.2)

二、      安装前的准备工作

1.需要的包

binutils-2.17.50.0.6-2.el5

compat-libstdc++-33-3.2.3-61

elfutils-libelf-0.125-3.el5

elfutils-libelf-devel-0.125

gcc-4.1.1-52

gcc-c++-4.1.1-52

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

glibc-headers-2.5-12

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.1-52

libstdc++-4.1.1

libstdc++-devel-4.1.1-52.e15

make-3.81-1.1

sysstat-7.0.0

unixODBC-2.2.11

unixODBC-devel-2.2.11

检查是否已经安装的包 rpm –qa | grep binutils (检查第一个包否安装)

一次性检查:

rpm –q  binutils  compat-libstdc++  elfutils-libelf elfutils-libelf-devel ……|  grep not

 (……为省略的包名开头单词)

需要安装的rpm包可以使用 yum install  < package_name > 进行安装

(需要的包可以从CentOS 6.0镜像文件 Package 文件夹中找到,也可以使用命令: yum list | grep < package_name > , yum会自动搜索互联网上的 rpm包)

2.修改系统参数

1vi /etc/sysctl.conf, 在末尾添加如下参数:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1073741824

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

保存并使之生效:

/sbin/sysctl -p

如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

error: "net.bridge.bridge-nf-call-iptables" is an unknown key

error: "net.bridge.bridge-nf-call-arptables" is an unknown key

注意: kernel.shmmax's 的值是物理内存的一半。 我的是2G内存,所以是1073741824

 

 

2)对oracle帐号进行资源限制。vi /etc/security/limits.conf,添加:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

 (3) vi /etc/pam.d/login,登录认证配置pam模块。添加参数:

session required pam_limits.so

(4) oracle用户在bashksh中设定资源限制编辑文件 /etc/profile。添加至末尾。vi /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

 

 

(5)C shell 登录配置。 vi /etc/csh.login,添加:

if( $USER == "oracle" ) then

limit maxproc 16384

limit descriptors 65536

umask 022

endif

(6)因为RHEL 6.0未经认证,所以修改为如下值,成功安装数据库后在修改回来。但这一步并非是必须的,但为了 避免安装中途出现问题,还是改好了。

vi /etc/redhat-release

Red Hat Enterprise Linux Server release 5.0 (Tikanga)

(7)添加相关用户及用户组:

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -m -g oinstall -G dba oracle

echo "oracle"|passwd --stdin oracle (我比较懒,管道命令修改oracle密码)

(8) 创建安装路径及修改权限:

mkdir -p /opt/11g/oracle

chown -R oracle:oinstall /opt/11g/oracle

chmod -R 775 /opt/11g/oracle

mkdir -p /opt/11g/oraInventory

chown -R oracle:oinstall /opt/11g/oraInventory

chmod -R 775 /opt/11g/oraInventory

(9) vi /home/oracle/.bash_profile, 其中ORACLE_SID的值可以自己定,我的设为orcl

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/opt/11g/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

export CLASSPATH

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

umask 022

使环境变量生效:

source  ~/.bash_profile

(9)切换到oracle解压11G的安装包,这样就不用再修改权限了。重启后以oracle登录开始安装。

(10)为避免错误,关闭防火墙:

     service iptables stop

登录oracle(建议选择英语语言登录,防止安装时界面中文空格乱码,使用命令:export LC_ALL=en_US.UTF-8 解决乱码问题)

安装开始: ./ runInstaller

图形环境安装Oracle此处不详细说明。和windows类似。

 

补充 需要查看系统参数名使用命令 show parameter name

CentOS 6.0下Oracle 11g Release 2安装_oracle

客户端链接出现:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 问题的解决方法.

 

下是解决思路:

 

根据出错信息判断出客户端未监听到实例服务名

 

1、通过重启服务的方式启动数据库,再次连接仍无法连接服务器。

 

2、既然第一种方法不能解决问题,那就第二种方法。考虑监听listener.ora

 

   监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。

 

   既然listener.ora中没有指定监听,我们可以在listener.ora文件中指定监听的实例名,这样该问题应该可以连接。

 

步骤如下:

 

•       在oracle服务器Oracle安装目录(我的在E:\Oracle10g下,每个人的不一样,根据自己的情况查找)Network\admin目录下找到listener.ora 我的如下图所示


# listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc) 

      (ORACLE_HOME = E:\Oracle10g) 

      (PROGRAM = extproc)

    )

   (SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = E:\Oracle10g)

    (SID_NAME = ORCL)

    )

 )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

      (ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))

    )

  )

标红的为我添加的部分,ORCL为监听的实例名 

 

文章基于作者lemon ,http://blog.sina.com.cn/s/blog_5ffd70480100dm8b.html

以及作者蓝创星空,http://hi.baidu.com/creative_in_the_sky/blog/item/cc56b670ba5b7f0a8601b001.html

部分内容,增加了自己在安装过程中遇到的问题以及解决方案,仅供参考