当前位置: 首页 > article >正文

一、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_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; 
select * from oceanbase.__all_resource_pool;


-- 创建资源池
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; 
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.kler.cn/a/153496.html

相关文章:

  • 【STM32】EXTI外部中断
  • 电子学会C/C++编程等级考试2021年06月(四级)真题解析
  • Vmware安装Centos7
  • flutter开发实战-ValueListenableBuilder实现局部刷新功能
  • vue给table组件添加合计
  • FO-like Transformation in QROM Oracle Cloning
  • 100.有序数组的平方(力扣)
  • nrm : 镜像源工具npm镜像切换
  • MVCC是如何保证隔离性的
  • TA-Lib学习研究笔记(八)——Momentum Indicators 上
  • 企业存货库存综合分析全流程图
  • ElasticSearch之Force merge API
  • Vue 3.0 响应式 计算和侦听
  • Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!
  • 全志XR806基于FreeRTOS下部署竞技机器人先进模糊控制器
  • 将本地项目推送到github
  • mysql主从复制-redis集群扩容缩容、缓存优化(缓存更新策略、穿透,击穿,雪崩)、mysql主从搭建、django实现读写分离
  • Mybatis核心配置文件概述
  • Centos7安装
  • 深度学习早停机制(Early Stopping)与早退机制(Early exiting)