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

在 Fedora 35 (F35)上安装 Oracle Database 21c

原创 张猛 2022-10-12
1431

在Fedora系统上部署Oracle之前建议阅读此文!

本文主要介绍在 64位 Fedora35(F35) 系统上安装Oracle 21C数据库。操作系统基于一套最小为2G交换分区和SELINUX配置为permissive的系统。系统部署可参考Fedora 35 (F35) Installation

主要内容如下:

  • 下载软件
  • 配置hosts文件
  • 修改内核参数
  • 配置系统
  • 安装数据库软件
  • 创建数据库
  • 安装后续
下载软件

通过OTN或MOS(取决于您的支持状态)下载Oracle软件。

配置hosts文件

配置"/etc/hosts" 文件,文件必须包含一个服务的完全名称。

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

例如。

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.141  fedora35.localdomain  fedora35

在"/etc/hostname"的文件中配置正确的主机名。

fedora35.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为permissive。

SELINUX=permissive

重新服务器,使上述参数生效。

配置系统

系统需要安装以下软件包。

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.35.9000-29.fc37.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

我们不会使用额外的组,但如果您打算使用它们时请再创建。

建立目录并修改权限。

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

如果您使用X模式,登录为root用户,并执行如下命令。

xhost +<machine-name>

你需要添加以下软链接,否则Oracle(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.2.0.1 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.2.0.1 /usr/lib/libnsl.so.1

配置"oracle"用户的环境变量。

mkdir -p /home/oracle/scripts


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

export ORACLE_HOSTNAME=fedora35.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.6

# 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

当时提示下述脚本时,登录root用户,运行脚本。

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

你可以阅读更多关于静默安装的内容,请点 此链接 .

软件已安装完成,下面开始建立数据库。

数据库创建

可使用Database Configuration Assistant (DBCA)进行交互模式创建数据库,或通过运行脚本进行静默方式创建数据库。

# 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"文件,为每个实例配置自启动标志。

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

至此,已完成全部部署任务,您学Fei了吗? 希望本文对您有所帮助!~

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

评论