CentOS7 安装Oracle12cR2
在CentOS7.8 Minimal版本下安装Oracle Database 12c Release 2
一键安装
系统环境准备
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config setenforce 0 egrep "SELINUX=disabled" /etc/selinux/config systemctl stop firewalld.service && systemctl disable firewalld.service echo "192.168.3.210 oracle" >> /etc/hosts hostnamectl --static set-hostname oracle && su
更新系统组件
yum update -y
安装必要组件
yum install binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \ glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \ libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \ libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 wget vim xorg-x11-server-utils -y yum -y groupinstall 'X Window System' wget -O /etc/yum.repos.d/oracle.repo http://public-yum.oracle.com/public-yum-ol7.repo wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle rpm -e --nodeps centos-release-7-8.2003.0.el7.centos.x86_64 yum -y install oracle-database-server-12cR2-preinstall reboot #preinstall已自动设置如下 #创建用户 id oracle #修改sysctl.conf cat /etc/sysctl.conf #修改limits.conf 12c不再修改/etc/security/limits.conf而是/etc/security/limits.d/oracle-database-server-12cR2-preinstall.conf #修改network cat /etc/sysconfig/network #修改grub cat /etc/default/grub cd /boot/grub2
设置目录
mkdir -p /u01/app/oracle mkdir -p /u01/app/software mkdir -p /u01/app/oraInventory chown -R oracle:oinstall /u01 chmod -R 775 /u01
配置环境变量
mkdir /home/oracle/scripts cat > /home/oracle/scripts/setEnv.sh <<EOF # Oracle environment settings export TMP=/tmp export TMPDIR=\$TMP export ORACLE_HOSTNAME=oracle export ORACLE_UNQNAME=orcl12c export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0/dbhome_1 export ORA_INVENTORY=/u01/app/oraInventory export ORACLE_SID=orcl12c export PDB_NAME=ORDERS export PATH=/usr/sbin:/usr/local/bin:$PATH export PATH=\$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib EOF
设置生效
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
关闭邮件检查提示
You have new mail in /var/spool/mail/root
echo "unset MAILCHECK" >> /etc/profile source /etc/profile
安装Oracle
wget -P /u01/app/software http://192.168.1.3/tools/oracle/12c/linuxx64_12201_database.zip unzip /u01/app/software/linuxx64_12201_database.zip -d /u01/app/software/ chown -R oracle:oinstall /u01/app/software/database su - oracle echo $DISPLAY export DISPLAY=:0.0 export DISPLAY=192.168.1.2:0.0 xhost + cd /u01/app/software/database ./runInstaller
如果报错弹不出窗口,参考彻底解决oracle安装流程无法x11弹出窗口问题
等几秒钟弹出窗口
去掉勾选I wish to receive security update via My Oracle Support
Yes
创建并配置一个数据库
勾选服务类型
单实例模式
高级安装
企业版
路径默认
下一步
下一步
下一步
默认使用自动内存管理
默认使用unicode字符集
勾选安装示例数据库
下一步
下一步
开启还原
输入复杂性密码
下一步
自动检查环境
点击Install
等待安装
在root账户下运行两个脚本
cd /u01/app/oraInventory/ ./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1/ ./root.sh
关闭
配置开机脚本
vim /home/oracle/scripts/dbora.sh 添加 #!/bin/bash #Oracle startup script source /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO source oraenv export ORAENV_ASK=YES startup_log=/home/oracle/scripts/startup.log shutdown_log=/home/oracle/scripts/shutdown.log function oracle_start(){ # Start the Oracle database: echo "--------------------------------------------------" date +" %T %a %D : Starting Oracle Database as part of system up." echo "--------------------------------------------------" ${ORACLE_HOME}/bin/sqlplus /nolog << EOF conn / as sysdba startup alter pluggable database all open; exit EOF echo "Done." # Start the Listener: echo "--------------------------------------------------" date +" %T %a %D : Starting Oracle Listeners as part of system up." echo "--------------------------------------------------" ${ORACLE_HOME}/bin/lsnrctl start echo "Done." echo "--------------------------------------------------" date +" %T %a %D : Finished." echo "--------------------------------------------------" } function oracle_stop(){ # Stop the Oracle Listener: echo "--------------------------------------------------" date +" %T %a %D : Stoping Oracle Listeners as part of system up." echo "--------------------------------------------------" ${ORACLE_HOME}/bin/lsnrctl stop echo "Done." # Stop the Oracle database: echo "--------------------------------------------------" date +" %T %a %D : Stoping Oracle Database as part of system up." echo "--------------------------------------------------" ${ORACLE_HOME}/bin/sqlplus /nolog << EOF conn / as sysdba alter pluggable database all close immediate; shutdown immediate exit EOF echo "Done." echo "" echo "--------------------------------------------------" date +" %T %a %D : Finished." echo "--------------------------------------------------" } case "$1" in start) echo "Starting Oracle Database ... " oracle_start >> $startup_log echo "Oracle Started Successfully." ;; stop) echo "Stoping Oracle Database ... " oracle_stop >> $shutdown_log echo "Oracle Stopped." ;; restart) echo "Restarting Oracle Database ... " oracle_stop >> $shutdown_log oracle_start >> $startup_log echo "Oracle Restarted." ;; status) ${ORACLE_HOME}/bin/lsnrctl status ;; *) echo "Usage: $(basename $0) {start|stop|restart|status}" exit 1 esac exit 0 加权限 chown -R oracle:oinstall /home/oracle/scripts chmod u+x /home/oracle/scripts/*.sh
设置为服务
vim /etc/systemd/system/oracle.service 添加 [Unit] Description=Oracle Service After=network.target After=syslog.target [Service] User=oracle Group=dba Type=oneshot ExecStart=/home/oracle/scripts/dbora.sh start ExecReload=/home/oracle/scripts/dbora.sh restart ExecStop=/home/oracle/scripts/dbora.sh stop RemainAfterExit=yes [Install] WantedBy=multi-user.target 执行 systemctl enable oracle.service
https://IP:5500/em打开界面
输入用户名sys 密码是刚输入的复杂性密码
升级
#https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=6880880 su - oracle mkdir /home/oracle/patch $ORACLE_HOME/OPatch/opatch version $ORACLE_HOME/OPatch/opatch lspatches cd $ORACLE_HOME mv OPatch OPatch.bak unzip /home/oracle/patch/p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME $ORACLE_HOME/OPatch/opatch lsinventory tar -cvf oracle_home20200207.tar $ORACLE_HOME export ORACLE_SID=orcl lsnrctl stop sqlplus / as sysdba shut immediate #https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=30446254 unzip p30446254_122010_Linux-x86-64.zip cd /30446254 $ORACLE_HOME/OPatch/opatch apply lsnrctl start sqlplus / as sysdba startup; alter pluggable database all open; ./datapatch -verbose $ORACLE_HOME/OPatch/opatch lsinventory
本站所有文章均可随意转载,转载时请保留原文链接及作者。