oceanbase部署维护命令学习

发布时间 2023-12-18 15:18:05作者: 济南小老虎

oceanbase部署维护命令学习


背景

之前学习过TIDB数据库, 最近又准备学习一下Oceanbase数据库
发现其实两者还是比较相似的.
比较大的区别在于.
TiDB是完全开源的, 并且比较明确的说明了他们是基于TiKV的key values数据库.
然后又TiDB和TiFlash两种查询殷勤的.

Oceanbase数据库的社区版本是开源的, 但是仅支持MySQL模式.
商业版支持Oracle模式. 
OB的底层存储机制暂时还没看到. 后续会继续总结.

Tidb使用tiup 脚本进行维护
oceanbase使用 odb脚本进行维护.

感觉大家的思路都是比较相仿的. 

obd的帮助

cluster        Deploy and manage a cluster.
demo           Quickly start
display-trace  display trace_id log.
mirror         Manage a component repository for OBD.
obdiag         Oceanbase Diagnostic Tool
repo           Manage local repository for OBD.
test           Run test for a running deployment.
update         Update OBD.
web            Start obd deploy application as web.

常用说明

常用的命令其实是 cluster,mirror这两个.

obd mirror clone /oceanbase3.1.3/*.rpm
可以本地重建一个仓库
我就是通过这个方式来进行特定版本的离线安装的. 

当然他的默认存储位置是
/root/.obd/mirror
.
├── local
└── remote

但是需要说明的是 跟你使用的用户是相关的. 

Cluster的部分帮助

[root@rocky87 oceanbase]# obd cluster --help
Usage: obd cluster <command> [options]

Available commands:

autodeploy     Deploy a cluster automatically by using a simple configuration file.
check4ocp      Check Whether OCP Can Take Over Configurations in Use
chst           Change Deployment Configuration Style
deploy         Deploy a cluster by using the current deploy configuration or a deploy yaml file.
destroy        Destroy a deployed cluster.
display        Display the information for a cluster.
edit-config    Edit the configuration file for a specific deployment.
export-to-ocp  Export obcluster to OCP
list           List all the deployments.
redeploy       Redeploy a started cluster.
reinstall      Reinstall a deployed component
reload         Reload a started cluster.
restart        Restart a started cluster.
start          Start a deployed cluster.
stop           Stop a started cluster.
tenant         Create, drop or list a tenant.
upgrade        Upgrade a cluster.

cluster命令说明

cluster命令应该是属于oceanbase最重要的几个命令. 

这里面deploy 部署 需要 -f 指定配置文件. 
destroy 可以摧毁集群, 可以通过 -f 进行强行删除. 
display 可以查看具体的集群, 他设置可以把密码给展示出来.
edit-config 应该是可以在线修改配置, 增加内存以及其他资源设置
list    展示可能存在的集群.
reload  重载集群, 修改了配置之后可以重载, 也可以重启集群. 
restart 可以启动集群,也可以重启集群
tenant  对租户进行设置. 

租户信息查看于设置

注意 建议使用 obclient客户端进行连接数据
yum install obclient -y 安装客户端: 

注意 本次只是按照 3.1.3的版本进行学习与查看
SELECT * FROM oceanbase.gv$tenant;
或者可以使用这个命令进行展示:
SHOW TENANT;

部分命令:
obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4',
 replica_num=3, zone_list=('zone1','zone2','zone3'), 
 primary_zone='zone1;zone2,zone3', resource_pool_list=('pool1')

Oracle租住的创建
obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4',
 replica_num=3, zone_list=('zone1','zone2','zone3'), primary_zone='zone1;zone2,zone3', 
 resource_pool_list=('pool1') SET ob_compatibility_mode='oracle'

 其他设置:
 obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4', 
 replica_num=3, zone_list=('zone1','zone2','zone3'), primary_zone='zone1;zone2,zone3', 
 resource_pool_list=('pool1') SET ob_tcp_invited_nodes='%'

注意事项

注意开源版会提示:
ERROR 1235 (0A000): Oracle mode not supported

开源版本仅仅兼容 MySQL的模式. 

关于MySQL兼容性的问题

From 
https://www.oceanbase.com/news/accelerated-embrace-and-support-of-open-source-ecosystem-oceanbase-open-source

阿里旗下的蚂蚁金服于2021年6月份正式发布了开源版. 
2021.10.18 蚂蚁金服正式发布了 3.1.1 的开源版OceanBase数据库
3.1.3 版本也就是开源社区版本的较新发布了. 

因为一开始以为仅支持MySQL5.7的能力, 在这个文档中也进行了一定程度的解惑: 
一、全面加强MySQL兼容
1、适配支持 MySQL 5.7 驱动协议,支持 5.7 新增的会话变量,
    可以推高 OceanBase 的 MySQL 兼容版本,避免企业内部安全审计问题。
2、新增 MySQL 8.0 的通用表表达式(Common Table Expressions),
    丰富了 SQL 的能力,满足复杂业务查询需求实现。
3、支持租户/用户最大连接数设置。系统变量 MAX_CONNECTIONS 设置租户最大连接数。
    系统变量 MAX_USER_CONNECTIONS 设置用户最大并发连接数。
    创建用户时,可以通过参数 MAX_USER_CONNECTIONS 指定用户的最大并发连接数。
    参数 MAX_CONNECTIONS_PER_HOUR 指定用户的每小时最大连接数。
4、新增支持10个函数,完善数据校验、时区转换查询及网络能力。
    具体支持系统函数 CRC32()、系统函数 CONVERT_TZ()
    网络地址相关函数 INET_ATON()、INET_NTOA()、INET6_ATON()、INET6_NTOA()、
    IS_IPV4()、IS_IPV6()、IS_IPV4_MAPPED() 和 IS_IPV6_MAPPED()。