操作系统平台:CentOS 6.0
Oracle版本:11g Release 2 (11.2)
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包)
(1)vi /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用户在bash和ksh中设定资源限制编辑文件 /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;
客户端链接出现: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
部分内容,增加了自己在安装过程中遇到的问题以及解决方案,仅供参考