本文主要介绍在 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




