1.问题解决
在运行Oracle安装程序时,可能会出现弹框不全的现象,在运行安装程序的时候选择
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

改/etc/profile文件后
需要 source /etc/profile 生效

安装程序需要的包yum install -y libaio*

2.开始配置
创建运行oracle数据库的系统用户和用户组
[root@localhost]# groupadd oinstall  #创建用户组oinstall
[root@localhost]# groupadd dba  #创建用户组dba
[root@localhost]# useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
[root@localhost]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
[root@localhost]# id oracle # 查看新建的oracle用户

3.创建oracle数据库安装目录
[root@localhost]# cd /. #进入根目录
[root@localhost]# mkdir -p /data/oracle  #oracle数据库安装目录
[root@localhost]# mkdir -p /data/oraInventory  #oracle数据库配置文件目录
[root@localhost]# mkdir -p /data/database  #oracle数据库软件包解压目录
[root@localhost data]# chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户
[root@localhost data]# chown -R oracle:oinstall /data/oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/database

4.修改OS系统标识(oracle默认不支持CentOS系统安装,但是centos其实就是redhat)
[root@localhost data]# cat /proc/version
[root@localhost data]# cat /etc/redhat-release
[root@localhost data]# vi /etc/redhat-release
[root@localhost data]# cat /etc/redhat-release
redhat-7

5.安装oracle数据库所需要的软件包
[root@localhost data]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc+±devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

centos7需要的安装包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
  我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
  它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装
  有时候使用yum安装的时候,会提示another app is currently holding the yum lock,这个时候打开另外一个terminal,在root用户下输入
  #rm -f /var/run/yum.pid
  强制关掉yum进程

6.关闭防火墙
[root@localhost data]# systemctl status firewalld.service #查看防火墙状态(运行中)
[root@localhost data]# systemctl stop firewalld.service #关闭防火墙
[root@localhost data]# systemctl status firewalld.service #查看防火墙状态(已关闭)
[root@localhost data]# systemctl disable firewalld.service #禁止使用防火墙(重启也是禁止的)

7.关闭selinux(需重启生效)
1 [root@localhost data]# vi /etc/selinux/config
2 [root@localhost data]# cat /etc/selinux/config

/etc/selinux/config 最终文档为:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #此处修改为disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

8、修改内核参数(加入斜体部分)

[root@local++host data]# vi /etc/sysctl.conf
[root@localhost data]# cat /etc/sysctl.conf

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

9、使配置修改内核的参数生效

[root@localhost data]# sysctl -p

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
sysctl: setting key "fs.file-max": Invalid argument
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
sysctl: setting key "kernel.shmall": Invalid argument
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
sysctl: setting key "kernel.shmmax": Invalid argument
kernel.shmmax = 2147483648 #最大共享内存的段大小
sysctl: setting key "kernel.shmmni": Invalid argument
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
sysctl: setting key "net.ipv4.ip_local_port_range": Invalid argument
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

10、对oracle用户设置限制,提高软件运行性能(斜体为添加部分)

[root@localhost data]# vi /etc/security/limits.conf
[root@localhost data]# cat /etc/security/limits.conf

在最下面部分添加内容(斜体为添加的内容)

@student - maxlogins 4
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
 
End of file

11、配置用户的环境变量(斜体部分为添加代码)

1 [root@localhost data]# vi /home/oracle/.bash_profile
2 [root@localhost data]# cat /home/oracle/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

export ORACLE_UNQNAME=orcl (in 11.2 dbconsole, the $ORACLE_UNQNAME needs to be set rather than $ORACLE_SID)
  报错:
  ERROR:export ‘=’ not a valid identifier
  如果你给添加语句写成这样(等号两边带空格):export LANG = C就会报错
  不能给/etc/profile文件里加空格

12、使用户的环境变量配置立即生效

[root@localhost data]# source /home/oracle/.bash_profile

13.将安装包移动到/usr/local/src路径下

[root@localhost ~]# cd /.
[root@localhost /]# cd /home/anzerong/Desktop/
[root@localhost Desktop]# ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[root@localhost Desktop]# mv linux.x64_11gR2_database_1of2.zip /usr/local/src
[root@localhost Desktop]# ls
linux.x64_11gR2_database_2of2.zip
[root@localhost Desktop]# mv linux.x64_11gR2_database_2of2.zip /usr/local/src

14.重启系统,确保所有设置生效

[root@localhost Desktop]# reboot

15.解压两个软件包至/data/database/目录下

[oracle@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/  #解压
(省略…)
[oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/  #解压
(省略…)

16.进入管理员权限,设置目录所有者为oinstall用户组的oracle用户,复制代码

[oracle@localhost src]$ su root
Password:
[root@localhost src]# chown -R oracle:oinstall /data/database/database/
[oracle@localhost /]$ cd /data/database/database/
[oracle@localhost database]$ ls
doc install response rpm runInstaller sshsetup stage welcome.html
[root@localhost src]# xhost+ ##避免调用界面报错No protocol specified
[oracle@localhost database]$ ./runInstaller
[oracle@localhost database]$ LANG=en_CN ./runInstaller //设置字符

为了避免安装过程出现乱码,输入命令:export LANG=en_US.UTF-8
启动oracle安装:./runInstaller

Starting Oracle Universal Installer…
(省略…)

四、Oracle图形界面选项
1.、++Configure Security Updates++
去掉 I wish to receive security updates via My Oracle Support.
点击 “Next >”
2、++Installation Option++
选择第一项 Create and configure a database
点击 “Next >”
3、++System class++
选择Server class
点击 “Next >”
4、++Grid Options++
选择单例模式 Single instance database installation
点击 “Next >”
5、++Install Type++
选择"Advanced Install"
点击 “Next >”
6、++Product Languages++
选择英语 English(根据系统默认选择好了)
点击 “Next >”
8、++Database Edition++
选择第一个企业版
9、++Installation Location++
确定数据软件的安装路径,自动读取前面Oracle环境变量中配置的值
点击 “Next >”,
之后也是选择默认,不做修改,直接点击"Next >"
10、++Configuration Options++
“Character Sets"选择第二项或者第三项中的"Unicode standard UTF-8…”
“Sample Schemas"勾选"Create database with …”
点击 “Next >”
之后也是选择默认,不做修改,直接点击"Next >"
11、++Schema Passwords++
选择第二项,并设置密码
点击 “Next >”
之后也是选择默认,不做修改,直接点击"Next >"
12、++Prepequisite Checks++
按照提示信息一个一个解决。

其间有配置要注意,弹出框不要随意关闭,有的是在执行东西

http://localhost:1158/em

安装完成

echo $ORACLE_HOME 查看oracle安装目录
sqlplus /nolog

[oracle@localhost database]netca //配置监听
LISTENER

查看监听是否启动
ps -ef | grep -i tns //查看监听是否启动
kill id
lsnrctl start //启动监听
source /home/oracle/.bash_profile //让配置文件生效
/home/oracle/app/oracle/diag/tnslsnr/yndq/listener/alert //监听日志
/etc/hosts //ip

sql里面
11.2.0.1
sqlplus / as sysdba

启动数据库
先实列配置全局变量 source /home/oracle/.bash_profile
先开监听 lsnrctl start
然后进入 sqlplus / as sysdba
然后启动 startup