作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)
大家好,我是JiekeXu,江湖人称“强哥”,青学会MOP技术社区联合创始人,荣获Oracle ACE Pro称号,墨天轮MVP,墨天轮年度“墨力之星”,拥有Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP认证以及KCA、KCP、KCSM、PCA、PCTA、OBCA等众多国产数据库认证证书,今天和大家一起来看看 AI 向量 OCP 考试认证指南。欢迎点击下方“JiekeXu DBA之路”公众号名片可关注我的微信公众号,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送给你!后台回复【加群】,添加我个人微信拉你进群交流学习。
前面写了几篇文章阅读量均不错,也帮助到了一些小伙伴,这里再次分享给大家。
《MySQL 8.0 OCP 1Z0-908 考试题解析指南》
《快来白嫖呀~从0到1的 MySQL 8.0 OCP 考试报考指南(建议收藏)》
《MySQL 8.0 OCP 1Z0-908 考试题解析指南(二) 》
《MySQL 官方准备了 3 个月的羊毛,万万没想到 8 天就被薅秃了,那么国内还能薅吗》
《1Z0-184-25: Oracle AI Vector Search 认证考试零基础指南》
《1Z0-184-25: Oracle AI Vector Search 认证考试零基础指南(二)题库分享》
《1Z0-771: Oracle APEX 开发认证考试白嫖宝典》
前 言
在 3 月 28 日 OceanBase 合作伙伴大会上,OceanBase 基于自主研发的单机分布式一体化架构,发布了全新的单机版产品,单机版具备极简数据库架构和高度兼容性,包含企业版 Oracle 租户能力和社区版 MySQL 兼容能力,可为中小规模业务提供兼具性能与成本效益的单机数据库解决方案,满足客户从分布式到单机场景的多元化需求。OceanBase 的单机版和分布式版作为企业版两个独立产品,拥有独立的安装包、License、适配工具、文档体系和定价方案。
目前,OceanBase 可兼容超过 95% 的 Oracle 语法、命令、对象,支持存储过程、C 语言接口、预编译器等功能。OceanBase 单机版的 Oracle 兼容性 与 OceanBase 分布式版完全一致,涵盖 SQL 语法、OCI 驱动兼容性、C 语言嵌入 Pro-C 能力等,尤其在过程化语言(PL)方面已实现完整兼容。话不多说,今天就来体验一下吧,还是从安装部署开始。
单机企业版下载
单机版下载链接:https://www.oceanbase.com/softwarecenter-standalone
注意:此链接下载提供的 OceanBase 企业版(单机版),配置有试用版许可证(非生产用途),有效期为 180 天,仅供学习、测试或适配使用,不提供技术支持及SLA保障,不得用于营利性、商业性或生产目的。试用许可证过期后,您将无法继续使用数据库功能。
oceanbase-standalone-all-in-one-4.2.5.3-103000152025033110.el7.x86_64.tar.gz 安装包属于内测仅 180 天可用,安装包获取需联系官方人员,如果个人学习备考OBCA/CP也可以找我发你。
另外配套文档也已上线:https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701677
安装准备
如果使用 obd 工具安装单机版服务器最低要求:CPU 2 核,内存 6G,推荐:CPU 4 核,内存 8G 以上,要是使用 OCP 工具安装单机版,服务器最低要求CPU:16 核,内存:32 GB,磁盘:1.5 TB。
另外需要保障 free 的 Mem 值足够满足上述 服务器配置要求 内的配置,如果不够,请清理缓存或者更换服务器。
sysctl -w vm.drop_caches=3 #或 echo 3 > /proc/sys/vm/drop_caches
本次因为 OS 内存有限,则打算使用 odb 部署,如果内存富裕,可参考官方文档或总监写的文档使用 OCP 工具部署。
操作系统要求 CentOS / Red Hat Enterprise Linux 7.x、8.x 或者麒麟 V10 或者 Rocky Linux 9 等等。 OceanBase 数据库要求操作系统内核为 3.10.0 及以上。
[root@jiekexu ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.6 (Maipo)[root@jiekexu ~]# uname -r 3.10.0-957.el7.x86_64
配置 NTP
单机环境、测试环境下不需要配置 NTP,如果通过 OCP 部署单机版或者单机版部署了物理备库,则需要设置。
安装 NTP
yum install ntp ntpdate -y
查看 NTP 服务器连接
ntpq -4p
NTP 服务端配置
vi /etc/ntp.conf server 10.10.10.100 --ntp server ip
service ntpd restart --重启NTP ps -ef | grep -i ntpd --查看是否启动成功 chkconfig ntpd on --设置开机自启动
NTP 客户端配置
使用 root 用户登录 OBServer 节点服务器.
service ntpd stop ntpdate 10.10.10.100 --同步NTP服务器时间 vi /etc/ntp.conf server 10.10.10.100
/etc/init.d/ntpd start
验证
ntpstat
[admin@jiekexu ~]$ timedatectl Local time: Thu 2025-05-15 11:21:32 CST Universal time: Thu 2025-05-15 03:21:32 UTC RTC time: Thu 2025-05-15 11:21:32 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: noNTP synchronized: yes RTC in local TZ: yes DST active: n/aWarning: The system is configured to read the RTC time in the local time zone. This mode can not be fully supported. It will create various problems with time zone changes and daylight saving time adjustments. The RTC time is never updated, it relies on external facilities to maintain it. If at all possible, use RTC in UTC by calling 'timedatectl set-local-rtc 0'.
创建用户
部署 OceanBase 单机版推荐使用 admin 用户,也可以使用其他用户(不推荐 root 用户)。但是要求用户具备 sudo 权限和作为数据库相关目录的所有者。这里介绍如何创建普通用户并为普通用户设置 sudo 权限。
groupadd adminuseradd -g admin -d /home/admin -s /bin/bash adminecho 'JiekeXu_#1234' | passwd --stdin admin vim /etc/sudoersadmin ALL=(ALL) NOPASSWD: ALL
磁盘规划
OceanBase 数据库的服务器依赖数据盘、事务日志盘和 OceanBase 数据库的安装盘。生产环境建议严格区分磁盘,个人测试随意。我这里使用 /data/OceanBase 即可。
[root@jiekexu data]# mkdir -p /data/OceanBase[root@jiekexu data]# chown -R admin:admin /data/OceanBase/[root@jiekexu data]# su - admin/data/OceanBase/data --存放数据/data/OceanBase/log --存放日志/data/OceanBase/oceanbase --存放 OceanBase 数据库的二进制文件和运行日志
配置资源限制 limits.conf
OceanBase 数据库的进程涉及的限制包括线程最大栈空间大小(Stack)、最大文件句柄数(Open Files)和 core 文件大小 (Core File Size)。将会话级别的最大栈空间大小设置为 unlimited,最大文件句柄数设置为 655350,Core 文件大小设置为 unlimited。
cat >> /etc/security/limits.conf << “EOF”##############################################For OceanBase Setting########admin soft nofile 655350admin hard nofile 655350admin soft stack unlimitedadmin hard stack unlimitedadmin soft nproc 655360admin hard nproc 655360admin soft core unlimitedadmin hard core unlimitedEOF
ulimit -a 查看结果可以看出:
core file size 表示核心文件的最大阈值(以块为单位),对应 limits.conf 配置文件中的 core 参数,需查看值是否为 unlimited。
open files 表示最大打开文件描述符数,对应 limits.conf 配置文件中的 nofile 参数,需查看值是否为 655350。
stack size 表示堆栈大小(以千字节为单位),对应 limits.conf 配置文件中的 stack 参数,需查看值是否为 unlimited。
max user processes 表示最大用户进程数,对应 limits.conf 配置文件中的 nproc 参数,需查看值是否为 655360。
配置 sysctl.conf
vim /etc/sysctl.conf#### for oceanbase setting###### 修改内核异步 I/O 限制fs.aio-max-nr = 1048576## 网络优化net.core.somaxconn = 2048net.core.netdev_max_backlog = 10000 net.core.rmem_default = 16777216 net.core.wmem_default = 16777216 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_slow_start_after_idle=0vm.swappiness = 0vm.min_free_kbytes = 2097152vm.overcommit_memory = 0fs.file-max = 6573688fs.pipe-user-pages-soft = 0# 修改进程可以拥有的虚拟内存区域数量vm.max_map_count = 655360# 设置 core 文件的文件名格式以及目录kernel.core_pattern = /data/core-%e-%p-%t
# sysctl -p
最后关闭防火墙和 SELinux,这里就不介绍了。
systemctl disable firewalld systemctl stop firewalld systemctl status firewalld cp /etc/selinux/config /etc/selinux/config_date +"%Y%m%d_%H%M%S"&& sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
使用 obd 部署 OceanBase 数据库单机版
为方便通过 obd 部署 OceanBase 数据库单机版,OceanBase 提供了统一的安装包 oceanbase-standalone-all-in-one-4.2.5.3-xxxxxxxxxxxxxxxxxx.el7.x86_64.tar.gz。该安装包解压后,在 rpms 目录下存在安装 obd、部署 OceanBase 数据库单机版以及监控所需的所有包。该安装包包含 obd、OBClient、OceanBase 数据库、obagent、Grafana 和 Prometheus。rpms 目录中包含的安装包如下所示:
[admin@jiekexu OceanBase]$ tar -xzf oceanbase-standalone-all-in-one-4.2.5.3-103000152025033110.el7.x86_64.tar.g
安装 obd 工具
进入oceanbase-standalone-all-in-one 的安装 bin 目录下,执行 install_obd.sh 脚本安装 obd。
[admin@jiekexu bin]$ ll total 52 -rwxr-xr-x 1 admin admin 281 Apr 2 16:24 env.sh-rwxr-xr-x 1 admin admin 5336 Apr 2 16:24 install_obd.sh-rwxr-xr-x 1 admin admin 35170 Apr 2 16:24 install_ob.sh-rwxr-xr-x 1 admin admin 2058 Apr 2 16:24 uninstall_obd.sh[admin@jiekexu bin]$ bash install_obd.sh install obd as sudoNo previous obd installed, try install..., wait a momentname: grafanaversion: 7.5.17release:1arch: x86_64md5: 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6size: 177766248add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/grafana-7.5.17-1.el7.x86_64.rpm to local mirrorname: obagentversion: 4.2.2release:100000042024011120.el7arch: x86_64md5: 19739a07a12eab736aff86ecf357b1ae660b554esize: 72919140add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/obagent-4.2.2-100000042024011120.el7.x86_64.rpm to local mirrorname: ob-deployversion: 3.2.0release:2.el7arch: x86_64md5: 7168f4535b417f0a70b78dab2640f08502d07ba6size: 180796860add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/ob-deploy-3.2.0-2.el7.x86_64.rpm to local mirrorname: oceanbase-diagnostic-toolversion: 3.2.0release:52025031411.el7arch: x86_64md5: 782ef007c1c8a641ce90288e75e8900f6a61e163size: 71387558add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/oceanbase-diagnostic-tool-3.2.0-52025031411.el7.x86_64.rpm to local mirrorname: oceanbase-standaloneversion: 4.2.5.3release:103000152025033110.el7arch: x86_64md5: 65f9ed1994b7365a376c9f4c5fc9bd581ff08426size: 1817991565add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/oceanbase-standalone-4.2.5.3-103000152025033110.el7.x86_64.rpm to local mirrorname: oceanbase-standalone-libsversion: 4.2.5.3release:103000152025033110.el7arch: x86_64md5: 693de98e5144b63a5f054614e79a69ab4d1067cfsize: 7856add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/oceanbase-standalone-libs-4.2.5.3-103000152025033110.el7.x86_64.rpm to local mirrorname: prometheusversion: 2.37.1release:10000102022110211.el7arch: x86_64md5: 58913c7606f05feb01bc1c6410346e5fc31cf263size: 211224073add /data/OceanBase/oceanbase-standalone-all-in-one/rpms/prometheus-2.37.1-10000102022110211.el7.x86_64.rpm to local mirrorTrace ID: fe59e048-30a2-11f0-a648-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace fe59e048-30a2-11f0-a648-0050568a6bf6Disable remote okTrace ID: 01eb8a40-30a3-11f0-bdbd-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace 01eb8a40-30a3-11f0-bdbd-0050568a6bf6add auto set env logic to profile: /home/admin/.bash_profile
[admin@jiekexu bin]$ obd -hUsage: obd <command> [options] Available commands:binlog binlog service toolscluster Deploy and manage a cluster.demo Quickly startdisplay-trace display trace_id log.host Host toolslicense Register and display license.mirror Manage a component repository for OBD.obdiag Oceanbase Diagnostic Toolpwd Obd cluster password management.repo Manage local repository for OBD.test Run test for a running deployment.tool Toolsupdate Update OBD.web Start obd deploy application as web.Options: --version show program's version number and exit -h, --help Show help and exit. -v, --verbose Activate verbose output.[admin@jiekexu bin]$ obd --versionOceanBase Deploy: 3.2.0REVISION: 5f4ee37b01de1063b822e7866aaf945e4089cba7BUILD_BRANCH: HEADBUILD_TIME: Apr 01 2025 18:55:12OURCECopyright (C) 2025 OceanBaseLicense Apache 2.0: Apache version 2 or later <https://www.apache.org/licenses/LICENSE-2.0>.This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.
使用 obd 快速部署
两种部署方案,要么使用白屏工具 OCP 图形化部署,要么直接使用 obd demo 快速启动一个环境或者执行脚本交互式安装,注意:obd demo 部署仅适用于快速上手体验,不适用于生产环境。
仅部署 OB 数据库 obd demo -c oceanbase-standalone
-c 参数指定组件列表,使用英文逗号(,)间隔。用于指定需要部署的组件。该命令默认在当前用户的家目录下进行最小规格部署,部署的组件版本默认为最新版本。当前支持组件为:oceanbase-ce、obproxy-ce、obagent、grafana、prometheus、ob-configserver、ocp-express。
obd 自 V2.8.0 起支持使用 obd demo 命令部署 ocp-express 组件,自 V2.9.0 起支持使用 obd demo 命令部署 ob-configserver 组件。
因为家目录一般为根目录空间没那么大,所以这里需要更改安装目录,按照上一节磁盘规划存到/data/OceanBase/oceanbase 这个目录下。
obd demo -c oceanbase-ce,obproxy-ce --home_path=/data/OceanBase/oceanbase/demo
初始化日志如下:
[admin@jiekexu ~]$ mkdir -p /data/OceanBase/oceanbase/demo[admin@jiekexu ~]$ ll /data/OceanBase/oceanbase total 0drwxrwxr-x 2 admin admin 6 May 14 14:38 demo[admin@jiekexu ~]$ obd demo -c oceanbase-ce,obproxy-ce,obagent,grafana,prometheus --home_path=/data/OceanBase/oceanbase/demoPackage obproxy-ce-4.2.3.0-3.el7 is available.Package grafana-7.5.17-1 is available.Repository integrity check okRemote obagent-4.2.2-100000042024011120.el7-19739a07a12eab736aff86ecf357b1ae660b554e repository install okLoad cluster param plugin okCheck before start observer ok[WARN] OBD-2000: (127.0.0.1) not enough memory. (Free: 5151M, Need: 6144M)[WARN] OBD-1012: (127.0.0.1) clog and data use the same disk (/data)Check before start obagent okCheck before start obproxy okInitialize oceanbase-ce okStart obagent okWait for observer init ok+---------------------------------------------+| observer |+-----------+---------+------+-------+--------+| ip | version | port | zone | status |+-----------+---------+------+-------+--------+| 127.0.0.1 | 4.3.0.1 | 2881 | zone1 | ACTIVE |+-----------+---------+------+-------+--------+obclient -h127.0.0.1 -P2881 -uroot -Doceanbase -A+-----------------------------------------------------------------+| obagent |+--------------+--------------------+--------------------+--------+| ip | mgragent_http_port | monagent_http_port | status |+--------------+--------------------+--------------------+--------+| 192.168.217.173 | 8089 | 8088 | active |+--------------+--------------------+--------------------+--------++---------------------------------------------+| obproxy |+-----------+------+-----------------+--------+| ip | port | prometheus_port | status |+-----------+------+-----------------+--------+| 127.0.0.1 | 2883 | 2884 | active |+-----------+------+-----------------+--------+obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A +-----------------------------------------------------+| prometheus |+--------------------------+------+----------+--------+| url | user | password | status |+--------------------------+------+----------+--------+| http://192.168.217.173:9090 | | | active |+--------------------------+------+----------+--------++--------------------------------------------------------------------+| grafana |+--------------------------------------+-------+------------+--------+| url | user | password | status |+--------------------------------------+-------+------------+--------+| http://192.168.217.173:3000/d/oceanbase | admin | inUlbPdD2z | active |+--------------------------------------+-------+------------+--------+demo runningTrace ID: 1bd7f980-308e-11f0-8918-0050568a476dIf you want to view detailed obd logs, please run: obd display-trace 1bd7f980-308e-11f0-8918-0050568a476d
上面是快速启动方式,之前体验社区版的时候就是使用的这种方式,大家可以尝试一下。
交互式安装
在 oceanbase-standalone-all-in-one 的安装目录下,执行 install_ob.sh 脚本启动交互式安装流程。 参考官网进行交互式设置,这里就不做过多的解释了。https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701718
[admin@jiekexu bin]$ bash install_ob.shEnter the IP (Default: 192.168.217.86) (only support local IP): Valid local IP: 192.168.217.86 --当前主机IPEnter the current user password : --输入当前用户密码Trace ID: a13a4940-30a5-11f0-b31d-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace a13a4940-30a5-11f0-b31d-0050568a6bf6get system config okNo need to change system parametersTrace ID: a373e4be-30a5-11f0-b22d-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace a373e4be-30a5-11f0-b22d-0050568a6bf6#设置集群名,支持大小写字母、数字和下划线,不区分首字符类型Enter the cluster name (Default: standalone; allowed characters: letters, numbers, and underscores): JiekeXuEnter the OB SQL port (Default: 2881): Enter the OB RPC port (Default: 2882): Enter the obshell port (Default: 2886): Enter the OB root password (Default: UORebMBztZLRyFDRfaQ0)#设置集群 root@sys 用户密码,对应配置文件中的 root_password。未设置时默认会生成一个随机字符串Confirm the OB root password: --确认root@sys租户密码#设置集群可用 CPU 总数,对应配置文件中的 cpu_count,配置的值不能小于 8,小于 8 时会自动将值置为 8。未设置时 obd 会自动检测Enter the OB cpu count (Default: 8): 4 The cpu_count cannot be less than 8. It will be set to 8 automatically. #设置集群所用内存,对应配置文件中的 memory_limitEnter the OB memory limit (Configurable Range[6, 7], Default: 7, Unit: G): 6#设置 OceanBase 集群的安装目录,对应配置文件中的 home_path,未设置时默认在用户家目录下创建集群同名文件夹Enter the OB installation directory (Default: /home/admin/JiekeXu): /data/OceanBase/oceanbase#设置存储 SSTable 等数据的目录,对应配置文件中的 data_dir,未设置时默认为 /data/1/${cluster_name}Enter the OB data directory (Default: /data/1/JiekeXu): /data/OceanBase/data#设置存储日志的目录,对应配置文件中的 redo_dir,未设置时默认为 /data/log1/${cluster_name}Enter the OB log directory (Default: /data/log1/JiekeXu): /data/OceanBase/log The data_dir and redo_dir are using the same disk. #设置集群的数据磁盘大小,对应配置文件中的 datafile_size Enter the OB datafile maxsize (Configurable Range[12, 21], Default: 21, Unit: G): 12#设置集群的日志磁盘大小,对应配置文件中的 log_disk_size,推荐为内存规格的三倍以上Enter the OB log disk size (Configurable Range[12, 25], Default: 16, Unit: G): 12#控制是否创建业务租户 Do you want to create tenant for your business workload? (y/n)(Default: y): y# sys 租户资源信息 Tenant: sys conifguration: 2C/1G/2G(CPU/Memory/Log disk) system_memory configuration(Unit: G): 1 #设置租户名,支持大小写字母、数字和下划线,不区分首字符类型,默认为testEnter the tenant name (Default: test; allowed characters: letters, numbers, and underscores): Please select the tenant mode (enter the corresponding number): 1) MySQL2) Oracle#设置租户兼容模式,支持设置为 Oracle 模式和 MySQL 模式,这里为Oracle租户相关配置Please enter your choice [1/2] (default 1):2Enter the tenant cpu (Configurable Range[1, 6], Default: 6): 2Enter the tenant memory (Configurable Range[1, 4], Default: 4, Unit: G): 2Enter the tenant log disk size(Configurable Range[6, 9], Default: 6, Unit: G): 6#创建完 Oracle 租户后,默认密码为空,建议用户在创建好租户后及时修改用户密码。#控制是否开启密码加密功能。输入 n 选择不开启密码加密功能,输入 n 将跳过本环节继续部署流程。您也可输出 y 设置密码加密,设置后查看集群信息时,密码输出为加密状态。 Do you want to enable encryption for password security? (y/n) (Default: n): n#配置监控信息。 Do you need to install the monitoring components (OBAgent, Prometheus, Grafana)? (y/n) (Default: y): Enter the OBAgent monitoring service port (Default: 8088): Enter the OBAgent management service port (Default: 8089): Enter the Prometheus port (Default: 9090): Enter the Grafana port (Default: 3000): #配置信息确认#Saved configurations: cluster name: JiekeXu mysql port: 2881 rpc port: 2882 obshell port: 2886 cpu count: 8 memory limit: 6G home path: /data/OceanBase/oceanbase data dir: /data/OceanBase/data log dir: /data/OceanBase/log datafile maxsize: 12G log disk size: 12G tenant name: test tenant cpu: 2 tenant memory: 2G tenant log disk size: 6G OBAgent monitoring service port: 8088 OBAgent management service port: 8089 Prometheus port: 9090 Grafana port: 3000 #如果上述信息有误,确认这里可以输入n直接结束。 Are you sure these configurations are correct? (y/n) (Default: y): Configuration confirmed.start cluster...Package oceanbase-standalone-4.2.5.3-103000152025033110.el7 is available.Package obagent-4.2.2-100000042024011120.el7 is available.Package prometheus-2.37.1-10000102022110211.el7 is available.Package grafana-7.5.17-1 is available.install oceanbase-standalone-4.2.5.3 for local okinstall obagent-4.2.2 for local okinstall prometheus-2.37.1 for local okinstall grafana-7.5.17 for local okCluster param config check okOpen ssh connection okGenerate obagent configuration okGenerate prometheus configuration okGenerate grafana configuration ok+----------------------------------------------------------------------------------------------------+| Packages |+----------------------+---------+------------------------+------------------------------------------+| Repository | Version | Release | Md5 |+----------------------+---------+------------------------+------------------------------------------+| oceanbase-standalone | 4.2.5.3 | 103000152025033110.el7 | 65f9ed1994b7365a376c9f4c5fc9bd581ff08426 || obagent | 4.2.2 | 100000042024011120.el7 | 19739a07a12eab736aff86ecf357b1ae660b554e || prometheus | 2.37.1 | 10000102022110211.el7 | 58913c7606f05feb01bc1c6410346e5fc31cf263 || grafana | 7.5.17 | 1 | 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 |+----------------------+---------+------------------------+------------------------------------------+Repository integrity check okLoad param plugin okOpen ssh connection okInitializes obagent work home okInitializes observer work home okInitializes prometheus work home okInitializes grafana work home okParameter check okRemote oceanbase-standalone-4.2.5.3-103000152025033110.el7-65f9ed1994b7365a376c9f4c5fc9bd581ff08426 repository install okRemote oceanbase-standalone-4.2.5.3-103000152025033110.el7-65f9ed1994b7365a376c9f4c5fc9bd581ff08426 repository lib check okRemote obagent-4.2.2-100000042024011120.el7-19739a07a12eab736aff86ecf357b1ae660b554e repository install okRemote obagent-4.2.2-100000042024011120.el7-19739a07a12eab736aff86ecf357b1ae660b554e repository lib check okRemote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository install okRemote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository lib check okRemote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository install okRemote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository lib check okJiekeXu deployedGet local repositories okLoad cluster param plugin okOpen ssh connection ok[WARN] OBD-2000: (192.168.217.86) not enough memory. (Free: 6G, Need: 6G)[WARN] OBD-1012: (192.168.217.86) clog and data use the same disk (/)Check before start obagent okCheck before start prometheus okCheck before start grafana okcluster scenario: NoneStart observer okobserver program health check okConnect to observer 192.168.217.86:2881 okoceanbase bootstrap okobshell start okobshell program health check okobshell bootstrap okStart obagent okobagent program health check okStart promethues okprometheus program health check okStart grafana okgrafana program health check okConnect to grafana okGrafana modify password okConnect to observer 192.168.217.86:2881 okWait for observer init ok+-----------------------------------------------+| oceanbase-standalone |+-------------+---------+------+-------+--------+| ip | version | port | zone | status |+-------------+---------+------+-------+--------+| 192.168.217.86 | 4.2.5.3 | 2881 | zone1 | ACTIVE |+-------------+---------+------+-------+--------+obclient -h192.168.217.86 -P2881 -uroot@sys -p'JiekeXu_#1234' -Doceanbase -Acluster unique id: 1d6c718f-bed2-5ff1-bc29-e663fc5cd4cc-196ce35b76d-03050204Connect to Obagent ok+----------------------------------------------------------------+| obagent |+-------------+--------------------+--------------------+--------+| ip | mgragent_http_port | monagent_http_port | status |+-------------+--------------------+--------------------+--------+| 192.168.217.86 | 8089 | 8088 | active |+-------------+--------------------+--------------------+--------+Connect to Prometheus ok+-------------------------------------------------------+| prometheus |+-------------------------+-------+------------+--------+| url | user | password | status |+-------------------------+-------+------------+--------+| http://192.168.217.86:9090 | admin | cvgwGlifUq | active |+-------------------------+-------+------------+--------+Connect to grafana ok+------------------------------------------------------------------+| grafana |+-------------------------------------+-------+-----------+--------+| url | user | password | status |+-------------------------------------+-------+-----------+--------+| http://192.168.217.86:3000/d/oceanbase | admin | oceanbase | active |+-------------------------------------+-------+-----------+--------+JiekeXu runningTrace ID: 4cdf4078-30a8-11f0-8391-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace 4cdf4078-30a8-11f0-8391-0050568a6bf6create tenant...Get local repositories okOpen ssh connection okConnect to observer 12.0.217.86:2881 okCreate tenant test okCreate user in oracle tenant is not supported and --password is not supportedTrace ID: 62f6dc9e-30a9-11f0-9caf-0050568a6bf6If you want to view detailed obd logs, please run: obd display-trace 62f6dc9e-30a9-11f0-9caf-0050568a6bf6You can access the test tenant using the following command.: For security reasons, kindly reset the root password immeditely once the tenant has been successfully created. obclient -h12.0.217.86 -P2881 -uSYS@test If this cluster is for production use, please import a commercial license in time.
快速登录数据库
连接到 Oracle 租户模式
obclient -h$host -P$port -u$user_name -p****** [-c] [-A] [$schema_name] [--proxy_user[=]user_name]
obclient -h127.0.0.1 -P2881 -usys@test -p -c -A
连接到 MySQL 租户模式
通过直连 Observer 登录:
obclient -h127.0.0.1 -P2881 -uroot@sys -p'JiekeXu_#1234' -Doceanbase -A
通过 MySQL 客户端登录:
mysql -h主机IP -P端口号 -u账号 -p'数据库密码' -D默认数据库 -A -c --prompt "OceanBase(\u@\d)> "
mysql -h192.168.217.86 -P2881 -uroot@sys -p -Doceanbase -A -c --prompt "OceanBase(\u@\d)> "
-P:指定 OceanBase 数据库连接端口。$port 应该被实际的端口替换,使用直连方式默认是 2881,在部署 OceanBase 数据库时可自定义。
-u:指定 OceanBase 数据库的连接账户。$user_name 格式为:用户名@租户名。MySQL 租户的管理员用户名默认是 root。
-c:可选项,表示在 OBClient 运行环境中不要忽略注释。
-A: 可选项,表示在 OBClient 连接数据库时不自动获取统计信息。
新搭建的集群,其 SYS 租户 root 用户的初始密码为上面交互式输入的密码 JiekeXu_#1234。
创建租户
使用 root 用户登录到集群的 sys 租户。创建一个名称为 S1_unit_config 的资源规格,其资源配置为 CPU 为 1 核,内存 2G,日志盘空间 2G。
mysql -h192.168.217.86 -P2881 -uroot@sys -p -Doceanbase -A -c --prompt "OceanBase(\u@\d)> " --创建资源规格 --drop RESOURCE UNIT S1_unit_config;
CREATE RESOURCE UNIT S1_unit_config MEMORY_SIZE = '2G', MAX_CPU = 1, MIN_CPU = 1, LOG_DISK_SIZE = '6G', MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1; SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE NAME = 'S1_unit_config';
使用 root 用户登录到集群的 sys 租户。创建一个名为 mq_pool_01 的资源池,该 Unit 的资源规格为 S1_unit_config。
obclient -h127.0.0.1 -P2881 -uroot@sys -p'JiekeXu_#1234' -Doceanbase -A
CREATE RESOURCE POOL mq_pool_01 UNIT='S1_unit_config', UNIT_NUM=1, ZONE_LIST=('zone1');
SELECT * FROM DBA_OB_RESOURCE_POOLS WHERE NAME = 'mq_pool_01';
OceanBase 数据库支持两种类型的租户,MySQL 兼容模式和 Oracle 兼容模式。创建租户时,您需要指定租户的类型。租户创建后,租户类型无法修改,因此创建租户前请规划好您的租户类型。
创建一个名为 mq_t1 的租户(默认为 MySQL 模式租户),资源池指定为 mq_pool_01,Primary Zone 为 zone1,允许所有 IP 连接数据库.
obclient -h127.0.0.1 -P2881 -uroot@sys -p'JiekeXu_#1234' -Doceanbase -A
CREATE TENANT IF NOT EXISTS mq_t1 PRIMARY_ZONE='zone1', RESOURCE_POOL_LIST=('mq_pool_01') set OB_TCP_INVITED_NODES='%';
SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1';
obclient(root@sys)[oceanbase]> select TENANT_ID,TENANT_NAME,TENANT_TYPE,CREATE_TIME,MODIFY_TIME,PRIMARY_ZONE FROM DBA_OB_TENANTS;+-----------+-------------+-------------+----------------------------+----------------------------+--------------+| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | MODIFY_TIME | PRIMARY_ZONE |+-----------+-------------+-------------+----------------------------+----------------------------+--------------+| 1 | sys | SYS | 2025-05-14 17:52:26.239165 | 2025-05-14 17:52:26.239165 | RANDOM || 1001 | META$1002 | META | 2025-05-14 17:54:13.796923 | 2025-05-14 17:55:15.845634 | zone1 || 1002 | test | USER | 2025-05-14 17:54:13.810570 | 2025-05-14 17:55:15.957772 | zone1 || 1003 | META$1004 | META | 2025-05-14 19:05:08.500732 | 2025-05-14 19:05:56.660394 | zone1 || 1004 | mq_t1 | USER | 2025-05-14 19:05:08.514272 | 2025-05-14 19:05:56.780914 | zone1 |+-----------+-------------+-------------+----------------------------+----------------------------+--------------+5 rows in set (0.054 sec)
使用 root 用户登录到集群的 sys 租户。创建一个名为 oracle_tenant1 的 Oracle 兼容模式租户,需要显式指定 ob_compatibility_mode='oracle'。 当然也可以继续创建 Oracle 租户,这里就不演示了,因为之前已经创建过 test 租户了。
obclient -h127.0.0.1 -P2881 -uroot@sys -p'JiekeXu_#1234' -Doceanbase -A
CREATE RESOURCE UNIT S2_unit_config MEMORY_SIZE = '1G', MAX_CPU = 1, MIN_CPU = 1, LOG_DISK_SIZE = '2G', MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;
CREATE RESOURCE POOL ora_pool_01 UNIT='S2_unit_config', UNIT_NUM=1, ZONE_LIST=('zone1');
SELECT * FROM DBA_OB_RESOURCE_POOLS WHERE NAME = 'ora_pool_01';
CREATE TENANT IF NOT EXISTS oracle_tenant1 PRIMARY_ZONE='zone1', RESOURCE_POOL_LIST=('ora_pool_01') SET OB_TCP_INVITED_NODES='%', ob_compatibility_mode='oracle';
使用新租户新用户登录 mysql 租户
obclient -h127.0.0.1 -P2881 -uroot@mq_t1 -A --修改密码ALTER USER root IDENTIFIED BY 'JiekeXu_#1234';
obclient -h127.0.0.1 -P2881 -uroot@mq_t1 -pJiekeXu_#1234 -A
清理集群
查看单机版的状态 obd cluster list
查看是否存在备租户 obd cluster tenant show JiekeXu -g
输出如下,表示不存在备租户,且单机版中仅有 sys 租户。若单机版中的租户存在备租户,其输出内容和字段含义的详细介绍可参见官方文档 使用 obd 部署主备租户。
destroy 命令不可逆,会在停止 OBServer 进程的同时清除数据库文件。因此执行以下命令前,请先确认单机版已经不再使用,并且需要备份的数据已经完成备份。
obd cluster destroy demo -f [--igs]
-f 表示检查到工作目录下有运行中的进程时,会强制停止进程,销毁单机版。
--igs 表示检查到单机版中租户在其他单机版中存在备租户时,强制执行 obd cluster destroy 命令。
好了,今天就到这里了,可以看到一个集群可以同时支持 Oracle 和 MySQL 两个租户,比以前的社区版方便多了,后面我们有机会在探索吧。
下面是官方的一张测试对比图:
Sysbench 性能基准测试对比 (OceanBase 单机版、MySQL 8.0)
OB 开发者大会
本周六 5 月 17 日也就是后天,在广州四季酒店 OB 官方将会发布面向 AI 时代的一体化产品矩阵,场景实践专场展示 TP/AP/KV/AI 与企业的深度融合最新成果,据说 OB 社区版将推出桌面版,支持一键在 Windows/Mac 操作系统上部署,还有共享存储存算分离架构以及 AI 方面的能力,感兴趣的可以一起来看看呀,我也会闪现到现场,还有韩老师、首席、总监等大咖一起面基合影哦!
报名链接:https://www.oceanbase.com/devcon2025?activityCode=4923277&officerId=4135&sessionid=-927091014
帖子链接:https://ask.oceanbase.com/t/topic/35623644参考链接
https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701709 https://www.oceanbase.com/softwarecenter-standalonehttps://mp.weixin.qq.com/s/QwlPViTQNQYyMRLGYAhcOghttps://www.modb.pro/db/621129 https://www.oceanbase.com/devcon2025 https://ask.oceanbase.com/t/topic/35623644/18
最后,如有其他问题和需求欢迎一起交流讨论,目前此群还有名额,对国产数据库感兴趣的朋友欢迎一起交流,拒绝吹水、拒绝广告和营销。
欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.co/developer/user/5645107
——————————————————————————
2024 年公众号 JiekeXu DBA之路历史文章合集
2023 年公众号 JiekeXu DBA之路历史文章合集
2022 年公众号 JiekeXu DBA之路历史文章合集
2021 年公众号历史文章合集
