OEL7.9+Oracle12c+asm installation document

Check CPU memory information

free -m
cat /proc/cpuinfo

Check the operating system version

cat /etc/os-release

hosts file configuration

echo "192.168.2.53 hisdb" >> /etc/hosts

Configure language environment variables

echo "export.UTF8" >> ~/.bash_profile
source ~/.bash_profile

Prepare the file system

Check disk information

fdisk -l

disk partition

fdisk /dev/sdb                 #n         p         1      两个回车    w 

Format disk

mkfs.xfs /dev/sdb1         

Mount to the oracle directory

mkdir /oracle
mount /dev/sdb1 /oracle

Set power-on auto-start

echo "/dev/sdb1  /oracle  xfs  defaults  0 0" >> /etc/fstab

Set up shared memory segment

echo "none /dev/shm tmpfs defaults,size=12288m 0 0" >> /etc/fstab     #默认情况下是内存的一半,根据实际情况设置

mount -o remount /dev/shm       #重新挂载共享内存

df -h   #查看挂载情况

Create users, groups, directories

New user group

/usr/sbin/groupadd -g 60001 oinstall
/usr/sbin/groupadd -g 60002 dba
/usr/sbin/groupadd -g 60003 oper
/usr/sbin/groupadd -g 60004 backupdba
/usr/sbin/groupadd -g 60005 dgdba
/usr/sbin/groupadd -g 60006 kmdba
/usr/sbin/groupadd -g 60007 asmdba
/usr/sbin/groupadd -g 60008 asmoper
/usr/sbin/groupadd -g 60009 asmadmin

New user

useradd -u 61001 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,oper oracle
useradd -u 61002 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

Modify user password

passwd grid
passwd oracle

New directory

mkdir -p /oracle/app/oracle
chown -R oracle:oinstall /oracle/app/oracle
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle

Configure yum software installation environment and software package installation

mount /dev/cdrom /mnt

cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/  

echo "[EL]">> /etc/yum.repos.d/itpux.repo    
echo "name=Linux 7.9DVD">> /etc/yum.repos.d/itpux.repo     
echo "baseurl=file:///mnt">> /etc/yum.repos.d/itpux.repo      
echo "gpgcheck=0">> /etc/yum.repos.d/itpux.repo  
echo "enabled=1">> /etc/yum.repos.d/itpux.repo

yum -y install autoconf
yum -y install automake
yum -y install binutils-devel
yum -y install bison
yum -y install cpp
yum -y install dos2unix
yum -y install ftp
yum -y install gcc
yum -y install gcc-c++
yum -y install python-devel
yum -y install compat-db*
yum -y install compat-gcc-44
yum -y install compat-gcc-44-c++
yum -y install compat-libcap1
yum -y install compat-libstdc++-33
yum -y install compat-libstdc++-33.i686
yum -y install glibc-*
yum -y install glibc-*.i686
yum -y install libXpm-*.i686
yum -y install libXp.so.6
yum -y install libXtst.so.6
yum -y install libstdc++-docs
yum -y install libstdc++.i686
yum -y install libstdc++-devel.i686
yum -y install libaio.i686
yum -y install libaio-devel
yum -y install libaio-devel.i686
yum -y install ksh
yum -y install libXp
yum -y install numactl
yum -y install numactl-devel
yum -y install unixODBC
yum -y install unixODBC-devel
yum -y install elfutils-libelf-devel
yum -y install redhat-lsb-core

Modify system related parameters

Modify resource limit parameters

#以下设置根据机器内存情况配置
echo "#ORACLE SETTING">> /etc/security/limits.conf
echo "grid soft nproc 16384">> /etc/security/limits.conf              
echo "grid hard nproc 16384">> /etc/security/limits.conf             
echo "grid soft nofile 65536">> /etc/security/limits.conf        
echo "grid hard nofile 65536">> /etc/security/limits.conf
echo "grid soft stack 32768">> /etc/security/limits.conf          
echo "grid hard stack 32768">> /etc/security/limits.conf
echo "oracle soft nproc 16384">> /etc/security/limits.conf              
echo "oracle hard nproc 16384">> /etc/security/limits.conf             
echo "oracle soft nofile 65536">> /etc/security/limits.conf        
echo "oracle hard nofile 65536">> /etc/security/limits.conf
echo "oracle soft stack 32768">> /etc/security/limits.conf          
echo "oracle hard stack 32768">> /etc/security/limits.conf
echo "oracle hard memlock 15000000">> /etc/security/limits.conf           #小于物理内存
echo "oracle soft memlock 15000000">> /etc/security/limits.conf           #小于物理内存

vi /etc/security/limits.d/20-nproc.conf      #把最后两行注释掉,增加* soft nproc 16384

echo "* soft nproc 16384">> /etc/security/limits.d/20-nproc.conf 

Control the resources allocated by users

echo "session    required     pam_limits.so" >> /etc/pam.d/login

Modify kernel parameters

#The following settings configure parameters according to the machine's memory situation

echo "#ORACLE SETTING" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf    
echo "fs.file-max = 6815744" >> /etc/sysctl.conf           
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf    
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf            
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf             
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf            
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf           
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf            
echo "kernel.panic_on_oops = 1" >> /etc/sysctl.conf            
echo "kernel.shmmax = 10995116278" >> /etc/sysctl.conf       
echo "kernel.shmall = 2684354" >> /etc/sysctl.conf          
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf           
echo "vm.nr_hugepages = 5120" >> /etc/sysctl.conf               

sysctl -p   #强制生效

Close transparent page

#cat /sys/kernel/mm/transparent_hugepage/defrag
#[always] madvise never

#cat /sys/kernel/mm/transparent_hugepage/enabled
#[always] madvise never

echo "if test -f /sys/kernel/mm/transparent_hugepage/enabled; then" >> /etc/rc.d/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.d/rc.local
echo "fi" >> /etc/rc.d/rc.local
echo "if test -f /sys/kernel/mm/transparent_hugepage/defrag; then" >> /etc/rc.d/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.d/rc.local
echo "fi" >> /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local    #强制生效

#执行以下命令,确认cat /sys/kernel/mm/transparent_hugepage/defrag时结果为#always madvise [never]

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

Turn off the numa function

vi /etc/default/grub    #倒数第二行增加numa=off参数
GRUB_CMDLINE_LINUX="rhgb quiet numa=off"

grub2-mkconfig -o /etc/grub2.cfg        #重新编译生效

The graphical interface startup level has been changed from 5 to 3

systemctl set-default multi-user.target

Configure security

vi /etc/selinux/config
SELINUX=disabled             #修改第6行SELINUX参数为disabled

setenforce 0    #强制生效

systemctl stop firewalld.service        #关闭防火墙
systemctl disable firewalld.service   #开机不启动
systemctl status firewalld.service     #查看状态

Restart the operating system

reboot

Configure environment variables

grid user environment variables

su - grid

vi ~/.bash_profile    #编辑环境变量

PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022        #权限775的掩码
#alias sqlplus="rlwrap sqlplus"
export TMP=/tmp
export LANG=en_US.UTF8
export TMPDIR=$TMP
export TZ=Asia/Shanghai
ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE
ORACLE_HOME=/oracle/app/12.2/grid; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin; export PATH
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

#重新登录grid账号,确认显示为[oracle@hisdb:/home/grid]$
#输入命令env |grep ORACLE确认有如下信息说明配置成功,接下来可以安装数据库
#ORACLE_SID=+ASM
#ORACLE_BASE=/oracle/app/grid
#ORACLE_TERM=xterm
#ORACLE_HOME=/oracle/app/oracle/product/12.2/db_1

oracle user environment variables

su - oracle

vi ~/.bash_profile    #编辑环境变量

PS1="[`whoami`@`hostname`:"'$PWD]$'
#alias sqlplus="rlwrap sqlplus"
#alias rman="rlwrap rman"
export PS1
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
export TZ=Asia/Shanghai
export ORACLE_UNQNAME=trasendb            #根据实际情况修改
ORACLE_SID=trasendb; export ORACLE_SID    #根据实际情况修改
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2/db_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG
PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/12.2/db-1/bin:
$ORACLE_HOME/bin; export PATH
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

#重新登录oracle账号,确认显示为[oracle@hisdb:/home/oracle]$
#输入命令env |grep ORACLE确认有如下信息说明配置成功,接下来可以安装数据库
#ORACLE_UNQNAME=trasendb
#ORACLE_SID=trasendb
#ORACLE_BASE=/oracle/app/oracle
#ORACLE_TERM=xterm
#ORACLE_HOME=/oracle/app/oracle/product/12.2/db_1

Guess you like

Origin blog.51cto.com/190242856/2665045