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命令中明确登录的实例;
posted @ 2020-08-09 15:13  1718im  阅读(45)  评论(0)    收藏  举报