一、Oceanbase基础

目录

一、集群相关概念

二、租户相关概念

三、mysql模式和oracle模式

1、mysql模式

      2、oracle模式


官方文档:Oceanbase数据库文档 - 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;
select * from oceanbase.__all_zone;
--增加分区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;
select * from oceanbase.__all_server;--增加节点到分仓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;
select * from oceanbase.__all_unit_config;-- 创建资源规格
CREATE RESOURCE UNIT my_unit_configMEMORY_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; 
select * from oceanbase.__all_resource_pool;-- 创建资源池
CREATE RESOURCE POOL my_res_poolUNIT='my_unit_config', UNIT_NUM=1,  -- 每个zone上unit的个数ZONE_LIST=('zone1'); -- 可配置多个zone-- 查询租户
SELECT * FROM oceanbase.DBA_OB_TENANTS; 
select * from oceanbase.__all_tenant;
select * from oceanbase.gv$tenant;-- 创建租户
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模式和oracle模式

Oceanbase企业版支持mysql模式和oracle模式,社区版支持mysql模式。Oceanbase中集群、租户、数据库、用户、表的关系如下。mysql租户相当于mysql数据库服务器,oracle租户相当于oracle数据库实例。

      

1、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登录:(登录成功后,即可在db1下建表、查询等)

-- 用户u1@tenant1,密码1111
mysql -P 2881 -h 192.168.7.214 -u u1@tenant1 -p

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

2、oracle模式

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

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

-- 用obclient或navicat登录
obclient -h192.168.7.213 -P4881 -uSYS@tenant1 -p

 在SYS@tenant1用户下创建用户u1,并赋权: 

-- 创建用户u1
create user u1 identified by 1111-- 给用户u1赋权
grant connect to u1;
grant create table to u1;
grant create view to u1;
grant resource to u1;

重新用租户tenant1的用户u1登录:(登录成功后,即可在u1下建表、查询等)

-- 用户u1@tenant1,密码1111
obclient -h192.168.7.213 -P4881 -uu1@tenant1 -p

更详细的oracle命令参考:

一、Oracle基础篇_lv_zj的博客-CSDN博客

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

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

相关文章

机器人阻抗控制性能及其实验验证

Impedance Control 机器人阻抗控制是一种控制方法,其目的是构建一个系统使得执行器(如机械臂)能同时控制力和位置。它基于阻抗模型,通过调节机器人的行为,以维持理想的动态关系。这种动态关系可以理解为机器人末端位置…

使用Java语言实现变量互换

一、 java运算 通过异或运算符实现两个变量的互换 import java.util.Scanner;public class ExchangeValueDemo {public static void main(String[] args){try (Scanner scan new Scanner(System.in)) {System.out.println("请输入A的值:");long A sca…

栈和队列OJ题——15.循环队列

15.循环队列 622. 设计循环队列 - 力扣(LeetCode) * 解题思路: 通过一个定长数组实现循环队列 入队:首先要判断队列是否已满,再进行入队的操作,入队操作需要考虑索引循环的问题,当索引越界&…

『Nginx安全访问控制』利用Nginx实现账号密码认证登录的最佳实践

📣读完这篇文章里你能收获到 如何创建用户账号和密码文件,并生成加密密码配置Nginx的认证模块,实现基于账号密码的登录验证 文章目录 一、创建账号密码文件1. 安装htpasswd工具1.1 CentOS1.2 Ubuntu 二、配置Nginx三、重启Nginx 在Web应用程…

【IDEA】导入项目发现目录消失

错误截图 这个目录里我是有文件的,但是导入到idea后却看不见文件 错误原因: 删除目录的时候不小心将.iml文件给删除了! 解决办法 进入项目结构 选择模块,点击 导入模块 选择需要导入的模块的目录 从现有项目创建模块 --> 下…

自己动手实现一个深度学习算法——七、卷积神经网络

文章目录 1.整体结构2.卷积层1)全连接层存在的问题2)卷积运算3)填充4)步幅5)3维数据的卷积运算6)结合方块思考7)批处理 3.池化层1)池化层的特征 4.卷积层和池化层的实现1&#xff09…

【llm使用】ChatGLM3-6B Transformers部署调用

文章目录 环境准备模型下载代码准备部署 说明:本文转自国内开源组织datawhale的repo: self-llm 环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打…

充电桩新老国标兼容性分析

1、背景介绍 1.1、充电桩相关标准发展历程 1.2、兼容性分析历史 1.3、兼容性分析的目的 1.4、兼容性分析的内容 2、B类协议兼容性分析 2.1、协议分层结构 2.2、链路层分析 2.3、版本协商与链路检测 ## 2.4、传输层分析 2.5、应用层 2.5.1、应用层数据 2.5.2、应用层数据…

node.js express路由和中间件

目录 路由 解释 使用方式 中间件 解释 使用方式 中间件类型 路由注册和中间件注册 代码 app全局路由接口请求以及代码解析 示例1 示例2 示例3 示例4 中间件req继承 嵌套子路由 解释 代码 示例1 路由 解释 在 Express 中,路由(Route&…

ChaoJi充电连接装置典型试验案例分析 GB/T 20234.1充电连接装置型式试验变化分析

GB/T 20234.1充电连接装置典型试验变化分析 1、ChaoJi充电连接装置典型试验案例分析 1.1、大功率直流充电接口 1.2、枪线尺寸、重量、面积数据对比 1.3、枪线温升对比试验 1.4、chaoji 枪线温升试验 1.5、chaoji枪线防护等级试验 1.6、GB/T 20234.4项目列表 1.7、小结 ✓ 通…

ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:

运行roslaunch文件提示&#xff1a; RLException:Invalid roslaunch XML Syntax: mismatched tag: line 45&#xff0c; column 2 The traceback for the exception was written to the log file. j 解决办法&#xff1a; line45 行多了标签&#xff1a;</node> 另外…

策略设计模式

package com.jmj.pattern.strategy;public interface Strategy {void show(); }package com.jmj.pattern.strategy;public class StrategyA implements Strategy{Overridepublic void show() {System.out.println("买一送一");} }package com.jmj.pattern.strategy;p…

Hadoop+Hive+Spark+Hbase开发环境练习

1.练习一 1.数据准备 在hdfs上创建文件夹&#xff0c;上传csv文件 [rootkb129 ~]# hdfs dfs -mkdir -p /app/data/exam 查看csv文件行数 [rootkb129 ~]# hdfs dfs -cat /app/data/exam/meituan_waimai_meishi.csv | wc -l 2.分别使用 RDD和 Spark SQL 完成以下分析&#xf…

使用AOS实现网页动画效果

在现代Web开发中&#xff0c;动画效果是提升用户体验和页面交互性的重要因素之一。而AOS&#xff08;Animate On Scroll&#xff09;作为一个强大的动画库&#xff0c;可以帮助我们轻松地实现网页元素的滚动动画效果。 什么是AOS&#xff1f; AOS是一个基于CSS3和JavaScript的…

【elementUI】el-tab相关问题

Tabs 标签页 分隔内容上有关联但属于不同类别的数据集合。 <template><el-tabs v-model"activeName" tab-click"handleClick"><el-tab-pane label"用户管理" name"first">用户管理</el-tab-pane><el-tab-p…

LabVIEW远程监控

LabVIEW远程监控 远程监控的应用场景 从办公室远程监控工厂车间的测试设备。 在世界另一端的偏远地区监控客户现场的发电设备。 从公司远程监控外场的产品。 技术更新与方法 自2018年以来&#xff0c;NI对基于Web的应用程序支持大幅增长。一些最初的方法&#xff08;如Lab…

深入了解Java8新特性-日期时间API之TemporalQuery、TemporalQueries

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概2000多字&#xff0c;预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&#x…

分布式锁框架Lock4j简单使用

最近项目中使用到了Lock4j的分布式锁组件&#xff0c;小编今天就带大家学习一下该框架&#xff0c;以及如何在我们项目中进行集成使用。 一、简介 Lock4j是一个分布式锁组件&#xff0c;它提供了多种不同的支持以满足不同性能和环境的需求&#xff1b;它基于Spring AOP&#…

YOLOv7+姿态估计Pose+tensort部署加速

YOLOv7-Pose YOLOv7是一种高效的目标检测算法&#xff0c;用于实时物体检测。姿态估计Pose是一种用于识别和跟踪人体关键点的技术。TensorRT是一个针对深度学习推理任务进行加速的高性能推理引擎。 将YOLOv7和姿态估计Pose与TensorRT结合可以实现快速而准确的目标检测和姿态估…

SSM框架(五):Maven进阶

文章目录 一、分模块开发1.1 分模块开发的意义1.2 步骤 二、依赖管理2.1 依赖传递2.2 可选依赖和排除依赖 三、继承与聚合3.1 聚合3.2 继承3.3 聚合和继承区别 四、属性4.1 pom文件的依赖使用属性4.2 资源文件使用属性 五、多环境开发六、跳过测试七、私服7.1 下载与使用7.2 私…