在Oracle Linux 8(OL8)上安装 Oracle Database 19c (19.3) 单机版本
本文环境版本
OS: Oracle Linux 8.7 x86_64
Oracle Database 19c (19.3)
如果是ssh方式远程服务器需要图形界面,可以使用工具组合: putty + VcXsrv(或 Xming),其中VcXsrv、Xming 为Windows X-server服务图形的输出工具。
putty (或者类似其它ssh软件,如 xshell、SecureCRT等)需要设置 类似允许 X11转发
数据库安装软件可以从Oracle 官方Oracle Database页(LINUX.X64_193000_db_home.zip
)下载,或 Oracle Software Delivery Cloud 通道下载。V982063-01.zip Oracle Database 19.3.0.0.0 for Linux x86-64, 2.8 GB
Oracle Linux安装说明
在OL9下没有找到oracle-database-preinstall-19c包,所以本文选择在OL8下安装oracle 19c。
Oracle Linux 镜像可以从这里下载。完整镜像体积太大,本文选择Oracle UEK内核的boot镜像(OL8U7 x86_64-boot-uek.iso
)安装。
Oracle Linux 8.7 boot镜像安装系统跟使用全镜像安装过程基本一样,唯独需要手动配置软件源,如Oracle官方yum仓库源(https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/
)。
Oracle linux 8 YUM 仓库地址见这里 https://yum.oracle.com/oracle-linux-8.html
填写完安装YUM源后需要等一下,获取到yum库信息后才可能进行下一步安装,否则下一步安装按钮为灰色
OS 为最小化方式安装,分区划分(OS内存为4GB时,SWAP分区设定为它的两倍),文件系统均为默认xfs类型。
/boot 1Gb
/ 41Gb
swap 8Gb
手动安装 rsyslog
服务,以及打Oracle补丁需要 perl 工具,安装命令: dnf install perl rsyslog
一、安装 Oracle database 19c 预配置包
非必须。建议安装,安装oracle预配置包,可以省去一些手动配置,如
- 创建oracle用户。
- 自动安装一些关联库(如 xorg-x11-utils、libX11 、unixODBC)。
- Linux优化调整配置
/etc/sysctl.d/99-oracle-database-preinstall-19c-sysctl.conf
- 配置
/etc/security/limits.d/oracle-database-preinstall-19c.conf
转自官网:About the Oracle Database Preinstallation RPM
- Automatically downloads and installs any additional RPM packages needed for installing Oracle Grid Infrastructure and Oracle Database, and resolves any dependencies
- Creates an
oracle
user, and creates the oraInventory (oinstall
) and OSDBA (dba
) groups for that user- As needed, sets
sysctl.conf
settings, system startup parameters, and driver parameters to values based on recommendations from the Oracle Database Preinstallation RPM program- Sets hard and soft resource limits
- Sets other recommended parameters, depending on your kernel version
- Sets numa=off in the kernel for Linux x86_64 machines.
# 安装 oracle-database-preinstall-19c 包
dnf install oracle-database-preinstall-19c
# 如果不是 Oracle Linux 8系统,如类 RHEL8 系统(rocky linux 8 、CentOS 8),可下载指定安装
wget https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
dnf localinstall oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
二、其它设置
在安装了oracle预配置包后,还需要设置如下部分
- 禁用SELinux功能(略)
- 禁用透明巨页(Transparent HugePages)
If you are not using Oracle Linux and UEK, you will need to manually disable transparent huge pages.
# 显示为[never]表示禁用,Oracle Linux8默认已禁用透明巨页
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
- 创建Oracle database安装目录
# dbhome_1 这里作为 $ORACLE_HOME 所指路径 ,并赋权给oracle账号
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
- 检查并调整环境变量
登录为oracle用户
查看自动创建的oracle帐号组别 # id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54330(racdba),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba)
# su - oracle
$ vi .bash_profile
增加类似
# Fake Oracle Linux 7 (指定为类似 OEL8.1、OEL8.7也可,如果操作系统是类RHEL7版本系统,可以不需要这个定义 )
export CV_ASSUME_DISTID=OEL7.6
# Oracle Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=orcl
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib三、安装数据库软件
从18C 开始Oracle提供了镜像形式的Oracle 软件,创建Oracle Home(建议符合OFA建议)后,解压软件包到ORACLE_HOME,然后运行runInstaller注册数据库软件。 单实例和集群都可以通过这种方式部署。 1、进入oracle程序安装包解压目录,执行安装 把压缩包 解压到 $ORACLE_HOME 路径下,在此目录下运行 ./runInstaller # 解压database 安装包(V982063-01.zip)到 $ORACLE_HOME 目录下 $ cd $ORACLE_HOME $ unzip -q /u01/software/Oracle19c/V982063-01.zip
安装最好选择仅安装软件,不创建数据库。之后再另外创建数据库。 切换到oracle用户执行 # 方式一:图形化安装 ./runInstaller # 方式二:静默安装,仅安装oracle database软件企业版(EE)、-ignorePrereq (忽略安装环境检测,非必要不使用此参数)、-responseFile 参数不用貌似也不影响 ./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,zh_CN 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. /data/oracle/app/oraInventory/orainstRoot.sh 2. /data/oracle/app/oracle/product/19.0.0/dbhome_1/root.sh
安装database同时应用RU(新安装建议)
如果安装database 19c时已经准备好RU补丁,可以在安装时指定参数(applyRU 和 applyOneOffs),即安装DB软件时同时指定RU。 # 解压下载的新版OPatch到ORACLE_HOME下 $ cd $ORACLE_HOME $ mv OPatch OPatch_orig_backup $ unzip -q /u01/software/Oracle19c/Patch/19.18.0.0.230117/p6880880_122010_Linux-x86-64.zip # 解压补丁包到临时目录(用完可删除),为防止补丁包相同文件覆盖,所以分别解压到各个子目录下 $ mkdir -p /tmp/19.18.0.0.230117/{RU1918,OJVM} # 解压database补丁包 $ unzip -q /u01/software/Oracle19c/Patch/19.18.0.0.230117/p34765931_190000_Linux-x86-64.zip -d /tmp/19.18.0.0.230117/RU1918/ # 解压OJVM补丁包 $ unzip -q /u01/software/Oracle19c/Patch/19.18.0.0.230117/p34786990_190000_Linux-x86-64.zip -d /tmp/19.18.0.0.230117/OJVM/ # Oracle补丁包解压目录结构 $ tree -L 2 /tmp/19.18.0.0.230117/ /tmp/19.18.0.0.230117/ ├── OJVM │ ├── 34786990 │ └── PatchSearch.xml └── RU1918 ├── 34765931 └── PatchSearch.xml # 开始安装(-applyOneOffs 参数多个目录可以用逗号分隔目录) $ ./runInstaller -applyRU /tmp/19.18.0.0.230117/RU1918/34765931 -applyOneOffs /tmp/19.18.0.0.230117/OJVM/34786990
打补丁完成后检查,可以看到 Database RELEASE UPDATE 已经由 19.3.0.0.0 更新为 19.18.0.0.230117。 $ $ORACLE_HOME/OPatch/opatch lspatches 34786990;OJVM RELEASE UPDATE: 19.18.0.0.230117 (34786990) 34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931) 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
四、创建数据库实例
创建数据库,这里使用数据库助手(dbca)来创建 # 监听器创建、重建 netca # 启动监听器 lsnrctl start # Interactive mode. dbca