CentOS7 图形化方式安装 Oracle 18c 单实例

时间:2021-01-28 14:48:56

下载 Oracle 数据库,zip 包

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

一、更改内核参数值

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/changing-kernel-parameter-values.html#GUID-FB0CC366-61C9-4AA2-9BE7-233EB6810A31

# 创建或编辑
# vim /etc/sysctl.conf
vim /etc/sysctl.d/-oracle-database-sysctl.conf fs.aio-max-nr =
fs.file-max =
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default =
net.core.wmem_max = # 更改内核参数的当前值
/sbin/sysctl --system

sysctl -p
# 确认值设置正确
/sbin/sysctl -a

二、设置 UDP 和 TCP 内核参数

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/setting-udp-and-tcp-kernel-parameters-manually.html#GUID-F94545C8-7695-4866-89B0-F32651CD3658

# 查看
cat /proc/sys/net/ipv4/ip_local_port_range
# # 临时修改
echo > /proc/sys/net/ipv4/ip_local_port_range # 永久修改,添加或更改以下内容
vim /etc/sysctl.conf
net.ipv4.ip_local_port_range = # 重启网络
/etc/rc.d/init.d/network restart

三、安装基本依赖

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/supported-red-hat-enterprise-linux-7-distributions-for-x86-64.html#GUID-2E11B561-6587-4789-A583-2E33D705E498

yum install -y bc binutils compat-libcap1 gcc-c++ glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender-devel libXrender libgcc libstdc++ libstdc++-devel libxcb make nfs-utils net-tools python python-configshell python-rtslib python-six smartmontools sysstat targetcli

# compat-libstdc++
# http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum install -y http://www.rpmfind.net/linux/centos/7.6.1810/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

四、禁用 Transparent HugePages

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/disabling-transparent-hugepages.html#GUID-02E9147D-D565-4AF8-B12A-8E6E9F74BEEA

https://izhong.me/index.php/archives/70/

# 查看
# [always]启用、[never]禁用、[madvise]只在 MADV_HUGEPAGE 标志的 VMA 中使用 THP
cat /sys/kernel/mm/transparent_hugepage/enabled # 修改
# GRUB_CMDLINE_LINUX 最后添加 transparent_hugepage=never
vim /etc/default/grub GRUB_TIMEOUT=
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true" # 生成新 gurb.cfg 文件,重启生效
grub2-mkconfig -o /boot/grub2/grub.cfg

五、使用自动 SSH 配置

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/using-automatic-ssh-configuration-during-installation.html#GUID-51280BE9-4B2A-4BE3-9DA3-68B795D9FBA2

vim /etc/ssh/sshd_config

LoginGraceTime 

六、为 Oracle Grid Infrastructure 和 Oracle 数据库配置用户,组和环境

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/configuring-users-groups-and-environments-for-oracle-grid-infrastructure-and-oracle-database.html#GUID-B65E6113-D056-4DD9-940F-DFF493E413D5

# 创建Oracle库存组
groupadd -g oinstall # 为ASM Group创建OSDBA,该组的成员被授予对Oracle自动存储管理的访问权限
groupadd -g asmdba # 为ASM Group创建OSOPER,该组的成员被授予Oracle自动存储管理的启动和关闭权限
groupadd -g asmoper # 为数据库安装创建OSDBA组,该组的成员被授予SYSDBA系统特权以管理数据库
groupadd -g dba # 为数据库安装创建OSOPER组
# 仅当您要使用一组有限的数据库管理权限(SYSOPER操作员权限)标识一组操作系统用户时,才创建OSOPER组。
# 对于大多数安装,仅创建OSDBA组就足够了。
groupadd -g oper # 为数据库安装创建OSBACKUPDBA组,该组的成员被授予SYSBACKUP权限,以使用RMAN或SQL * Plus执行备份和恢复操作
groupadd -g backupdba # 为数据库安装创建OSDGDBA组,该组的成员被授予SYSDG权限以执行Data Guard操作
groupadd -g dgdba # 为数据库安装创建OSKMDBA组,该组的成员被授予SYSKM权限以执行透明数据加密密钥库操作
groupadd -g kmdba # 为数据库安装创建OSRACDBA组,该组的成员被授予SYSRAC权限,以在Oracle RAC集群上执行Oracle数据库的日常管理
groupadd -g racdba # 创建Oracle软件所有者用户
useradd -u -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
# usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba[,oper] oracle

七、检查Oracle软件安装用户的资源限制

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/checking-resource-limits-for-oracle-software-installation-users.html#GUID-293874BD-8069-470F-BEBF-A77C06618D5A

# nofile 打开文件描述符
# nproc 单个用户可用的进程数
# stack 进程的堆栈段的大小
# memlock 最大锁定内存限制
vim /etc/security/limits.conf oracle soft nofile
oracle hard nofile
oracle soft nproc
oracle hard nproc
oracle soft stack
oracle hard stack
oracle soft memlock
oracle hard memlock

八、创建Oracle数据库文件的目录

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/creating-directories-for-oracle-database-files.html#GUID-BAA48B85-7B6D-4482-B2CB-CE3CFC82ABBD

附上Oracle数据库文件目录规范 https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/optimal-flexible-architecture.html#GUID-34434C8B-EBEE-497A-BB92-26B43561B6B1

这里没有按照规范来,个人习惯

# 查看每个已装入文件系统上的可用磁盘空间
df -h # 数据库主目录
mkdir -p /opt/oracle/oracle_base/ # 数据库基目录
mkdir -p /opt/oracle/oracle_home/ # 安装时生成的日志目录
mkdir -p /opt/oracle/oraInventory/ # 设置用户组和权限
chown oracle:oinstall -R /opt/oracle/
chmod -R /opt/oracle/

九、设置环境变量

# 全局
vim /etc/profile.d/oracle.sh
# 或对 oracle 用户
su oracle
vim ~/.bashrc # umask
export ORACLE_SID=ORCLCDB
export ORACLE_BASE=/opt/oracle/oracle_base/
export ORACLE_HOME=/opt/oracle/oracle_home/
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8 # 刷新
. /etc/profile.d/oracle.sh
. ~/.bashrc

十、关闭防火墙,或放行端口

systemctl stop firewalld
systemctl disable firewalld

配置好后重启一遍,使一些配置生效。

十一、解压安装

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/running-oracle-universal-installer-to-install-oracle-database.html#GUID-DD4800E9-C651-4B08-A6AC-E5ECCC6512B9

先准备图形化工具 https://www.cnblogs.com/jhxxb/p/10672764.html

然后切换到 oracle 用户进行解压安装

# 安装解压工具
yum install -y unzip # 在 root 用户下修改 oracle 用户密码
passwd oracle # 打开 Xmanager,使用 oracle 用户登录 xstart # 解压至主目录,前面环境变量已经指定,不要解压到其它目录
cd /opt/oracle/oracle_home/
unzip -q /tmp/LINUX.X64_180000_db_home.zip # 关于安装界面语言
# 查看
echo $LANG
# 使用中文需要增加中文字体 zysong.ttf(中易宋体18030)
# http://www.3673.com/font/20617.html
# 下载后放入 /opt/oracle/oracle_home/jdk/jre/lib/fonts/fallback/zysong.ttf
# 使用英文设置下 LANG 即可
export LANG=en_US.UTF- # 开始安装
# 在 Oracle 主目录中,运行 runInstaller 命令以启动 Oracle 数据库设置向导,不要停留在其他目录运行
./runInstaller

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

使用 root 用户登录,执行脚本

# 不用进入特定目录,直接执行即可
/opt/oracle/oraInventory/orainstRoot.sh
/opt/oracle/oracle_home/root.sh

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

CentOS7 图形化方式安装 Oracle 18c 单实例

安装完成,重启一遍系统

十二、启动数据库

打开 xstart,以 oracle 用户登录

# 启动监听服务
lsnrctl start

CentOS7 图形化方式安装 Oracle 18c 单实例

# 进入 SQL
sqlplus / as sysdba # 启动数据库
startup

CentOS7 图形化方式安装 Oracle 18c 单实例

若出现 ORA-01078 LRM-00109 错误,把 /opt/oracle/oracle_base/admin/orcl/pfile/ 下的 init.ora.xxxxxxxx 文件复制到提示目录,然后改名即可

https://www.cnblogs.com/kerrycode/p/3567388.html

连接 oracle 数据库

CentOS7 图形化方式安装 Oracle 18c 单实例

关于设置自启动

https://www.cnblogs.com/jhxxb/p/10647101.html

其他命令

# 监听配置工具
netmgr

CentOS7 图形化方式安装 Oracle 18c 单实例

# 数据库配置工具
dbca

CentOS7 图形化方式安装 Oracle 18c 单实例