数据库管理-第313期 分布式挑战单机,OceanBase单机版试玩(20250411)

数据库管理313期 2025-04-11

  • 数据库管理-第313期 分布式挑战单机,OceanBase单机版试玩(20250411)
    • 1 环境说明
    • 2 操作系统配置
      • 2.1 关闭防火墙
      • 2.2 关闭SELinux
      • 2.3 配置hosts文件
      • 2.4 配置本地yum源
      • 2.5 配置sysctl.conf
      • 2.6 配置limits.conf
      • 2.7 创建用户
      • 2.8 配置sudo
      • 2.9 创建安装目录
      • 2.10 安装JDK
    • 3 准备安装包
      • 3.1 解压安装包
      • 3.2 检查安装包
    • 4 安装数据库
      • 打开页面
      • 输入账号和密码
      • 配置OCP和数据库节点
      • 集群配置
      • OBProxy配置
      • 配置OCP
      • 预检查
      • 预检查结果并开始部署
      • 完成部署
    • 5 OCP
      • 集群检查
      • 租户检查
      • 主机检查
      • 性能监控
      • 自治服务
    • 6 新建Oracle租户
      • 检查租户
    • 7 访问Oracle租户
      • 创建测试数据
    • 总结

数据库管理-第313期 分布式挑战单机,OceanBase单机版试玩(20250411)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

3498ff20bcec87e9052f961f06737f3.png
一直以来学习OceanBase最大的阻碍就是需要多台性能不能太差的机器或虚拟机,去年有了单机分布式一体化之后,OB可以在单台机器上部署了,但是其需求资源依然较大,运行也不是很流畅,具体可以查看数据库管理-第177期 一次神秘“采访”引出的安装体验(20240426)。在今年的OceanBase合作伙伴大会上,竹翁老师发布了OB单机版,从官网相关信息来看仅需2C6G就可以体验OceanBase。
image.png
这次我也申请了测试资格,相较于单机分布式一体化时候提供的社区版,这次提供的单机版是企业版数据库,可以在单机体验到多租户,也可以同时体验MySQL和Oracle模式租户。本期操作流程基本参考官方文档。

1 环境说明

为了体验多租户,我稍微多给了一点资源,具体清单如下:

项目内容
操作系统RHEL 8.10
IP地址10.10.10.180
CPU8
内存32G
磁盘150G

其中:

  • 我电脑CPU是8C16T,这里已经是CPU配的极限了
  • 操作系统不配置swap
  • 未按照生产建议分配挂载点,统一挂载于/目录下

2 操作系统配置

2.1 关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service

2.2 关闭SELinux

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
[reboot]

2.3 配置hosts文件

cat >>/etc/hosts<<EOF
10.10.10.180 obdj
EOF

2.4 配置本地yum源

配置本地yum源

mkdir /iso
mount -r /dev/sr0 /iso
rm -rf /etc/yum.repo.d/*cat > /etc/yum.repos.d/iso.repo <<EOF
[AppStream]
name=AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1[BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1
EOF

2.5 配置sysctl.conf

cat >>/etc/sysctl.conf <<EOF
# for oceanbase
## 修改内核异步 I/O 限制
fs.aio-max-nr = 1048576## 网络优化
net.core.somaxconn = 2048
net.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 = 0
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0fs.file-max = 6573688
fs.pipe-user-pages-soft = 0# 修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360# 此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /data/core-%e-%p-%t
EOFsysctl -p

2.6 配置limits.conf

cat >>/etc/security/limits.conf <<EOF
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
EOF

2.7 创建用户

groupadd admin
useradd -g admin -d /home/admin -s /bin/bash admin
chown -R admin:admin /home/admin
echo "Obdj#123" | passwd --stdin admin

2.8 配置sudo

cat >> /etc/sudoers <<EOF
admin       ALL=(ALL)       NOPASSWD: ALL
EOF

2.9 创建安装目录

mkdir /data
chown -R admin:admin /data

2.10 安装JDK

dnf -y install java-1.8.0-openjdk

3 准备安装包

安装介质为:oceanbase-ocp-standalone-all-in-one-4.2.5.3-103000152025033110.el8.x86_64.tar

3.1 解压安装包

tar -xvf oceanbase-ocp-standalone-all-in-one-4.2.5.3-103000152025033110.el8.x86_64.tar

3.2 检查安装包

image.png

4 安装数据库

既然给了足够多的CPU和内存,尝试使用OCP进行安装:

cd oceanbase-standalone-all-in-one/
sudo bash bin/install_obd.sh

image.png

obd web

image.png

打开页面

image.png
image.png
image.png

输入账号和密码

image.png

配置OCP和数据库节点

image.png

集群配置

image.png
image.png

为安装成功这里需要限制一下metadb的内存上限

OBProxy配置

image.png

配置OCP

image.png
image.png
image.png

预检查

image.png
image.png
image.png
image.png
image.png

预检查结果并开始部署

image.png
image.png
image.png

完成部署

image.png
对比去年单机分布式一体化的单机部署,更加流畅了。

5 OCP

使用下面的地址访问OCP:

http://10.10.10.180:8080/

image.png
image.png

集群检查

image.png

租户检查

image.png

主机检查

image.png

性能监控

image.png
image.png
image.png
image.png

自治服务

image.png
image.png
image.png
image.png

6 新建Oracle租户

image.png
image.png
新增unit规格
image.png
image.png
image.png
image.png
image.png
这时候在最后一步会有个报错,无法找到python命令,在RHEL8.10中只有python3命令,可以通过以下方式解决:

ln -s /usr/bin/python3 /usr/bin/python

然后点击右上角重试,可完成创建:
image.png

检查租户

image.png
image.png

7 访问Oracle租户

#obclient -h$IP -P$port -u$user@$租户名 -p密码 -A
obclient -h127.0.0.1 -P2883 -usys@orcl -pObdj_123 -A

image.png

create user scott identified by tiger;
grant connect,resource to scott;

image.png
image.png

创建测试数据

直接从Oracle数据库中拉出基础语句:

CREATE TABLE "EMP" (    "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO"));

image.png

INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
commit;

image.png
创建其他表并插入数据:

CREATE TABLE DEPT
(DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,DNAME VARCHAR2(14) ,LOC VARCHAR2(13)
);CREATE TABLE SALGRADE
(GRADE NUMBER,LOSAL NUMBER,HISAL NUMBER
);INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES(40,'OPERATIONS','BOSTON');INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
commit;

image.png
薪资等级查询查询:

select e.ename,s.grade from emp e,salgrade s where e.sal>=s.losal and e.sal<hisal;

image.png
Oracle租户基本测试结束。

总结

本次OceanBase单机版安装整体比较顺利,其中OBD/OCP界面非常精美且响应迅速、功能强大,Oracle数据库租户简单试用也很不错。虽有一些小问题,但瑕不掩瑜。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/77633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 之 LLM(大语言模型)是如何生成文本的!

你是不是也曾在朋友面前自信满满地说&#xff1a;“AI我可太熟了&#xff01;”然后随便丢一句“写篇短文”给大模型&#xff0c;坐等它秒出结果&#xff1f;但你有没有想过&#xff0c;那几秒钟里&#xff0c;AI到底干了什么&#xff1f;从你敲下的几个字&#xff0c;到屏幕上…

STL之序列式容器(Vector/Deque/List)

序列式容器 序列式容器包括&#xff1a;静态数组 array 、动态数组 vector 、双端队列 deque 、单链表 forward_ list 、双链表 list 。这五个容器中&#xff0c;我们需要讲解三个 vector 、 deque 、 list 的使 用&#xff0c;包括&#xff1a;初始化、遍历、尾部插入与删除、…

swift菜鸟教程6-10(运算符,条件,循环,字符串,字符)

一个朴实无华的目录 今日学习内容&#xff1a;1.Swift 运算符算术运算符比较运算符逻辑运算符位运算符赋值运算区间运算符其他运算符 2.Swift 条件语句3.Swift 循环4.Swift 字符串字符串属性 isEmpty字符串常量let 变量var字符串中插入值字符串连接字符串长度 String.count使用…

泛微ECOLOGY9 记 数据展现集成 自定义开窗测试中对SQL 的IN语法转换存在BUG

背景 搭建流程时&#xff0c;需将明细表1中的合同字段 供明细表2中的合同开窗查询使用。 最终实现如下图&#xff1a; 选择 发票号时&#xff0c;自动带出明细表1中的采购合同号清单&#xff0c;然后在明细表2中开窗采购合同号时&#xff0c;只跳出明细表1中有的采购合同号&am…

(自用)蓝桥杯准备(需要写的基础)

要写的文件 led_app lcd_app key_app adc_app usart_app scheduler LHF_SYS一、外设引脚配置 1. 按键引脚 按键引脚配置如下&#xff1a; B1&#xff1a;PB0B2&#xff1a;PB1B3&#xff1a;PB2B4&#xff1a;PA0 2. LCD引脚 LCD引脚配置如下&#xff1a; GPIO_Pin_9 /* …

PM2 完全指南:Node.js 应用后台启动、关闭与重启详解

文章目录 **PM2 完全指南&#xff1a;Node.js 应用后台启动、关闭与重启详解****1. 什么是 PM2&#xff1f;****2. 安装 PM2****全局安装****验证安装** **3. 使用 PM2 启动 Node.js 应用****基本启动****指定应用名称****集群模式&#xff08;多进程负载均衡&#xff09;****监…

Linux环境变量详解

引言 在Linux系统中&#xff0c;环境变量是一种非常重要的概念&#xff0c;它影响着系统的运行方式和应用程序的行为。无论你是Linux新手还是经验丰富的管理员&#xff0c;深入理解环境变量都能帮助你更高效地使用和管理Linux系统。本文将从基础概念到高级应用&#xff0c;全面…

408 计算机网络 知识点记忆(8)

前言 本文基于王道考研课程与湖科大计算机网络课程教学内容&#xff0c;系统梳理核心知识记忆点和框架&#xff0c;既为个人复习沉淀思考&#xff0c;亦希望能与同行者互助共进。&#xff08;PS&#xff1a;后续将持续迭代优化细节&#xff09; 往期内容 408 计算机网络 知识…

@linux系统SSL证书转换(Openssl转换PFX)

在Linux中&#xff0c;你可以使用OpenSSL工具将PFX/P12格式的证书转换为单独的CRT&#xff08;证书&#xff09;、KEY&#xff08;私钥&#xff09;文件以及提取证书链 1. 提取私钥文件(.key) openssl pkcs12 -in your_certificate.pfx -nocerts -out private.key -nodes系统会…

DAOS系统架构-组件

如上图所示&#xff0c;一个完整的DAOS系统是由管理节点组件、客户端节点组件、服务端节点组件以及网络通信组件四个部分组成。管理节点组件通过管理网络通道&#xff08;蓝色&#xff09;对DAOS服务管理和监控。客户端节点组件通过数据网络通道&#xff08;红色&#xff09;与…

制作一款打飞机游戏教程2:背景滚动

滚动原型开发 接下来&#xff0c;我们开始聚焦滚动原型的开发。我们需要确定游戏关卡的长度以及背景滚动的速度。 地图与精灵空间限制 在开发过程中&#xff0c;我们遇到了地图与精灵空间限制的问题。PICO 8的地图编辑器下半部分与精灵表共享空间&#xff0c;这意味着我们只…

计算机组成原理——CPU与存储器连接例题

计算机组成原理——CPU与存储器连接例题 设CPU共有16根地址线和8根数据线&#xff0c;并用(MREQ) ̅作为访存控制信号&#xff08;低电平有效&#xff09;&#xff0c;(WR) ̅作为读/写命令信号&#xff08;高电平读&#xff0c;低电平写&#xff09;。现有下列存储芯片&#…

GNSS静态数据处理

1 安装数据处理软件&#xff1a;仪器之星&#xff08;InStar &#xff09;和 Trimble Business Center 做完控制点静态后&#xff0c;我们需要下载GNSS数据&#xff0c;对静态数据进行处理。在处理之前需要将相关软件在自己电脑上安装好&#xff1a; 仪器之星&#xff08;InS…

Process Explorer 性能调优实战:精准定位资源泄漏与高负载进程

一、下载与安装 ‌下载地址‌ Process Explorer安装包下载&#xff1a;https://pan.quark.cn/s/950c36ba5364下载后解压压缩包&#xff0c;运行 procexp.exe&#xff08;32 位系统&#xff09;或 procexp64.exe&#xff08;64 位系统&#xff09;‌。 ‌界面概览‌ 主界面以树…

SVMSPro分布式综合安防管理平台-->以S3存储革新,开启智能安防新纪元

SVMSPro分布式综合安防管理平台–>以S3存储革新&#xff0c;开启智能安防新纪元 在数字化转型浪潮下&#xff0c;企业安防管理正面临海量数据存储、跨区域协同以及数据安全的严峻挑战。如何实现高效、弹性、低成本的存储扩容&#xff1f;如何确保关键录像数据万无一失&…

Python 装饰器(Decorator)

文章目录 代码解析1. 装饰器定义 timer(func)2. 应用装饰器 timer **执行流程****关键点****实际应用场景****改进版本&#xff08;带 functools.wraps&#xff09;** 这是一个 Python 装饰器&#xff08;Decorator&#xff09; 的示例&#xff0c;用于测量函数的执行时间。下…

git commit时自动生成Change-ID

创建全局钩子目录&#xff1a; 创建一个全局的Git hooks目录&#xff1a; mkdir -p ~/.githooks 下载并设置commit-msg钩子脚本&#xff1a; 下载Gerrit的commit-msg钩子脚本&#xff0c;并放置在全局钩子目录中(如下载不了&#xff0c;可从本页面附件中下载&#xff0c;“…

最新Ktransformers v0.24(Docker)并发部署DeepSeek-V3-0324模型

一、介绍 KTransformers v0.2.4 发布说明 我们非常高兴地宣布&#xff0c;期待已久的 KTransformers v0.2.4 现已正式发布&#xff01;在这个版本中&#xff0c;我们对整 体架构进行了重大重构&#xff0c;更新了超过 1 万行代码&#xff0c;为社区带来了备受期待的多并发支…

飞牛私有云5大硬核功能实测!

&#x1f4f8; 1. 智能相册&#xff1a;AI搜图原图自由 - 自动备份&#xff1a;手机照片/视频实时同步&#xff0c;支持RAW格式、实况照片无损备份&#xff0c;释放128G手机秒变256G。 - AI黑科技&#xff1a; - 人脸识别&#xff1a;自动归类人物相册&#xff0c;输入「妈妈…

webrtc pacer模块(一) 平滑处理的实现

Pacer起到平滑码率的作用&#xff0c;使发送到网络上的码率稳定。如下的这张创建Pacer的流程图&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。这篇文章介绍它的核心子类PacingController及Periodic模式下平滑处理的基本流程。平滑处理流程中还有…