OEL9.7 安装 Oracle 26ai RAC

📢📢📢📣📣📣

作者:IT邦德

中国DBA联盟(ACDU)成员,15年DBA工作经验

Oracle、PostgreSQL ACE

CSDN博客专家及B站知名UP主,全网粉丝15万+

擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,

安装迁移,性能优化、故障应急处理

文章目录

  • 一、安裝前准备
    • [1.1 软件下载](#1.1 软件下载)
      • [1.1.1 26ai RAC地址](#1.1.1 26ai RAC地址)
      • [1.1.2 OEL9.7地址](#1.1.2 OEL9.7地址)
    • [1.2 网络规划](#1.2 网络规划)
    • [1.3 ASM磁盘组规划](#1.3 ASM磁盘组规划)
  • 二、用户及网络
    • [2.1 新建用户和组](#2.1 新建用户和组)
    • [2.2 创建目录](#2.2 创建目录)
    • [2.3 环境变量](#2.3 环境变量)
      • [2.3.1 Grid用户](#2.3.1 Grid用户)
      • [2.3.2 Oracle用户](#2.3.2 Oracle用户)
    • [2.3.3 root用户](#2.3.3 root用户)
    • [2.4 hosts文件及网卡](#2.4 hosts文件及网卡)
      • [2.4.1 hosts 配置](#2.4.1 hosts 配置)
  • 三、共享存储配置
    • [3.1 新建存储文件](#3.1 新建存储文件)
    • [3.2 配置虚拟机](#3.2 配置虚拟机)
    • [3.3 操作系统磁盘规划](#3.3 操作系统磁盘规划)
  • 四、多链路配置
    • [4.1 配置 yum本地源](#4.1 配置 yum本地源)
    • [4.2 配置多路径](#4.2 配置多路径)
      • [4.2.1 安装multipath](#4.2.1 安装multipath)
      • [4.2.2 生成配置文件](#4.2.2 生成配置文件)
      • [4.2.3 激活multipath多路径](#4.2.3 激活multipath多路径)
      • [4.2.4 查看状态](#4.2.4 查看状态)
      • [4.2.5 开机自启动服务](#4.2.5 开机自启动服务)
    • [4.3 配置 UDEV](#4.3 配置 UDEV)
  • 五、操作系统配置
    • [5.1 操作系统](#5.1 操作系统)
    • [5.2 内存](#5.2 内存)
    • [5.3 swap](#5.3 swap)
    • [5.4 安装依赖包](#5.4 安装依赖包)
    • [5.5 关闭防火墙](#5.5 关闭防火墙)
    • [5.6 关闭linux安全](#5.6 关闭linux安全)
    • [5.7 chrony配置](#5.7 chrony配置)
    • [5.8 修改login](#5.8 修改login)
    • [5.9 修改limits.conf](#5.9 修改limits.conf)
    • [5.10 修改内核参数](#5.10 修改内核参数)
    • [5.11 停止avahi-daemon服务](#5.11 停止avahi-daemon服务)
    • [5.12 /etc/profile配置](#5.12 /etc/profile配置)
  • 六、Grid集群软件安装
    • [6.1 上传软件包](#6.1 上传软件包)
    • [6.2 解压grid安装包](#6.2 解压grid安装包)
    • [6.3 安装cvuqdisk](#6.3 安装cvuqdisk)
    • [6.4 互信配置](#6.4 互信配置)
    • [6.5 GI配置预检查](#6.5 GI配置预检查)
    • [6.6 执行安装](#6.6 执行安装)
    • [6.7 挂载ASM盘](#6.7 挂载ASM盘)
  • [七、Oracle DataBase软件安装](#七、Oracle DataBase软件安装)
    • [7.1 解压](#7.1 解压)
    • [7.2 解压安装](#7.2 解压安装)
  • 八、DBCA创建实例
  • 九、RAC启停
    • [9.1 关闭](#9.1 关闭)
    • [9.2 启动](#9.2 启动)

一、安裝前准备

OS版本:Oracle Linux Server release 9.7

内存:至少8G

1.1 软件下载

1.1.1 26ai RAC地址

https://www.oracle.com/database/technologies/oracle26ai-linux-downloads.html

1.1.2 OEL9.7地址

https://yum.oracle.com/oracle-linux-isos.html

1.2 网络规划

1.3 ASM磁盘组规划

二、用户及网络

2.1 新建用户和组

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 54327 asmdba

groupadd -g 54328 asmoper

groupadd -g 54329 asmadmin

groupadd -g 54330 racdba

useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -u 10000 oracle

useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba -u 10001 grid

echo "oracle" | passwd --stdin oracle

echo "grid" | passwd --stdin grid

2.2 创建目录

mkdir -p /u01/app/23.26.1/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/23.26.1/dbhome_1

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

2.3 环境变量

2.3.1 Grid用户

复制代码
cat >> /home/grid/.bash_profile << "EOF"
umask 022
export LANG=en_US
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/23.26.1/grid
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
EOF

source /home/grid/.bash_profile

2.3.2 Oracle用户

复制代码
cat >> /home/oracle/.bash_profile << "EOF"
export LANG=en_US
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/23.26.1/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=PROD1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
EOF

source /home/oracle/.bash_profile

2.3.3 root用户

复制代码
vi .bash_profile
export ORACLE_HOME=/u01/app/23.26.1/grid
export PATH=$PATH:$ORACLE_HOME/bin

2.4 hosts文件及网卡

2.4.1 hosts 配置

--root用户下,2个节点均操作

cp /etc/hosts /etc/hosts_date +"%Y%m%d_%H%M%S"

echo '#public ip

192.168.2.20 srv01

192.168.2.21 srv02

#private ip

10.10.0.1 srv01-priv

10.10.0.2 srv02-priv

#vip

192.168.2.22 srv01-vip

192.168.2.23 srv02-vip

#scanip

192.168.2.24 srv-racscan'>> /etc/hosts

hostnamectl set-hostname srv01

hostnamectl set-hostname srv02

三、共享存储配置

3.1 新建存储文件

复制代码
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr01.vmdk" 
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr02.vmdk" 
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr03.vmdk" 
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-data01.vmdk"
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-data02.vmdk"
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-arch01.vmdk"

3.2 配置虚拟机

找到虚拟机的配置文件.vmx,加入以下内容

#shared disks configure

diskLib.dataCacheMaxSize=0

diskLib.dataCacheMaxReadAheadSize=0

diskLib.dataCacheMinReadAheadSize=0

diskLib.dataCachePageSize=4096

diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"

scsi1.sharedBus = "virtual"

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

scsi1:0.mode = "independent-persistent"

scsi1:0.deviceType = "disk"

scsi1:0.present = "TRUE"

scsi1:0.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr01.vmdk"

scsi1:0.redo = ""

scsi1:1.mode = "independent-persistent"

scsi1:1.deviceType = "disk"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr02.vmdk"

scsi1:1.redo = ""

scsi1:2.mode = "independent-persistent"

scsi1:2.deviceType = "disk"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr03.vmdk"

scsi1:2.redo = ""

scsi1:3.mode = "independent-persistent"

scsi1:3.deviceType = "disk"

scsi1:3.present = "TRUE"

scsi1:3.fileName = "E:\VMware_File\Sharedisk26ai\share-data01.vmdk"

scsi1:3.redo = ""

scsi1:4.mode = "independent-persistent"

scsi1:4.deviceType = "disk"

scsi1:4.present = "TRUE"

scsi1:4.fileName = "E:\VMware_File\Sharedisk26ai\share-data02.vmdk"

scsi1:4.redo = ""

scsi1:5.mode = "independent-persistent"

scsi1:5.deviceType = "disk"

scsi1:5.present = "TRUE"

scsi1:5.fileName = "E:\VMware_File\Sharedisk26ai\share-arch01.vmdk"

scsi1:5.redo = ""

3.3 操作系统磁盘规划

四、多链路配置

4.1 配置 yum本地源

复制代码
mount /dev/cdrom /mnt

echo "[localREPO]" >> /etc/yum.repos.d/my.repo
echo "name=localhost8" >> /etc/yum.repos.d/my.repo
echo "baseurl=file:///mnt/BaseOS" >> /etc/yum.repos.d/my.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/my.repo
echo "enabled=1" >> /etc/yum.repos.d/my.repo

echo "[localREPO_APP]" >> /etc/yum.repos.d/my.repo
echo "name=localhost8_app" >> /etc/yum.repos.d/my.repo
echo "baseurl=file:///mnt/AppStream" >> /etc/yum.repos.d/my.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/my.repo
echo "enabled=1" >> /etc/yum.repos.d/my.repo

yum repolist

4.2 配置多路径

4.2.1 安装multipath

systemctl status multipathd.service

若没有则执行以下命令安装:

yum install -y device-mapper*

4.2.2 生成配置文件

mpathconf --enable --with_multipathd y

以上命令,会生成一个配置文件multipath.conf

cat /etc/multipath.conf

查看scsi_id

复制代码
[root@srv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
/usr/lib/udev/scsi_id -g -u /dev/sdb
36000c293e882f001bfdfbd0149b8c1d0
/usr/lib/udev/scsi_id -g -u /dev/sdc
36000c29cfd11459849fa8d2c9f4dc1c9
/usr/lib/udev/scsi_id -g -u /dev/sdd
36000c29685dc13f386419a261dad244d
/usr/lib/udev/scsi_id -g -u /dev/sde
36000c297a502e02ef1cce51a2697da72
/usr/lib/udev/scsi_id -g -u /dev/sdf
36000c299a7b8e711113652b69e7cd3cd
/usr/lib/udev/scsi_id -g -u /dev/sdg
36000c29facc541ce942bd6173e3d1365

cp /etc/multipath.conf /etc/multipath.conf.bak

复制代码
cat <<EOF>> /etc/multipath.conf
multipaths {
  multipath {
  wwid "36000c293e882f001bfdfbd0149b8c1d0"
  alias asm_ocr01
  }
  multipath {
  wwid "36000c29cfd11459849fa8d2c9f4dc1c9"
  alias asm_ocr02
  }
  multipath {
  wwid "36000c297a502e02ef1cce51a2697da72"
  alias asm_ocr03
  }
  multipath {
  wwid "36000c29685dc13f386419a261dad244d"
  alias asm_data01
  }  
  multipath {
  wwid "36000c299a7b8e711113652b69e7cd3cd"
  alias asm_data02
  }
  multipath {
  wwid "36000c29facc541ce942bd6173e3d1365"
  alias asm_arch01
  }
}
EOF

4.2.3 激活multipath多路径

systemctl start multipathd.service

重新加载:multipath -r

查看多路径:multipath -ll

4.2.4 查看状态

systemctl status multipathd.service

4.2.5 开机自启动服务

systemctl enable multipathd.service

root@srv01 \~# multipath -v3 | grep 3600

root@srv01 \~# mpathconf

4.3 配置 UDEV

root@srv01 \~# cd /dev/mapper

root@srv01 mapper# ll

注意:2个节点均执行,root用户

root@srv01 \~# cd /dev/mapper

复制代码
for i in asm_*; do
  printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_info
done
while read -r line; do
  dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
  disk_name=$(echo "$line" | awk '{print $1}')
  echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmdba\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done < /dev/mapper/udev_info

udevadm control --reload-rules

udevadm trigger --type=devices

ll /dev/dm*

五、操作系统配置

5.1 操作系统

root@srv01 \~# cat /etc/oracle-release

Oracle Linux Server release 9.7

5.2 内存

root@srv01 \~# grep MemTotal /proc/meminfo | awk '{print $2}'

32398736

5.3 swap

root@srv01 \~# free -h

root@srv01 \~# grep SwapTotal /proc/meminfo | awk '{print $2}'

5.4 安装依赖包

yum install -y bc binutils compat-openssl11 elfutils-libelf fontconfig glibc glibc-devel glibc-headers ksh libaio libasan liblsan libX11 libXau libXi libXrender libXtst libxcrypt-compat libgcc libibverbs librdmacm libstdc++ libxcb libvirt-libs make policycoreutils policycoreutils-python-utils smartmontools sysstat

5.5 关闭防火墙

注意:root用户两个节点均操作

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

5.6 关闭linux安全

root@srv01 \~# vi /etc/selinux/config

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5.7 chrony配置

systemctl status chronyd

yum -y install chrony

vi /etc/chrony.conf

sources 命令显示 chronyd 正在访问的当前时间源的信息。

可以使用可选参数 -v 来包括详细信息。在这种情况下,会输出额外的标头行显示字段含义的信息。

$ chronyc sources

5.8 修改login

root@srv01 \~# cp /etc/pam.d/login /etc/pam.d/login_bak

root@srv01 \~# echo "session required pam_limits.so" >> /etc/pam.d/login

5.9 修改limits.conf

复制代码
cat <<EOF>> /etc/security/limits.conf
#ORACLE SETTING
grid  soft  nproc 16384
grid  hard  nproc 16384
grid  soft  nofile 1024
grid  hard  nofile 65536
grid  soft  stack 10240
grid  hard  stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
oracle hard stack  32768
oracle hard memlock 3428352
oracle soft memlock 3428352
EOF

memlock计算的原则:物理内存的90%(单位是KB)

5.10 修改内核参数

复制代码
cat <<EOF>> /etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 22548578304
kernel.shmall = 5637144576
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 = 1048586
EOF

kernel.shmmax参数:需要根据实际物理内存计算,此处按节点物理内存128GB计算;建议kernel.shmmax参数取值为节点物理内存的70%,单位为字节,

即12870%10241024 1024=96207267430.4(向上取整为96207267430)。

kernel.shmall参数:根据SGA/PAGE_SIZE计算。

kernel.sem参数:如果客户单个数据库需要支持的process数超过12000,请按照实际情况配置。

生效命令:/sbin/sysctl --system

5.11 停止avahi-daemon服务

systemctl disable avahi-daemon.socket

systemctl disable avahi-daemon.service

systemctl stop avahi-daemon.socket

添加NOZEROCONF=yes参数

vi /etc/sysconfig/network

NOZEROCONF=yes

5.12 /etc/profile配置

复制代码
cat >> /etc/profile << EOF
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
      fi
    umask 022
fi
EOF

六、Grid集群软件安装

6.1 上传软件包

root@srv01 \~# ll /opt

6.2 解压grid安装包

复制代码
[grid@srv01 ~]$ echo $ORACLE_HOME
/u01/app/23.26.1/grid
[root@srv01 ~]$ cp /opt/LINUX.X64_2326100_grid_home.zip /u01/app/23.26.1/grid

[root@srv01 ~]# chown -R grid:oinstall /u01/app/23.26.1/grid
[root@srv01 ~]# chmod -R 775 /u01/app/23.26.1/grid
[root@srv01 ~]# su - grid
[grid@srv01 ~]$ cd $ORACLE_HOME
[grid@srv01 grid]$ unzip LINUX.X64_2326100_grid_home.zip

6.3 安装cvuqdisk

root用户下2个节点都要操作

root@srv01 \~# cd /u01/app/23.26.1/grid/cv/rpm

root@srv01 rpm# ll

root@srv01 rpm# export CVUQDISK_GRP=oinstall

root@srv01 rpm# rpm -ivh cvuqdisk-1.0.10-1.rpm

6.4 互信配置

分别使用grid和oracle用户验证SSH connectivity:

#grid用户等效性

srv01

ssh-keygen -t rsa

ssh-keygen -t dsa

srv02

ssh-keygen -t rsa

ssh-keygen -t dsa

复制代码
srv01
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@srv02 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
srv02
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@srv01 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

for h in srv01 srv01-priv srv02 srv02-priv;
do
ssh -l grid -o StrictHostKeyChecking=no $h date;
done

#oracle用户等效性

复制代码
srv01
ssh-keygen -t rsa
ssh-keygen -t dsa
srv02
ssh-keygen -t rsa
ssh-keygen -t dsa

srv01
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@srv02 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
srv02
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@srv01 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

for h in srv01 srv01-priv srv02 srv02-priv;
do
ssh -l oracle -o StrictHostKeyChecking=no $h date;
done

6.5 GI配置预检查

在配置GRID前,使用grid用户执行runcluvf.sh脚本检查环境,修复不满足安装需求的项

su - grid

/u01/app/23.26.1/grid/runcluvfy.sh stage -pre crsinst -n srv01,srv02 -fixup -verbose

6.6 执行安装

复制代码
[grid@srv01 grid]$ export DISPLAY=192.168.2.23:0.0
[grid@srv01 grid]$ ./gridSetup.sh

查看节点信息:crsctl check cluster -all

检查crs运行状态:crsctl check crs

grid@srv01 \~$ crsctl status res -t

6.7 挂载ASM盘

SQL> select name,state from v$asm_diskgroup;

七、Oracle DataBase软件安装

7.1 解压

oracle@srv01 \~ echo ORACLE_HOME

/u01/app/oracle/product/23.26.1/dbhome_1

复制代码
[root@srv01 ~]# cd /opt
[root@srv01 opt]# cp LINUX.X64_2326100_db_home.zip /u01/app/oracle/product/23.26.1/dbhome_1
[root@srv01 ~]# chown -R oracle:oinstall /u01/app/oracle/product/23.26.1/dbhome_1
[root@srv01 ~]# chmod -R 775 /u01/app/oracle/product/23.26.1/dbhome_1

[root@srv01 soft]# su - oracle
[oracle@srv01 ~]$ cd $ORACLE_HOME
[oracle@srv01 dbhome_1]$ unzip LINUX.X64_2326100_db_home.zip

7.2 解压安装

复制代码
[oracle@srv01 dbhome_1]$  export DISPLAY=192.168.2.238:0.0
[oracle@srv01 dbhome_1]$  ./runInstaller

八、DBCA创建实例

复制代码
[root@srv01 ~]# su - oracle
[oracle@srv01 ~]$ export DISPLAY=192.168.2.183:0.0
[oracle@srv01 ~]$ dbca

九、RAC启停

9.1 关闭

oracle:srvctl stop database -d prod

root:crsctl stop crs

9.2 启动

root:crsctl stop crs

oracle:srvctl start database -d prod

crsctl status res -t

相关推荐
Mr.Daozhi31 分钟前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
小程故事多_8036 分钟前
Claude Code自定义workflow skills用法
数据库·人工智能·智能体
大鹏说大话36 分钟前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
夏贰四1 小时前
数据建模工具如何筑牢数据根基?数据建模工具怎样落实标准体系?
数据库·数学建模·数据建模工具
程序猿阿伟3 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
二等饼干~za8986683 小时前
geo优化源码开发搭建技术分享
大数据·网络·数据库·人工智能·音视频
jnrjian3 小时前
CDB 中某个PDB的datafile 丢失 没有备份过也可恢复 需要来回切换CDB PDB
oracle
数据库小学妹3 小时前
HTAP混合负载架构:如何用一个数据库同时搞定交易和分析
数据库·经验分享·架构·dba
wuxinyan1233 小时前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体
Elastic 中国社区官方博客3 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索