Oracle19c安装(1) - 使用Centos7安装Oracle19c之环境准备
Oracle19c实际上是Oracle12c的最后一个版本,Oracle19c是以年份进行的命名。
Oracle19c安装包为LINUX.X64_193000_db_home.zip;Oracle12c安装包linuxx64_12201_database.zip。
1. 关闭防火墙
关闭防火墙,检查防火墙的状态。
# 关闭防火墙,下次启动时防火墙仍随系统启动而启动
systemctl stop firewalld.service
# 彻底永久关闭防火墙
systemctl disable firewalld.service
# 查看防火墙状态
systemctl status firewalld.service
关闭SELINUX防火墙,修改/etc/selinux/config配置文件,将“SELINUX=enforcing”改为“SELINUX=disabled”。
2. 配置YUM源解决程序依赖的问题
a. 挂载光盘镜像
注:在虚拟机挂载光盘镜像之后,务必使用某个用户进入到虚拟机LINUX下看到桌面弹出小光盘位置(图形界面)。
b. 进入到光盘镜像中的Package目录中,将所有的软件包复制到我们预设的目录/yums下。
将光盘中Packages目录中的文件复制到/yums目录下,并执行下述命令。
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
createrepo .
cd /etc/yum.repos.d/
rm -rf *
vi yum.local.repo
[local]
name=yum local repo
baseurl=file:///yums
gpgcheck=0
enable=1
yum clean all
3. 安装Oracle先决条件的软件包
yum install -y bc
yum install -y compat-libcap1*
yum install -y compat-libcap*
yum install -y binutils
yum install -y compat-libstdc++-33
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y gcc
yum install -y gcc-c++
yum install -y glibc-2.5
yum install -y glibc-common
yum install -y glibc-devel
yum install -y glibc-headers
yum install -y ksh libaio
yum install -y libaio-devel
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y make
yum install -y sysstat
yum install -y unixODBC
yum install -y unixODBC-devel
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install -y libXp*
yum install -y glibc-kernheaders
yum install -y net-tools-*
4. 修改LINUX的内核文件
vi /etc/sysctl.conf
kernel.shmmax = 277495689510912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall = 67747971072
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
# 生成系统参数
sysctl -p
5. 添加下列参数到/etc/security/limits.conf
vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
6. 添加下列条目到/etc/pam.d/login
vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
7. 环境变量中添加下列语句
vim /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
source /etc/profile
8. 创建文件目录和相应的用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
mkdir -p /u01/app/oracle
mkdir -p /u01/oraInventory
chown -R oracle.oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
# 19c需要额外创建
mkdir -p /u01/app/oracle/product/19c/db_1 # ORACLE的HOME目录
chown -R oracle:oinstall /u01/app/oracle/product/
# 增加密码
passwd oracle
9. 配置ORACLE用户的环境变量
su - oracle
vim .bash_profile
export EDITOR=vi
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1
export INVENTORY_LOCATION=/u01/oraInventory
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin
umask 022
source .bash_profile
参数说明:
export EDITOR=vi #默认的编辑器是vi
export TMP=/tmp #ORACLE默认的临时目录是/tmp
export TMPDIR=$TMP #临时目录生成
export ORACLE_SID=orcl #ORACLE实例名称是orcl
export ORACLE_BASE=/u01/app/oracle #ORACLE的基本目录
export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1 #ORACLE数据库的HOME目录
export INVENTORY_LOCATION=/u01/oraInventory #ORACLE安装时的inventory
export TNS_ADMIN=$ORACLE_HOME/network/admin #ORACLE的网络主目录
export LD_LIBRARY_PATH=$ORACLE_HOME/lib #ORACLE的库文件目录
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8" #ORACLE的字符集 不过我们弃用 因为我们使用UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" #ORACLE的日期格式 我们使用会话的方式修改弃用
export PATH=$ORACLE_HOME/bin:/bin:/usr
10. 上传软件并解压
将Oracle19c安装包LINUX.X64_193000_db_home.zip上传至ORACLE数据库的HOME目录下,即/u01/app/oracle/product/19c/db_1下。
注意:如果上传失败,报类似没有权限的提示。可能是因为MobaXterm一开始以root用户进行的远程连接,此时先退出,再以oracle用户登入即可。
Oracle19c安装包上传成功之后,进行解压。解压成功之后,ORACLE数据库的HOME目录如下图所示。
unzip LINUX.X64_193000_db_home.zip
11. 补充
该补充说明部分可以先不执行。在安装Oracle19c软件时,在先决条件检查时可能会出现相应警告提示,出现的情况也各不一样,不必过分拘泥。
这里需要补充的是19c比12c多了三个软件包需要安装,需要将下列的软件包上传到/root目录下。
- compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm
- kmod-20-21.el7.x86_64.rpm
- kmod-libs-20-21.el7.x86_64.rpm
然后在/root目录下,以root用户执行以下命令安装软件包:
rpm -ivh kmod-20-21.el7.x86_64.rpm
rpm -ivh kmod-libs-20-21.el7.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
由于软件安装的依赖性,可能会报类似文件依赖信息,所以此时可以借助前面建立的yum源来进行安装。将上述三个文件拷贝至/yums目录下,然后在/yums目录下执行下述命令。
yum install -y compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum install -y kmod-20-21.el7.x86_64.rpm
yum install -y kmod-libs-20-21.el7.x86_64.rpm
12. rlwrap软件配置
rlwrap-0.37-1.el6.x86_64.rpm 该软件务必在root用户下安装,如果切换到ORACLE用户下安装可能会发生相关的权限问题。
切换至oracle用户,在/home/oracle/.bash_profile文件中添加一下两个别名,将下面两行文字粘贴进该文件中即可。
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
添加完内容后保存退出并执行以下命令来生成环境变量。
source .bash_profile