一、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解析、存储、事务、负载均衡。

集群部署逻辑图:

部署相关命令:

bash 复制代码
---------分区相关----------
--查看分区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个数据库实例,用户、数据库、表等都是在租户上创建的。

资源租户逻辑图:

租户相关命令:

bash 复制代码
-- 查询资源规格
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:

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

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

bash 复制代码
-- 查询已有数据库
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下建表、查询等)

bash 复制代码
-- 用户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:

bash 复制代码
-- 用obclient或navicat登录
obclient -h192.168.7.213 -P4881 -uSYS@tenant1 -p

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

bash 复制代码
-- 创建用户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下建表、查询等)

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

更详细的oracle命令参考:

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

相关推荐
Edingbrugh.南空4 天前
Flink OceanBase CDC 环境配置与验证
大数据·flink·oceanbase
丶意冷4 天前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
.Eyes16 天前
OBCP第二章 OceanBase 存储引擎高级技术学习笔记
笔记·学习·oceanbase
Tapdata 钛铂数据18 天前
信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
数据库·oceanbase
Dnui_King24 天前
OceanBase (DBA)一面面经
数据库·oceanbase·dba
OceanBase数据库官方博客1 个月前
OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档
oceanbase·分布式数据库·存储
OceanBase数据库官方博客1 个月前
常用的OceanBase调优配置参数
oceanbase·分布式数据库·参数
OceanBase数据库官方博客1 个月前
蚂蚁集团 CTO 何征宇:AGI时代,海量数据带来的质变|OceanBase 开发者大会实录
人工智能·oceanbase·分布式数据库·开发者大会
数据最前线1 个月前
OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座
人工智能·oceanbase