Linux Redhat5.8安装Oracle 11g
光盘yum源配置
[root@WMStest ~]# cat > /etc/yum.repos.d/local.repo << EOF
[rhel5-BaseOS]
name=rhel5-BaseOS
baseurl=file:///mnt/hgfs/Server
gpgcheck=0
#gpgkey=file:///mnt/hgfs/RPM-GPG-KEY-redhat-release
enabled=1
EOF
注:光盘挂载到 /mnt/hgfs/下
验证是否挂载成功
yum clean all
yum repolist
yum list all
注:不报错就表示配置正确
禁用SElinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
安装Oracle 11g依赖组件
[root@WMStest ~]# yum install libaio-devel-0.3.106 sysstat-7.0.2 unixODBC-unixODBC-2.2.11 unixODBC-devel-2.2.11 -y
验证是否安装成功
[root@WMStest ~]# rpm -q libaio-devel-0.3.106 sysstat-7.0.2 unixODBC-unixODBC-2.2.11 unixODBC-devel-2.2.11
创建用户和组
[root@WMStest ~]# groupadd -g 5001 oinstall
[root@WMStest ~]# groupadd -g 5002 dba
[root@WMStest ~]# useradd -u 5001 -g oinstall -G dba oracle
[root@WMStest ~]# passwd oracle
创建目录并赋权限
[root@WMStest ~]# mkdir -p /u01/app/oracle
[root@WMStest ~]# chown -R oracle:oinstall /u01/app/oracle
[root@WMStest ~]# chmod -R 775 /u01/app/oracle
[root@WMStest ~]# chown -R oracle:oinstall /u01/app
[root@WMStest ~]# chmod -R 775 /u01/app
修改硬件资源限制
查看资源情况
[root@WMStest ~]$ ulimit -a
修改 /etc/security/limits.conf
先备份 /etc/security/limits.conf
[root@WMStest ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
修改 /etc/security/limits.conf 增加如下两行(根据安装过程提示的,已安装提示实际为准)
oracle hard nofile 65536cd
oracle soft nofile 1024
root用户修改 /etc/pam.d/login启动文件 增加以下内容
echo "session required /lib64/security/pam_limits.so">>/etc/pam.d/login
修改内核资源
先备份/etc/sysctl.conf
[root@WMStest ~]$ cp /etc/sysctl.conf /etc/sysctl.conf.bak
查询当前系统内核使用的参数 (可选项)
sysctl -a |grep shm
sysctl -a |grep fs.aio
sysctl -a |grep fs.file
sysctl -a |grep sem
sysctl -a |grep net.core.rmem
sysctl -a |grep net.core.wmem
sysctl -a |grep net.ipv4.ip_local_port_range
修改/etc/sysctl.conf 增加如下内容
#ORACLE SETTING
kernel.sem = 250 32000 32 128
fs.file-max = 6815744
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 = 1048576
fs.aio-max-nr = 1048576
kernel.sem = 250 32000 100 128
写入完后执行使设置立即生效
sysctl -p
切换到oracle用户下编辑 .bash_profile添加如下内容
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
执行安装
1.上传oracle客户端软件到指定目录解压
2.切换到oracle用户打开终端,进入解压路径执行./runInstaller
3.安装完后验证
1)执行切换用户命令 su - oracle (一定要加“-”)
加横杠“-”
有横杠 login shell:用户切换,更改工作目录,加载所有用户环境配置
2)sqlplus /nolog(只是启动sqlplus而不连接数据库,使用nolog参数)
出现SQL> 则表示安装正确
3)退出SQL> 输入EXIT命令或QUIT命令,退出sqlplus工具
注:输入用户名和密码提示
ORA-12162: TNS:net service name is incorrectly specified
原因是环境变量里没有指定数据库实例增加即可
如增加:export ORACLE_SID=orcl
启动Oracle服务并启动监听
启动Oracle服务
重启Linux服务器后,Oracle服务还需要手动启动。启动步骤如下:
登录到Linux服务器,并切换到oracle用户权限下(命令:su - oracle)
运行sqlplus命令,进入sqlplus环境,并添加nolog参数,表示不登录 (命令:sqlplus /nolog)
以系统管理员的身份连接数据库 (命令:conn /as sysdba)
启动数据库实例 (命令:startup)
启动Oracle监听服务
有时候启动Oracle服务后,依然无法通过Navicat等工具连接到Oracle数据库(确定不是OCI的问题)。那么有可能是Oracle的监听服务还没有打开。打开监听服务步骤如下
exit退到oracle用户
检查监听服务是否启动(命令:lsnrctl status)
启动监听服务(命令:lsnrctl start)