一、Oceanbase基础

一、集群相关概念

集群:整个分布式数据库。
Region:表示区域,是地域的逻辑概念,如1个城市,1个集群可以有多个Region,用于跨城市远  距离容灾。
Zone:表示分区,是机房或机架的逻辑概念,1个Region包含1个或多个Zone,分区部署可提高可用。
observer:observer为1个进程/1个节点(通常1台服务器部署1个observer进程),Oceanbase是  一个单进程软件,包含数据库所有管理功能:连接、sql解析、存储、事务、负载均衡。

集群部署逻辑图:

部署相关命令:

---------分区相关----------
--查看分区Zone
SELECT * FROM oceanbase.DBA_OB_ZONES;
--增加分区Zone(分区为1个逻辑概念,增加完分区后并未增加机器到集群中)
ALTER SYSTEM ADD ZONE zone2 IDC 'hz1', REGION 'hangzhou';
--删除分区
ALTER SYSTEM DELETE ZONE zone2;
--启动分区
ALTER SYSTEM START ZONE zone2;
--停止分区
ALTER SYSTEM STOP ZONE zone2;
--隔离分区(故障隔离、分区升级)
ALTER SYSTEM STOP ZONE zone2; --彻底隔离(首选命令,要求剩余节点可以投票)
ALTER SYSTEM FORCE STOP ZONE zone2; --强制隔离
ALTER SYSTEM ISOLATE ZONE zone2; --隔离,不检查,响应最快

---------节点相关----------
--查看节点observer
SELECT * FROM oceanbase.DBA_OB_SERVERS;
--增加节点到分仓zone2(前提是这两台机器已正确安装并启动oceanbase)
ALTER SYSTEM ADD SERVER '192.168.1.10:2882','192.168.1.11:2882' ZONE zone2;
--启动节点
ALTER SYSTEM START SERVER '192.168.1.10:2882';
--停止节点
ALTER SYSTEM STOP SERVER '192.168.1.10:2882';

二、租户相关概念

资源规格:资源的集合,也可叫资源模板,可根据业务场景抽象若干不同规格,例如小规格、中规格、大规格供后续使用。
unit:资源单元,1个unit对应1个资源规格的资源。
资源池:若干个unit,包括多个不同的分区上的unit,资源池是资源分配的基本单位。信息包括:Region、Zone_List、资源规格序号、每个Zone分配unit个数。
租户:资源层面的逻辑概念,可指定其资源规格,包括CPU、内存等。租户同时也对应1个数据库实例,用户、数据库、表等都是在租户上创建的。

租户资源逻辑图:

租户相关命令:

-- 查询资源规格
SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS;

-- 创建资源规格
CREATE RESOURCE UNIT my_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_RESOURCE_POOLS;

-- 创建资源池
CREATE RESOURCE POOL my_res_pool
                UNIT='my_unit_config', 
                UNIT_NUM=1,  -- 每个zone上unit的个数
                ZONE_LIST=('zone1'); -- 可配置多个zone
                
-- 查询租户
SELECT * FROM oceanbase.DBA_OB_TENANTS;

-- 创建租户
CREATE TENANT IF NOT EXISTS tenant1 
                PRIMARY_ZONE='zone1', -- 分号表示流量优先级从高到低,逗号表示流量优先级相同,如zone1;zone2,zone3。RANDOM表示随机选择1个主
                RESOURCE_POOL_LIST=('my_res_pool')  -- 如果配置多个资源池,资源池的UNIT_NUM必须相同
                SET OB_TCP_INVITED_NODES='%',  -- 连接白名单
                ob_compatibility_mode='mysql';  -- mysql模式/oracle模式

三、mysql模式

        Oceanbase社区版和企业版均支持mysql模式,创建完mysql模式租户后,通过该租户管理员用户登录后可创建该租户的数据库、用户、表等对象。

登录租户tenant1的管理员用户root:

-- 用户root@tenant1,相当于mysql的root用户,密码为空
mysql -P 2881 -h 192.168.7.214 -u root@tenant1 -p

 在root@tenant1用户下创建数据库db1、用户u1:

-- 查询已有数据库
show databases; #所有数据库
-- 创建数据库
create database db1;


-- 查询已有用户
select * from mysql.user; 
-- 创建用户u1
create user if not exists 'u1'@'%' identified by '1111';

-- 查询用户u1的权限
select * from mysql.db;
-- 给用户u1赋予数据库db1的所有权限
grant all on db1.* to 'u1'@'%';

重新用租户tenant1的用户u1登录:

-- 用户u1@tenant1,密码1111(登录成功后,即可在db1下建表、查询等)
mysql -P 2881 -h 192.168.7.214 -u u1@tenant1 -p

 更详细的mysql命令参考:一、MYSQL基础篇_mysql既是linux用户又是数据库用户_lv_zj的博客-CSDN博客

四、oracle模式

Oceanbase只有企业版支持oracle模式,创建完oracle模式租户后,即相当于创建了oracle实例,通过该租户管理员用户登录后可创建该租户的用户/模式、表等对象。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习【二】

1.运行时错误 1.1 ModuleNotFoundError: No module named ‘torch_scatter’ 参考 https://blog.csdn.net/weixin_42421914/article/details/132875571 pip install --no-index torch-scatter -f https://pytorch-geometric.com/whl/torch-1.13.1%2Bcpu.html

某思路等考通一级MSOffice的分析

看到有朋友寻求2021版的等级考试一级软件,秉承授人以鱼不如授人以渔的理念,特写这个帖子。 某思路等考通一级MSOffice,版本6.5。 用到的软件,ScanId,de4dot,dnSpy。 第一步:分析 软件启动后有在线激活提示&…

华为云CDN刷新与查询余量的Go实现及在Jenkins中的部署

引言 在华为云上,对CDN缓存内容进行刷新是一个常见的需求,以确保最新的内容能尽快被用户访问到。通过使用Go语言,我们可以开发一个自动化的工具来实现这一需求,并将其集成到Jenkins中以实现持续部署。下面我们将分步骤讲解如何实…

MySQL递归查询:洞悉数据的层层关联

在处理关系型数据库时,我们经常会遇到这样的情况:某些数据之间存在层级关系,例如目录、组织结构、评论等。在这些场景下,我们需要一种灵活的查询技术来处理这种层级关系。今天我们就来探讨MySQL中的递归查询,体验其独特…

ThinkPHP6学生选课管理系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6学生选课管理系统 一 介绍 此学生选课管理系统基于ThinkPHP6框架开发,数据库mysql8,前端bootstrap。系统角色分为学生,教师和管理员。学生登录后可进行选课,教师登录后可查看选课情况…

Android : 获取、添加、手机联系人-ContentResolver简单应用

示例图: MainActivity.java package com.example.mygetdata;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat;import android.Mani…

图书管理系统源码,图书管理系统开发,图书借阅系统源码四TuShuManager应用程序MVC视图View

Asp.net web应用程序MVC之View视图 .ASP.NET MVC页面也就是要说的视图基本被放在Views文件夹下; 2.利用APS.NET MVC模板生成框架,Views文件夹下的默认页面为.cshtml页面; 3.ASP.NET MVC默认页面为Razor格式的页面,因此默认页面为.…

三、Lua变量

文章目录 一、变量分类二、变量赋值三、索引 一、变量分类 lua变量分为全局变量,局部变量。 全局变量:默认,全局有效。 局部变量:从作用范围开始到作用范围结束,需加local 修饰。 a1function ff()local b1 endprint(a…

spring boot的redis连接数过多导致redis服务器压力过大的一次问题排查

一、背景 在今天上午的时候,突然收到大量的sentry报错,都是关于redis连接超时的警告。 首先想到的是去查看redis的监控,发现那个时间段,redis的请求数剧增,cpu使用率和带宽都陡增双倍。 下面的是redis监控的cpu情况 …

Module build failed: Error: ENOENT: no such file or directory

前言 这个错误通常发生在Node.js 和 vue,js项目中,当你试图访问一个不存在的文件或目录时。在大多数情况下,这是因为你的代码试图打开一个不存在的文件,或者你的构建系统(例如Webpack)需要一个配置文件,但找…

程序员为什么要一直坚持写博客

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 今天的文章其实说和技术有关系也没有什么问题,算起来我日更文章已经快四个月了,从最初的…

四、Lua循环

文章目录 一、while(循环条件)二、for(一)数值for(二)泛型for(三)repeat util 既然同为编程语言,那么控制逻辑里的循环就不能缺少,它可以帮助我们实现有规律的重复操作,而…

洗地机应该怎么选?希亦、必胜、米博、添可、小米洗地机实测推荐

作为一个常年测评智能家居的博主,关于洗地机的测评使用这些年也积累了不少的体验感受。以至于常被周边的朋友问到,洗地机到底是不是真的好用?洗地机有什么优点吗?选购的时候应该怎么选呢?洗地机什么牌子比较好呢&#…

.NET6实现破解Modbus poll点表配置文件

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 Modbus 协议是工控领域常见…

Elasticsearch:什么是非结构化数据?

非结构化数据定义 非结构化数据是指未按照设计的模型或结构组织的数据。 非结构化数据通常被归类为定性数据,可以是人类或机器生成的。 非结构化数据是最丰富的可用数据类型,经过分析后,可用于指导业务决策并在许多其他用例中实现业务目标。…

2015年五一杯数学建模B题空气污染问题研究解题全过程文档及程序

2015年五一杯数学建模 B题 空气污染问题研究 原题再现 近十年来,我国 GDP 持续快速增长,但经济增长模式相对传统落后,对生态平衡和自然环境造成一定的破坏,空气污染的弊病日益突出,特别是日益加重的雾霾天气已经干扰…

Node.js入门指南(五)

目录 MongoDB 介绍 下载与启动 命令行交互 Mongoose 代码模块化 图形化管理工具 hello,大家好!上一篇文章我们介绍了express框架,这一篇文字主要介绍MongoDB。来对数据进行存储以及操作。 MongoDB 介绍 各位小伙伴应该多多少少都有接…

JMeter---BeanShell实现接口前置和后置操作

在JMeter中,可以使用BeanShell脚本来实现接口的前置和后置操作。 下面是使用BeanShell脚本实现接口前置和后置操作的步骤: 1、在测试计划中添加一个BeanShell前置处理器或后置处理器。 右键点击需要添加前置或后置操作的接口请求,选择&quo…

使用com组件编辑word

一个普通的窗体应用,6个button using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; u…