Oracle 数据库
🏺 折戟沉沙铁未销,自将磨洗认前朝
这一小节我们将讨论如何在 openEuler 上部署 Oracle 数据库。
🔖 这一节将会讨论:
目录
了解 Oracle 数据库
Oracle 数据库open in new window(简称 Oracle)是 甲骨文公司open in new window 的一款关系数据库。
当前最新的长期支持版为 Oracle Database 19c,但部分企业还在使用 Oracle Database 12copen in new window。本指南会对这两个版本进行部署演示。
安装 Oracle 数据库
1. 固定 IP 地址
参阅 1-2. 固定 IP 地址 将 IP 地址固定。
2. 绑定主机名
参阅 1-3. 绑定主机名 将 IP 地址和主机名绑定。
3. 关闭 SELinux
查看 SELinux 运行状态:
sestatus
1若第一行为以下内容则为运行状态:
SELinux status: enabled
1关闭 SELinux:
setenforce 0 # 暂时关闭 SELinux sudoedit /etc/selinux/config # 编辑 SELinux 配置文件
1
2将
SELINUX
的值改为disabled
:SELINUX=disabled # 重启后才会生效
1
4. 关闭防火墙
查看防火墙运行状态:
systemctl status firewalld.service
1关闭防火墙:
sudo systemctl stop firewalld.service # 关闭防火墙 sudo systemctl disable firewalld.service # 禁止开机启动 systemctl status firewalld.service # 复查一下
1
2
3
5. 重启系统
reboot
6. 下载安装文件
打开 Oracle 官方网站open in new window > 点击
下载 Oracle Database 19c
:点击
Linux x86-64
右侧的ZIP
下载连接,开始下载:ℹ️ 提示
需要登录甲骨文账户并同意相关协议。
若不是在 openEuler 系统中直接通过浏览器下载,则需要通过适当方法(如 FTP)将文件上传到 openEuler 系统中
7. 安装依赖包
安装相关依赖包:
- 查询未安装的依赖包:
rpm --query --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat elfutils-libelf elfutils-libelf-devel fontconfig-devel libxcb smartmontools libX11 libXau libXtst libXrender libXrender-devel libnsl
1- 安装未安装的依赖包:
sudo dnf install bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat elfutils-libelf elfutils-libelf-devel fontconfig-devel libxcb smartmontools libX11 libXau libXtst libXrender libXrender-devel libnsl # 已经安装的会自动跳过
1
8. 创建相关用户和用户组
创建相关用户组:
sudo groupadd oinstall sudo groupadd dba sudo groupadd oper sudo groupadd osoper
1
2
3
4创建相关用户并将其添加到相关组中:
sudo useradd -g oinstall -G dba,oper,osoper oracle
1为
oracle
用户创建密码:sudo passwd oracle
1
9. 修改相关配置文件
修改
/etc/security/limits.conf
文件来修改oracle
用户的 Shell 限制:sudoedit /etc/security/limits.conf
1在文件末尾添加以下内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stark 10240
1
2
3
4
5修改
/etc/sysctl.conf
文件来修改数据库所需的内核参数:sudoedit /etc/sysctl.conf
1在文件末尾添加以下内容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 16451328 kernel.shmmax = 33692319744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
1
2
3
4
5
6
7
8
9
10
11使内核参数生效:
sudo sysctl -p
1修改
/etc/pam.d/login
以添加验证模块:sudoedit /etc/pam.d/login
1在文件末尾添加以下内容:
session required pam_limits.so
1修改
/etc/profile
以修改系统环境变量:sudoedit /etc/profile
1在文件末尾添加以下内容:
if [ $USER = 'oracle' ]; then if [ $SHELL = '/bin/ksh' ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
1
2
3
4
5
6
7
8修改
/home/oracle/.bash_profile
以修改oracle
用户环境变量:sudoedit /home/oracle/.bash_profile chown
1
2在文件末尾添加以下内容:
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin
1
2
3
4
9. 创建目录
创建相关目录:
sudo mkdir -p /u01/app/oracle/product/19.3/db_1 sudo mkdir -p /u01/soft
1
2移动安装文件到对应位置并解压:
sudo mv /path/to/LINUX.X64_193000_db_home.zip /u01/soft cd /u01/soft sudo unzip LINUX.X64_193000_db_home.zip > /dev/null
1
2
3修改属主和属组:
sudo chown -R oracle:oinstall /u01
1
10. 开始安装
在图形界面登录到
oracle
用户打开终端 > 切换到
/u01/soft
目录 > 运行安装向导:cd /u01/soft ./runInstaller # 运行安装向导
1
2/etc/locale.conf
选择
Set Up Software Only
(仅设置软件)> 点击Next
(下一步):此处以单实例数据库为例,故选择
Single instance database installation
(单实例数据库安装)> 点击Next
(下一步):选择
Enterprise Edition
(企业版)> 点击Next
(下一步):由于之前已经配置了
$ORACLE_BASE
环境变量,所以点击Next
(下一步)即可:此处为产品清单目录(安装过程中产生的临时文件位置)以及对产品清单目录具有写权限的用户组,点击
Next
(下一步)即可:此处为对数据库进行相应操作所需权限对应的用户组,同样的,点击
Next
(下一步)即可:点击
Next
(下一步)即可:安装:
dnf install mksh libaio libgfortran gcc-c++ rdma-core-devel libtiff libstdc++ libpng libpcap libjpeg-turbo libXrender libXi libXext libXau libX11 libstdc++ libXtst libgcc libcap libcap-ng libstdc++ libaio