Centos 11g Oracle 安装记录
最近需要在虚拟机上装一个Oracle做测试学习使用,搜索了很多安装教程,大部分都有所欠缺,各种意外错误频发。经过一步步测试后,记录了如下安装流程,以备参考。
1、安装依赖包
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC-devel pdksh
pdksh无法安装的解决
如果是冲突:
[root@rac2 tmp]# rpm -Uvh pdksh-5.2.14-36.el5.x86_64.rpm
warning: pdksh-5.2.14-36.el5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY
error: Failed dependencies:
pdksh conflicts with ksh-20120801-10.el6.x86_64
#首先卸载
rpm -e ksh-20120801-10.el6.x86_64
#删除包
rpm -Uvh pdksh-5.2.14-36.el5.x86_64.rpm
#重新安装
wget http://vault.centos.org/5.11/os/i386/CentOS/pdksh-5.2.14-37.el5_8.1.i386.rpm
2、安装jdk
下载官网的rpm安装包,rpm -ivh jdk-8u121-linux-x64.rpm 。
3、创建用户和组
#创建用户,设置密码
[root@o1 ~]# useradd oracle
[root@o1 ~]# passwd oracle
#创建用户组
[root@o1 ~]# groupadd oinstall
[root@o1 ~]# groupadd dba
#修改oracle所属用户组
usermod -g oinstall -G dba oracle
4、修改内核参数
追加一段内核参数
[root@o1 ~]# vim /etc/sysctl.conf
-----追加内容-----
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048576
-----执行生效----
[root@o1 ~]# sysctl -p
# 修改打开限制
[root@o1 ~]# vim /etc/security/limits.conf
-----追加内容-----
oracle soft nproc 4096
oracle hard nproc 65536
oracle soft nofile 4096
oracle hard nofile 65536
5、创建oracle安装目录
[root@o1 ~]# mkdir -p /data/app/
[root@o1 ~]# chown -R oracle:oinstall /data/app/
[root@o1 ~]# chmod -R 775 /data/app/
6、重启服务器、使limit生效
7、添加环境变量
# 使用oracle登录
[root@o1 ~]# su - oracle
[oracle@o1 ~]$ vim .bash_profile
#追加下面这段
ORACLE_BASE=/data/app/oracle
ORACLE_SID=sales
ORACLE_HOME=/data/app/oracle/product/11.2.0/dbhome_1
export ORACLE_BASE ORACLE_SID ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
8、解压安装包
[oracle@o1 ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@o1 ~]$ unzip linux.x64_11gR2_database_2of2.zip
9、执行安装程序
#进入安装目录,开始安装
[oracle@o1 ~]$ cd database/
[oracle@o1 database]$ ./runInstaller
参考链接:https://www.linuxidc.com/Linux/2018-08/153802.htm
10、安装完成,执行配置脚本
[root@o1 ~]# sh /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oracle.
The execution of the script is complete.
[root@o1 ~]#
[root@o1 ~]# sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
11、设置oracle自启动
vi /etc/oratab
#将 orastu:/data/app/oracle/product/11.2.0/dbhome_1:N
#修改为:
orastu:/data/app/oracle/product/11.2.0/dbhome_1:Y
#继续修改
vi /etc/rc.d/rc.local
#添加:
su oracle -lc "/data/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /data/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
#重启即可
TroubleShoot
1、ORA-12170: TNS:Connect timeout occurred 解决思路
- 首先ping,确保能ping通
- 其次使用
telnet ip port来保证端口能通,如果不通,查看服务器防火墙配置。 - 最后考虑tnsping,查看监听程序是否正常
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙状态:service iptables status
永久开启防火墙:chkconfig iptables on
永久关闭防火墙:chkconfig iptables off
2、自启动无法修改
有人安装完oracle后,/etc/oratab找不到,解决办法:
用root用户进入系统,进入$ORACLE_HOME,即oracle的安装目录,找到root.sh,执行一下即可./root.sh
这时候,你会发现文件/etc/oratab出现了。
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- 使用
echo $ORACLE_HOME查看当前oracle环境变量; - 如果为空就使用:
export ORACLE_HOME=/data/app/oracle/product/11.2.0/dbhome_1来设置;
ORA-12162: TNS:net service name is incorrectly specified
- 设置环境变量
export ORACLE_SID=orastu; sqlplus royrs/1718@orastu as sysdba命令中明确登录的实例;

浙公网安备 33010602011771号