Windows下安装Oracle比较容易,参考博客:https://www.cnblogs.com/ggll611928/p/5972816.html ;但是在linux下就需要安装桌面环境。

  安装环境:

    系统:CentOS7.6  8核64G  磁盘1T(建议最小2核2G,50G)

    Oracle软件版本:linux.x64_11gR2_database_1of2.zip

            linux.x64_11gR2_database_2of2.zip

1 下载Oracle

  官方下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 

  linux.x64_11g下载地址:https://www.oracle.com/technetwork/cn/java/112010-linx8664soft-100572.html

  官网下载时需要登陆Oracle账号,没有的可以注册一个。

2 基础环境准备

2.1 关闭防火墙和selinux

  测试环境,为了方便快速稳定部署,生产环境不建议关闭防火墙和selinux。建议提前做好系统优化,优化参考脚本→点击进入

systemctl status firewalld  
systemctl disable firewalld
systemctl disable firewalld
#firewall-cmd --zone=public --add-port=1521/tcp --permanent #如果打开防火墙的话,需放开Oracle1521端口 
#firewall-cmd --reload #增加新的配置需重新加载 
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config 
setenforce 0 
getenforce

2.2 创建运行Oracle用户和用户组

  创建的这些用户组的说明,请参考:https://blog.csdn.net/qq_32786873/article/details/82187346

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
id oracle
mkdir -p /home/data/oracle          #创建oracle安装目录
mkdir -p /home/data/database        #创建oracle解压目录
mkdir -p /home/data/oraInventory    #创建oracle配置文件目录
chown -R oracle:oinstall /home/data    #设置oracle用户为目录的所有者
chmod -R 775 /home/data

2.3 修改Oracle用户限制

  执行vim /etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。

oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536

  要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。编辑文件:vim /etc/pam.d/login

session    required    /lib/security/pam_limits.so
session    required    pam_limits.so

  为了能让每个用户在每次登陆系统之后,都能自动设置其最大可启动进程数与最多可开启文件数,设置 /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使之生效。

2.4 配置内核参数和资源限制

  编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。每次操作系统启动时,便会自动设置这些内核参数。

####oracle
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

  执行sysctl -p 查看并生效:(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)

2.5 配置Oracle用户环境变量

  设置用户环境变量,将下列设置添加到 /home/oracle/.bash_profile文件中;注意:要写到原有“PATH=$PATH:$HOME/bin”变量上面,否则会提示“bash: sqlplus: command not found”

umask 022
export ORACLE_BASE=/home/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH

  切换oracle用户,执行source /home/oracle/.bash_profile 或 . .bash_profile使之生效。使用echo $ORACLE_HOME 来显示是否生效

2.6 配置主机名监听

  增加主机名,若不执行此步,则配置监听时会出错,系统无法识别监听。

hostnamectl set-hostname oracle
cat /etc/sysconfig/network
# Created by anaconda
hostname=oracle
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.16.245 oracle

2.7 安装指定jdk

  在linux下安装oracle时,由于执行 runInstaller脚本时, 部分提示框显示不全,也有显示正常的,为保险起见还是安装好1.8jdk,直接执行install_jdk.sh脚本

#!/bin/bash
# sources variables 
check_user=`id -u`
if [ ${check_user} != "0" ];then
        echo "Must be root can use !"
        exit 1
fi
JDK_version="jdk1.8.0_60"
BASE_dir="/usr/java"
SOFT_dir="/home/soft"
JDK_package="jdk-8u60-linux-x64.tar.gz"
JAVA_HOME="/usr/java/${JDK_version}"
source /etc/profile
function jdk_install(){
             [ -d ${SOFT_dir} ] || mkdir -p ${SOFT_dir}
             [ -e ${BASE_dir}/${JDK_version} ] && echo -e "\033[32m    ${JDK_version}已部署,请退出!!! \033[0m" 
            if [ -e ${BASE_dir}/${JDK_version} ];then
                 sleep 1 && exit 0
            else
               [ -f ${SOFT_dir}/${JDK_package} ] || echo -e "\033[36m    ${JDK_package}正在下载.... \033[0m"
               sleep 1 && wget -P ${SOFT_dir} http://101.201.123.222:2104/IF/MAN/${JDK_package}
               [ -d "${BASE_dir}" ] && rm -rf ${BASE_dir}/* || mkdir -p ${BASE_dir}
               sleep 1 &&  echo -e "\033[35m    正在解压${JDK_package}.... \033[0m"
               cd ${SOFT_dir} && tar -xzf  ${JDK_package} -C ${BASE_dir}
               sleep 2;
               sed  -i '/JAVA_HOME*/d' /etc/profile
               sed -i.ori '$a export JAVA_HOME=/usr/java/jdk1.8.0_60\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
               source /etc/profile && . /etc/profile
               echo "JAVA_HOME=$JAVA_HOME"  
               echo `$JAVA_HOME/bin/java -version`
               echo -e "\033[32m    JDK已部署成功!!! \033[0m" 
           fi
}
function main(){
             jdk_install
}
main
View Code

相关文章:

  • 2021-09-29
  • 2021-10-24
  • 2021-04-16
  • 2021-12-09
  • 2019-03-09
  • 2021-11-11
  • 2021-04-09
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2021-10-20
  • 2021-01-08
  • 2022-02-02
  • 2022-12-23
  • 2021-04-15
相关资源
相似解决方案