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

在 Fedora 37 (F37) 上安装 Oracle Database 21c

原创 小小亮 2022-11-23
427

本文介绍了在Fedora 37 (F37)64 位上安装 Oracle Database 21c 64 位。本文基于具有最少 2G 交换空间且安全 Linux 设置为宽松的服务器安装。可以在此处查看(https://oracle-base.com/articles/linux/fedora-37-installation)此类 Linux 安装的示例。

目录

下载软件

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

  • OTN:Oracle Database 21c (21.3) 软件(64 位)(http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html)
  • edelivery:Oracle Database 21c (21.3) 软件(64 位)(http://edelivery.oracle.com/)

主机文件

“/etc/hosts”文件必须包含服务器的完全限定名称。

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

例如。

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.141  fedora37.localdomain  fedora37
复制

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

fedora37.localdomain
复制

设置内核参数

将以下行添加到“/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-server-21c-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    32868
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728
oracle   soft   data    unlimited
oracle   hard   data    unlimited
复制

停止并禁用防火墙。如果您愿意,可以稍后配置它。

# systemctl stop firewalld
# systemctl disable firewalld
复制

通过编辑“/etc/selinux/config”文件将 SELinux 设置为宽容,确保 SELINUX 标志设置如下。

SELINUX=permissive
复制

服务器需要重新启动才能使更改生效。

设置

根据需要列出以下软件包。有些被注释掉了,因为它们不存在于 Fedora 存储库中。

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.
yum install -y unixODBC

# compat-libpthread-nonshared.
dnf install -y libnsl2
dnf install -y libnsl2.i686
dnf install -y libxcrypt-compat
dnf install -y http://rpmfind.net/linux/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/c/compat-libpthread-nonshared-2.36.9000-13.fc38.x86_64.rpm

#dnf update -y
复制

创建新的组和用户。

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 54328 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin

useradd -u 54321 -g oinstall -G dba,oper oracle
passwd oracle
复制

我们不会使用额外的组,但如果您确实计划使用它们,请将它们包括在内。

创建将安装 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
复制

将挂载点直接放在 root 下而不挂载单独的磁盘通常是一个坏主意。此处为简单起见,但对于真正的安装,应为操作系统保留“/”存储。

如果您使用的是 X Emulation,请以 root 身份登录并发出以下命令。

xhost +<machine-name>
复制

您将需要添加以下符号链接,否则 Oracle Universal Installer (OUI) 将不会启动。

# Fix for Oracle on Fedora.
rm -f /usr/lib64/libnsl.so.1
rm -f /usr/lib/libnsl.so.1
ln -s /usr/lib64/libnsl.so.3.0.0 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.3.0.0 /usr/lib/libnsl.so.1
复制

为“oracle”用户设置环境。“$”字符使用“\”转义。如果您不是使用该cat命令创建文件,则需要删除转义字符。

mkdir -p /home/oracle/scripts


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

export ORACLE_HOSTNAME=fedora37.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/oraInvenotry
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

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

chown -R oracle:oinstall /home/oracle/scripts
复制

安装

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

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

使用交互模式 (GUI) 或静默模式执行纯软件安装,并在出现提示时运行根脚本。注意CV_ASSUME_DISTID环境变量的设置,伪造操作系统。

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

# Fix for linking error suggested by Steven Kennedy.
cd $ORACLE_HOME/lib/stubs
mv libc.so libc.so.hide
mv libc.so.6 libc.so.6.hide

# Fake OS.
export CV_ASSUME_DISTID=OEL7.8

# 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/oraInvenotry/orainstRoot.sh
        2. /u01/app/oracle/product/21.0.0/dbhome_1/root.sh
复制

您可以在此处(https://oracle-base.com/articles/misc/oui-silent-installations)阅读有关静默安装的更多信息。

您现在已准备好创建数据库。

数据库创建

您使用数据库配置助手 (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
复制

您可以在此处(https://oracle-base.com/articles/misc/database-configuration-assistant-dbca-silent-mode)阅读有关静默数据库创建的更多信息。

安装后

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

cdb1:/u01/app/oracle/product/21.0.0/dbhome_1:Y
复制

有关详细信息,请参阅:

希望这可以帮助到你…

原文标题:Oracle Database 21c Installation On Fedora 37 (F37)
原文链接:https://oracle-base.com/articles/21c/oracle-db-21c-installation-on-fedora-37

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

评论

目录
  • 下载软件
  • 主机文件
  • 设置内核参数
  • 设置
  • 安装
  • 数据库创建
  • 安装后