Linux安装Oracle

5/29/2022 后端数据库Oracle

# 一、安装前准备

# 1. 创建运行数据库的 oracle 系统用户和用户组(root账户下操作)

su root                         		#切换至 root 账户
groupadd oinstall               		#创建用户组 oinstall
groupadd dba                    		#创建用户组 dba
groupadd oper							# 创建oper用户组
useradd oracle                  		#创建系统用户 oracle
passwd oracle                   		#设置系统用户 oracle 的登陆密码,用于在CentOS登陆
usermod -g oinstall -G dba,oper oracle  #将系统用户 oracle 加入到 oinstall 和 dba 用户组
										# -g 主用户组、-G 附加组
1
2
3
4
5
6
7
8
id oracle                       	#查看新建的系统用户 oracle
groups oracle                   	#查询用户组是否授权成功
1
2

# 2. 创建 oracle 安装目录并授权(root账户下操作)

创建目录

mkdir /home/oracle/app                 #用户的应用目录
mkdir /home/oracle/app/oracle          #数据库的基目录
mkdir /home/oracle/app/oracle/oradata  #数据库文件存放目录
mkdir /home/oracle/app/oracle/product  #数据库软件存放目录
mkdir /home/oracle/app/oraInventory    #安装oracle或创建数据库时,日志会在oraInventory目录下
									   #注意:oraInventory不应在基目录/oracle之下
1
2
3
4
5
6
ls /home/oracle/app/                   #创建完毕检查一下
ls /home/oracle/app/oracle             #创建完毕检查一下
1
2

授权目录

chown -R oracle:oinstall /home/oracle/app  #更改目录属主为系统用户 oracle
chmod 777 -R /home/oracle/app              #修改目录对应用户权限为777 权限(读、写、执行)
1
2

# 3. 配置 oracle 系统用户的环境变量(oracle账户下操作)

编辑 bash_profile ,输入命令:vi .bash_profile,添加如下环境变量。

su oracle                         #切换至 oracle 账户
vim /home/oracle/.bash_profile                 #打开编辑
1
2
export ORACLE_BASE=/home/oracle/app/oracle               #数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1  #数据库目录
export ORACLE_SID=orcl                                   #数据库启动的实例唯一标识
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin             #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib         #添加系统环境变量
export ORACLE_TERM=xterm                                 #窗口模式安装(xterm)
export LANG=en_US.UTF-8                                  #防止安装过程出现乱码
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8      #设置Oracle客户端字符集,必须与安装时设置的字符集保持一致
1
2
3
4
5
6
7
8
  • LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效。
  • NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效。
source .bash_profile									#使配置生效
1

# 4. 添加用户资源限制(root账户下操作)

编辑 /etc/profile ,将下列内容加入该文件。为oracle用户在bash和ksh中设定资源限制

su root                                    #切换至 root 账户
vim /etc/profile                           #打开编辑
1
2
if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
      else
            ulimit -u 16384 -n 65536
      fi
fi
1
2
3
4
5
6
7
8
source /etc/profile                        #使配置生效
1

# 5. 修改操作系统内核参数(root账户下操作)

内核调优,参数说明:Linux内核调优部分参数说明 (opens new window)

编辑 /etc/sysctl.conf文件,将下列内容加入该文件。

su root                                    #切换至 root 账户
vim /etc/sysctl.conf                       #打开编辑
1
2
fs.file-max = 6815744                      #设置最大打开文件数
fs.aio-max-nr = 1048576                    #限制并发未完成的异步请求数,应设置避免I/O子系统故障
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                 #发送套接字缓冲区大小的最大值
1
2
3
4
5
6
7
8
9
10
11
/sbin/sysctl -p 							#使配置生效
1

# 6. 修改操作系统核心参数(root账户下操作)

对 oracle 用户设置限制,限制 oracle 用户的shell权限,提高软件运行性能。

编辑 /etc/security/limits.conf,将下列内容加入该文件。

su root                                    #切换至 root 账户
vim /etc/security/limits.conf              #打开编辑
1
2
oracle soft nproc 2047		#设置进程数软限制
oracle hard nproc 16384		#设置进程数硬限制
oracle soft nofile 1024		#设置文件数软限制
oracle hard nofile 65536	#设置文件数硬限制
1
2
3
4

# 7. 修改用户登陆认证(root账户下操作)

进程会话限制,采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证。

编辑 /etc/pam.d/login,将下列内容加入该文件。

su root                                    #切换至 root 账户
vim /etc/pam.d/login                       #打开编辑
1
2
//64位系统
session required /lib64/security/pam_limits.so
session required pam_limits.so
1
2
3
//32位系统
session required /lib/security/pam_limits.so
session required pam_limits.so
1
2
3

注意:32位系统、64位系统为/lib64/security/pam_limits.so,千万别写错,否则会导致重启后无法进入系统命令行界面,设置前可检查目录下是否有该文件。

# 8. 关闭防火墙和selinux

关闭 firewall

Centos 7

systemctl stop firewalld.service     #停止firewall
systemctl disable firewalld.service  #禁止firewall开机启动
1
2

Centos 6

service iptables stop     #停止firewall
chkconfig --del iptables  #禁止firewall开机启动
1
2

关闭 SELINUX

vim /etc/selinux/config
#SELINUX=enforcing  #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled  #增加
:wq!  #保存退出
setenforce 0 #使配置立即生效
1
2
3
4
5
6

# 9. 修改OS系统标识

oracle默认不支持CentOS系统安装, 修改文件 /etc/RedHat-release 内容为RedHat-7

vim /etc/redhat-release
1

将 CentOS Linux release 7.5.1511 (Core) 修改为 redhat-7

# 10.配置hostname(本机IP映射)

安装 oracle 时,一定要保证主机名出现在 /etc/hosts 中。

编辑 /etc/hosts,将下列内容加入该文件。

su root                                 #切换至 root 账户
vim /etc/hosts							#打开编辑
1
2
127.0.0.1       localhost
192.168.2.101	server.accother.com
1
2
ping -c 3 server.accother.com			#测试hostname

/etc/sysconfig/network 中的 hostname 要与 /etc/hosts 中的一致。

编辑 /etc/sysconfig/network,将下列内容加入该文件。

su root                                 #切换至 root 账户
vim /etc/sysconfig/network				#打开编辑
1
2
NETWORKING=yes
HOSTNAME=server.accother.com
1
2

# 二、软件包依赖

安装oracle之前需要许多软件包依赖,如果可用外网,使用如下命令安装。

yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
1

查看这些软件包版本,可使用如下命令,如有未安装的会有提示。

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
1

如果 compat-libstdc++ 安装提示No package compat-libstdc++ available.,请使用命令yum install compat-libstdc++-33安装。 使用rpm -qa | grep "compat-libstdc"可查看。

yum install compat-libstdc++-33

# 三、安装

参考:Linux下Oracle数据库安装详解 (opens new window)

安装参考1 (opens new window)

安装参考2 (opens new window)

安装参考3 (opens new window)

上次更新时间: 6/16/2023, 2:07:02 AM