暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译文]在 Oracle Linux 8 (OL8) 上安装 Oracle Database 21c

原创 小小亮 2021-08-16
1569

Oracle 21c 是一个创新版本,因此它可能不适合大多数生产系统。在将 Oracle 21c 用于任何真实的事情之前,请阅读此内容

本文介绍了在 Oracle Linux 8 (OL8) 64 位上安装 Oracle Database 21c 64 位。本文基于具有最少 2G 交换和安全 Linux 设置为许可的服务器安装。可以在此处查看此类 Linux 安装的示例。

目录

下载软件

根据您的支持状态,从 OTN 或 MOS 下载 Oracle 软件。

主机文件

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

<完全限定机器名称> <机器名称>

例如。

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.107  ol8-21.localdomain  ol8-21

在“/etc/hostname”文件中设置正确的主机名。

ol8-21.localdomain

Oracle 安装先决条件

执行自动设置或手动设置以完成基本先决条件。所有安装都需要附加安装程序。

自动设置

在撰写本文时,oracle-database-preinstall-21c 包尚未发布,但 19c 包可替代它。

如果您计划使用“oracle-database-preinstall-19c”包来执行所有先决条件设置,请发出以下命令。

# dnf install -y oracle-database-preinstall-19c

也可能值得进行完整更新,但这严格来说并不是必需的。

# yum update -y

值得运行手动设置部分中列出的所有 DNF 命令。根据您选择的操作系统软件包组,可能还需要一些额外的软件包。

如果您使用的是 RHEL8 或 CentOS8,您可以从 OL8 存储库中获取 RPM 并安装它。它将从您的正常存储库中提取依赖项。

curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm

yum -y localinstall oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm

手动设置

如果您尚未使用“oracle-database-preinstall-19c”软件包来执行所有先决条件,则需要手动执行以下设置任务。

将以下行添加到“/etc/sysctl.conf”文件或名为“/etc/sysctl.d/98-oracle.conf”的文件中。

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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

运行以下命令之一以更改当前内核参数,具体取决于您编辑的文件。

/sbin/sysctl -p
# Or
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

将以下行添加到名为“/etc/security/limits.d/oracle-database-preinstall-19c.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
oracle   soft   data    unlimited
oracle   hard   data    unlimited

以下软件包根据需要列出。如果有些没有安装,请不要担心。它不会阻止安装。

dnf install -y bc
dnf install -y binutils
dnf install -y compat-openssl10
dnf install -y elfutils-libelf
dnf install -y glibc
dnf install -y glibc-devel
dnf install -y ksh
dnf install -y libaio
dnf install -y libXrender
dnf install -y libX11
dnf install -y libXau
dnf install -y libXi
dnf install -y libXtst
dnf install -y libgcc
dnf install -y libnsl
dnf install -y libstdc++
dnf install -y libxcb
dnf install -y libibverbs
dnf install -y make
dnf install -y policycoreutils
dnf install -y policycoreutils-python-utils
dnf install -y smartmontools
dnf install -y sysstat

# Added by me.
dnf install -y unixODBC

创建新组和用户。

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

取消注释您需要的额外组。

附加设置

(adsbygoogle = window.adsbygoogle || []).push({});

为“oracle”用户设置密码。

passwd oracle

通过编辑“/etc/selinux/config”文件将安全 Linux 设置为许可,确保 SELINUX 标志设置如下。

SELINUX=permissive

更改完成后,重新启动服务器或运行以下命令。

# setenforce 许可

如果你有Linux的防火墙启用,您将需要关闭或配置,如图所示这里。要禁用它,请执行以下操作。

# systemctl stop firewalld
# systemctl disable firewalld

如果您不使用 Oracle Linux 和 UEK,则需要手动禁用透明大页面

创建将安装 Oracle 软件的目录。

mkdir -p /u01/app/oracle/product/21.0.0/dbhome_1
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02

将挂载点直接放在根目录下而不将单独的磁盘安装到它们通常是一个坏主意。为简单起见,此处已完成,但对于实际安装,应为操作系统保留“/”存储。

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

xhost +<machine-name>

脚本是使用cat命令创建的,所有“”字符都被转义了。如果要手动创建这些文件,而不是使用`cat`命令,请记住删除“”字符之前的“\”字符。

创建一个“脚本”目录。

mkdir /home/oracle/scripts

创建一个名为“setEnv.sh”的环境文件。“$”字符使用“\”进行转义。如果您不使用该cat命令创建文件,则需要删除转义字符。

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

export ORACLE_HOSTNAME=ol8-21.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/21.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata

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

在“/home/oracle/.bash_profile”文件末尾添加对“setEnv.sh”文件的引用。

echo "./home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash\_profile

创建可从启动/关闭服务调用的“start_all.sh”和“stop_all.sh”脚本。确保所有权和权限正确。

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”,您应该能够使用从“oracle”用户运行的以下脚本来启动/停止数据库。

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

您可以在此处查看如何创建 Linux 服务以自动启动/停止数据库。

安装

以 oracle 用户登录。如果您使用 X 仿真,则设置 DISPLAY 环境变量。

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

切换到该ORACLE_HOME目录,将软件直接解压缩到此路径中,然后通过在ORACLE_HOME目录中发出以下命令之一来启动 Oracle Universal Installer (OUI) 。交互模式将显示 GUI 安装程序屏幕以允许用户输入,而静默模式将安装软件而不显示任何屏幕,因为所有必需的选项都已在命令行中指定。

# Unzip software.
cd $ORACLE_HOME
unzip -oq /path/to/software/LINUX.X64_213000_db_home.zip

# Interactive mode.
./runInstaller

# Silent mode.
./runInstaller -ignorePrereq -waitforcompletion -silent                        \
    -responseFile ${ORACLE_HOME}/install/response/db_install.rsp               \
    oracle.install.option=INSTALL_DB_SWONLY                                    \
    ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                                         \
    UNIX_GROUP_NAME=oinstall                                                   \
    INVENTORY_LOCATION=${ORA_INVENTORY}                                        \
    SELECTED_LANGUAGES=en,en_GB                                                \
    ORACLE_HOME=${ORACLE_HOME}                                                 \
    ORACLE_BASE=${ORACLE_BASE}                                                 \
    oracle.install.db.InstallEdition=EE                                        \
    oracle.install.db.OSDBA_GROUP=dba                                          \
    oracle.install.db.OSBACKUPDBA_GROUP=dba                                    \
    oracle.install.db.OSDGDBA_GROUP=dba                                        \
    oracle.install.db.OSKMDBA_GROUP=dba                                        \
    oracle.install.db.OSRACDBA_GROUP=dba                                       \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                                 \
    DECLINE_SECURITY_UPDATES=true

出现提示时运行根脚本。

As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/21.0.0/dbhome_1/root.sh

您现在已准备好创建数据库,但如果您有权访问 Oracle 支持,最好先修补安装。

数据库创建

您可以使用数据库配置助手 (DBCA) 创建数据库。交互模式将显示 GUI 屏幕以允许用户输入,而静默模式将创建数据库而不显示任何屏幕,因为所有必需的选项都已在命令行中指定。

# Start the listener.
lsnrctl start

# Interactive mode.
dbca

# Silent mode.
dbca -silent -createDatabase                                                   \
     -templateName General_Purpose.dbc                                         \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \
     -characterSet AL32UTF8                                                    \
     -sysPassword SysPassword1                                                 \
     -systemPassword SysPassword1                                              \
     -createAsContainerDatabase true                                           \
     -numberOfPDBs 1                                                           \
     -pdbName ${PDB_NAME}                                                      \
     -pdbAdminPassword PdbPassword1                                            \
     -databaseType MULTIPURPOSE                                                \
     -memoryMgmtType auto_sga                                                  \
     -totalMemory 2000                                                         \
     -storageType FS                                                           \
     -datafileDestination "${DATA_DIR}"                                        \
     -redoLogFileSize 50                                                       \
     -emConfiguration NONE                                                     \
     -ignorePreReqs

您可以在此处阅读有关静默数据库创建的更多信息。

安装后

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

cdb1:/u01/app/oracle/product/21.0.0/db\_1:Y

启用 Oracle Managed Files (OMF) 并确保 PDB 在实例启动时启动。

sqlplus / as sysdba <<EOF
alter system set db_create_file_dest='${DATA_DIR}';
alter pluggable database ${PDB_NAME} save state;
exit;
EOF

只读 Oracle 主目录

从 Oracle 21c 开始,只读 Oracle 主目录是默认设置。此功能在以下文章中进行了描述。

有关更多信息,请参阅:

希望这可以帮助你。

文章来源:https://oracle-base.com/articles/21c/oracle-db-21c-installation-on-oracle-linux-8

最后修改时间:2021-08-16 12:01:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论