专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

centos7部署oracle 12C(12.2)实战分享

ins518 2024-10-21 07:51:34 技术文章 11 ℃ 0 评论

概述

前一段时间有一个项目需要部署oracle 12c,这边作了一下记录,下面分享一下具体的过程。

一、环境描述

  • 系统:centos 7,16C32G,系统盘40G,数据盘500G
  • oracle版本:Oracle Database 12c Release 2 (12.2.0.1) Software (64-bit)

二、部署过程

2.1 前提准备

2.1.1 下载并oracle软件

unzip linuxx64_12201_database.zip

解压完成之后,会生成一个名为“database”的目录

2.1.2 设置hosts file

"/etc/hosts" 文件必须包含完整的主机名。

<IP-address>  <fully-qualified-machine-name>  <machine-name>

本环境设置得如下:

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.199.129 ol7-122.localdomain  ol7-122

2.1.3 更新系统(可选)

yum update -y

2.1.4 设置系统内核参数

vim /etc/sysctl.conf,编辑内容如下:
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 8388608
kernel.shmmax = 34359738360
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

运行如下命令使参数生效:

sysctl -p

2.1.5 配置limit.conf文件

创建一个名为"/etc/security/limits.d/oracle-database-server-12cR2-preinstall.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

有人建议您可能还需要将前几行也添加到CentOS7的“ /etc/security/limits.conf”文件中。OL7绝对不需要这样做,但是值得考虑安装程序是否针对这些设置给出了先决条件失败。

2.1.6安装软件包

yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install make -y
yum install nfs-utils -y
yum install net-tools -y
yum install smartmontools -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y

2.1.7 创建相应的用户和组

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle

2.1.8 关闭selinx和firewalld

1、关闭selinux

vim /etc/selinux,编辑内容如下:
SELINUX=disabled

2、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.1.9 创建oracle相关目录

mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

2.1.10 设置xhost

除非您是从控制台进行操作或使用SSH隧道,否则请以root用户身份登录并发出以下命令。

xhost +<machine-name>

2.1.11 设置环境变量及脚本

1、创建一个名为“script”的目录```

mkdir /home/oracle/scripts

2、创建一个环境变量文件名为 "setEnv.sh".

cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP

export ORACLE_HOSTNAME=ol7-122.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=cdb1

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

3、把环境变量文件的内容追加到"/home/oracle/.bash_profile" file

echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

4、分别创建一个名为"start_all.sh" and "stop_all.sh" 的脚本,用来启动oracle 12c数据库服务。注意的属主和权限。

cat > /home/oracle/scripts/start_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbstart \$ORACLE_HOME
EOF


cat > /home/oracle/scripts/stop_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbshut \$ORACLE_HOME
EOF

chown -R oracle.oinstall /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh

一旦数据库安装完成,你完成"/etc/oratab"文件的编辑,就可以通过脚本来启动和关闭数据库

~/scripts/start_all.sh
~/scripts/stop_all.sh

2.2 oracle安装过程

2.2.1 启动oracle的安装程序

1、登录到oracle用户。如果使用的是X仿真,则设置DISPLAY环境变量。

DISPLAY=<machine-name>:0.0; export DISPLAY

2、启动oracle的安装

./runInstaller

2.2.2 安装部署过程

1、配置安全更新

2、选择安装选项

3、选择系统类别

4、选择数据库安装选项

5、选择安装类型

6、典型安装配置

7、创建库存

8、执行先决条件检查

9、概要

10、安装产品

11、执行配置脚本

12、数据库配置助手

13、完

14、Database Express 12c登录

15、Database Express 12c仪表板

2.2.3 安装后的设置

编辑“ / etc / oratab”文件,将每个实例的重启标志设置为“ Y”。

cdb1:/u01/app/oracle/product/12.2.0.1/db_1:是

三、附录

3.1 随系统自动启动脚本

以root用户身份创建一个名为“ /etc/init.d/dbora”的文件,其中包含以下代码。调整路径以匹配您的系统。

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the 
# Oracle database in ORA_HOME.

#ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
#ORA_HOME=/u01/app/oracle/product/11.1.0/db_1
#ORA_HOME=/u01/app/oracle/product/11.2.0.4/db_1
#ORA_HOME=/u01/app/oracle/product/12.1.0.2/db_1
ORA_HOME=/u01/app/oracle/product/12.2.0.1/db_1
ORA_OWNER=oracle
export ORACLE_UNQNAME=db12c

if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        # Remove "&" if you don't want startup as a background process.
        su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
        touch /var/lock/subsys/dbora
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
        rm -f /var/lock/subsys/dbora
        ;;
esac

使用chmod命令将权限设置为750。

chmod 750 /etc/init.d/dbora

将“ dbora”服务与适当的运行级别相关联,并使用以下命令将其设置为自动启动。

chkconfig --add dbora

现在,相关实例应在系统启动/关闭时自动启动/关闭。


后面会分享更多DBA和系统方面的内容,喜欢的朋友可以关注一下~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表