当前位置:首页 > 数据库 > CentOS7 安装Oracle12cR2

CentOS7 安装Oracle12cR2

数据库4年前 (2018-03-05)

CentOS7 安装Oracle12cR2

在CentOS7.8 Minimal版本下安装Oracle Database 12c Release 2

一键安装

CentOS7 安装Oracle12cR2 oracle-single-install.zip


系统环境准备

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

CentOS7 安装Oracle12cR2


更新系统组件

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弹出窗口问题


CentOS7 安装Oracle12cR2

等几秒钟弹出窗口


CentOS7 安装Oracle12cR2

去掉勾选I wish to receive security update via My Oracle Support


CentOS7 安装Oracle12cR2

Yes


CentOS7 安装Oracle12cR2

创建并配置一个数据库


CentOS7 安装Oracle12cR2

勾选服务类型


CentOS7 安装Oracle12cR2

单实例模式


CentOS7 安装Oracle12cR2

高级安装


CentOS7 安装Oracle12cR2

企业版


CentOS7 安装Oracle12cR2

路径默认


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

默认使用自动内存管理


CentOS7 安装Oracle12cR2

默认使用unicode字符集


CentOS7 安装Oracle12cR2

勾选安装示例数据库


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

开启还原


CentOS7 安装Oracle12cR2

输入复杂性密码


CentOS7 安装Oracle12cR2

下一步


CentOS7 安装Oracle12cR2

自动检查环境


CentOS7 安装Oracle12cR2

点击Install


CentOS7 安装Oracle12cR2

等待安装


CentOS7 安装Oracle12cR2

在root账户下运行两个脚本

cd /u01/app/oraInventory/ 
./orainstRoot.sh

CentOS7 安装Oracle12cR2

cd /u01/app/oracle/product/12.2.0/dbhome_1/
./root.sh

CentOS7 安装Oracle12cR2


CentOS7 安装Oracle12cR2

关闭


配置开机脚本

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打开界面

CentOS7 安装Oracle12cR2


输入用户名sys 密码是刚输入的复杂性密码

CentOS7 安装Oracle12cR2


升级

#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


本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/db/197.html

相关文章

DBforbix3监控多个Oracle数据库和RAC数据库

DBforbix3监控多个Oracle数据库和RAC数据库

Zabbix4.2使用DBforbix3监控多个Oracle11gR2数据库查看数据库信息su - oracle sqlplus / as sysd...

备份集中的数据库备份与现有的数据库不同

备份集中的数据库备份与现有的数据库不同

将sqlserver2000的数据还原到sqlserver2008的时候,出现了“备份集中的数据库备份与现有的数据库不同”的错误,尝试了好几次都失败在左侧的选项中,勾选“覆盖现有数据库”就可以了...

RHEL7 Oracle11gR2出现ORA-00845

RHEL7 Oracle11gR2出现ORA-00845

11g R2引入了Automatic Memory Management(AMM)自动内存管理特性,但是自动配置的memory_max_target或者memory_target超过了shmfs的大小...

Oracle11g ASM分区在线扩容

Oracle11g ASM分区在线扩容

DG_BIL_DATA这个DG存储空间不足,需要给DG加1个200G的LUN。ASM扩容步骤为 1.存储新建LUN或者扩容原LUN 2.系统扫盘绑定LUN 3.ASM扩容对应DG存储操作SAN存储划分...

Oracle12cR2学习记录1

Oracle12cR2学习记录1

四张表联系的4张表分别为dept,emp,bonus,salgrade表1 DEPT部门表表2 EMP员工表表3 BONUS奖金表表4 SALGRADE工资表基本操作查看数据库状态,创建新用户+授权,...

CentOS7.5 安装MySQL ndb集群 RPM方式

CentOS7.5 安装MySQL ndb集群 RPM方式

当企业的MySQL业务到达一定的当量,就需要一定规模数量的MySQL数据库来负载均衡数据库请求,负载均衡的前提是每个服务器的数据库是数据同步的,在业务量不大的时候会使用主、从复制的方法实现服务器数据同...