《OpenShift / RHEL / DevSecOps 汇总目录》
说明
本文只是说明如何在 CentOS 7.5 上准备 Oracle DB 12c 验证环境,而将该环境升级并迁移至 RHEL 7.9 的操作过程请参见:《在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9》一文。
另外,本文沿用了《在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9》中 VirtualBox 6.1 + CentOS Linux 7.5 最小化安装环境。
本文除非单独声明外在 Linux 中的操作使用的都是 root 用户。
由于需要使用 GUI 方式安装 Oracle DB,为此使用了自带 XWindows 客户端的 MobaXterm。
安装 CentOS VM 并配置 CentOS 7.5 Yum Repo
参考《在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9》完成 “安装 VM 并配置 CentOS 7.5 Yum Repo” 一节内容。
准备 Oracle DB 12c 安装文件
- 从 Oracle 官方(https://edelivery.oracle.com/osdc/faces/SoftwareDelivery)下载 Oracle DB 12.1.0.2.0 安装文件:V46095-01_1of2.zip 和 V46095-01_2of2.zip。
- 从 CentOS VM 外将 V46095-01_1of2.zip 和 V46095-01_2of2.zip 文件传到 CentOS VM 的 root 目录下。
$ scp V46095-01_1of2.zip V46095-01_2of2.zipp root@<CENTOS-VM-IP>:/root/
- 从 CentOS VM 中解压文件。
$ yum install -y unzip
$ unzip ~/V46095-01_1of2.zip -d /stage/
$ unzip ~/V46095-01_2of2.zip -d /stage/
准备 CentOS 7.5 VM 环境
- Oracle 安装过程需要图形化界面,因此需要为 CentOS 安装 XWindows。
$ yum groupinstall 'X Window System' -y
- 安装 Oracle 必要的库文件。注意:在 CentOS 7.5 的 ISO 中不包含 compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm,需要单独下载。
$ yum install -y 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
$ curl -LO http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
$ yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
- 添加用户和组。
$ groupadd oinstall
$ groupadd dba
$ useradd -g oinstall -G dba oracle
$ passwd oracle
- 调整系统资源,编辑 /etc/sysctl.conf 文件,添加以下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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 = 1048586
- 执行命令,使其生效。
$ sysctl -p
- 调整系统资源,编辑 /etc/security/limits.conf 文件,添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
- 创建 Oracle 软件和数据库实例使用的 /u01 和 /u02 目录,并分配访问权限。
mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02
- 修改 /stage/ 目录属主。
$ chown -R oracle:oinstall /stage/
- 确认主机名、SELinux 和防火墙配置。
$ hostnamectl
$ cat /etc/hostname
$ sestatus
$ firewall-cmd --state
安装 Oracle DB 12c 过程
- 使用 oracle 用户执行命令,安装 Oracle DB 12c。
$ su - oracle
$ /stage/database/runInstaller
- 在以下 Oracle Database 12c 安装窗口去掉 “I wish to receive security update via My Oracle Support” 选项,然后点击 Next。
- 在以下窗口点击 Yes。
- 在以下窗口点击 Next。
- 在以下窗口选择 Server class,然后点击 Next。
- 在以下窗口选择 Single instance database installation,然后点击 Next。
- 在以下窗口选择 Typical install,然后点击 Next。
- 在以下窗口提供管理密码,然后点击 Next。
- 在以下窗口点击 Next。
- 在以下窗口点击 Install。
- 在以下窗口查看安装进度。
- 根据以下窗口提示,用 root 用户执行 2 个脚本。
$ /u01/app/oraInventory/orainstRoot.sh
$ /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
- 以下窗口显示创建数据库实例的进度。
- 完成创建实例后在以下提示窗口中点击 OK。
- 最后在以下 Finish 步骤中点击 Close。
验证 Oracle DB 12c 访问
用 oracle 用户执行以下命令,确认可以访问 Oracle 数据库实例和相关表。
$ su - oracle
$ export ORACLE_SID=orcl
$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1/
$ export PATH=$PATH:$ORACLE_HOME/bin
$ sqlplus / as sysdba
SQL> startup
SQL> select database_status from v$instance;
SQL> select * from hr.departments;
SQL> shutdown immediate
参考
https://www.tecmint.com/install-oracle-database-12c-on-centos-7/
https://wiki.centos.org/HowTos(2f)Oracle12onCentos7.html
https://databaseinternalmechanism.com/2017/01/04/installing-12c-rac-on-oracle-linux-7/
https://oracle-base.com/articles/12c/oracle-db-12cr2-rac-installation-on-oracle-linux-7-using-virtualbox#install_grid_infrastructure
https://www.ktexperts.com/step-by-step-oracle-12c-rac-installation/
https://www.oracle.com/linux/downloads/linux-asmlib-rhel7-downloads.html