OceanBase的学习与使用

oceanbase,学习,使用 · 浏览次数 : 463

小编点评

**OceanBase 数据库学习与使用简介** **1. 下载和安装** * 下载 OceanBase 数据库的 RPM 包。 * 将 RPM 包放置在特定的机器路径中。 * 修改机器名、hosts 文件和安全设置。 **2. 配置管理工具** * 创建 OAT 和 OCP 管理工具配置台工具。 * 使用 OATOCEANBase Admin 工具进行数据库安装配置。 **3. 安装元数据数据库** * 创建 /data_dir/images/目录并放置 metadb 和 oat 的 tar 包。 * 通过 docker 命令安装 OceanBase。 **4. 添加服务器** * 创建 OCP 管理工具配置台的服务器配置。 * 在 /etc/hosts 中设置 IP 地址。 * 配置 Observer。 **5. 部署 MetaDB** * 将 metadb 的 tar 包放到 /data_dir/images/ 中。 * 通过本地扫描加载 MetaDB。 **6. 管理工具安装** * 重新启动 OceanBase 管理工具。 * 创建集群,按照 pdf 中的配置步骤进行设置。 **7. 创建 OCP 管理工具** * 创建集群时可以选择设置管理员密码。 **8. 安装 OCP 管理工具** * 安装之前,确保 MetaDB 已安装。 * 创建 OCP 管理工具配置台的 OCP 安装步骤。 **9. 创建集群** * 使用 ocp 命令创建集群。 * 配置集群时可以设置管理员密码。 **10. 创建租户** * 在 OCP 管理工具中创建租户。 * 设置 Oracle 模式或字符集等选项。

正文

OceanBase的学习与使用


简介

1. OceanBase数据库
注意这一块下载的其实是rpm包. 一般是通过下面的OAT或者是OCP工具进行安装.
有x86还有ARM两种架构. 虽然是el7结尾的, 但是发现实际上是可以使用与阿里龙蜥8.6系统的. 
2. OCP
OceanBase Cloud Platform
OceanBase云平台, 可以创建管理配置监控集群,租户,并且对数据库的运行进行监控和运维. 
3. OAT
OceanBase Admin tool
是OceanBase数据库进行安装的配置的控制台工具, 基本上用于进行ocp的安装
并且将服务器添加到群组,便于后续的ocp平台进行管理. 
4. metadb
管理元数据的数据库实例, 一般是容器运行. 
需要主要的是metadb和oat是在allinone里面的. 

下载

https://www.oceanbase.com/softwarecenter-enterprise
这个地址可以进行数据库的下载.

下载完需要放置于特定的机器路径里面. 

机器预处理

1. 修改机器名. hostnamectl -set-hostname 
2. 修改/etc/hosts  可以预制几个IP地址便于使用. 
3. 安全要求不是很高可以关闭防火墙. 
4. 创建/data/1 类似的目录便于后续处理. 
5. 创建ssh-kengen 创建自己的密钥. 
6. 设置机器与自己的互信,便于clone使用. 
7. 主机上面需要安装docker. 但是需要注意, docker仅是部分OAT和OCP. 
   数据库还是通过rpm二进制部署的. 
8. 导入镜像,便于后续工作处理, master上面需要导入OAT的

集群机器准备

增加至少四台机器. 其中一台机器安装部署 OAT和OCP. 
其他三台机器部署 observer. 

在/etc/hosts 中都设置好对应的
ip  hostname
然后备用. 

第一步部署oat

mkdir /data_dir
# 注意我直接使用了我这边的镜像tag, 原始文档需要先docker images 获取一下,差别不是很大. 
docker run -d --net=host --name oat -v /data_dir:/data --restart=always reg.docker.alibaba-inc.com/oceanbase/oat:4.0.0_bp1_20230113_x86 

运行起来之后, 会监听 7000 端口. 
使用浏览器打开 OAT的界面
默认的用户密码为: 
admin/aaAA11__
需要注意这个密码的复杂度规则. 大小写,数字,特殊字符, 必须有至少两个. 
第一次登录需要改密码, 修改为自己的密码便于使用. 

第二步 添加服务器

注意, 这一块建议参照官方pdf
需要关注的是. OB产品服务和OB Server建议分开添加. 

可以通过回车添加多个IP地址. 
注意需要出示话配置, 可以将部分任务设置为 成功的方式进行忽略简单的错误. 

第三步 部署metadb

需要注意 metadb 的安装需要先将all-in-one 里面的 metadb 的tar包
放到/data_dir/images/ 里面中 然后可以通过本地扫描的方式加载出来. 
管理者工具-产品服务-组件管理-创建组件

需要再次注意的是 一方面架构要正确, 另外一方面.需要在OBserver的角色上面进行安装. 

这里我的服务器是机械盘.  在创建metadb 的话 需要处理一下 io bench的执行. 
INFO - (2002, "Can't connect to MySQL server on '10.110.139.250' (115)")
observer not ready, sleep 30s to try again...

其实这一步是在进行 IO测试. 解决方法:
docker exec -it metadb bash
ps -ef |grep bench 将进程kill -9 就会自动过去这一步

需要注意 机器的配置不要太低 Metadb的配置也不要太低. 不然会过不去
metadb的配置建议参照官方文档, 不要超过一半的机器配置. 

第四步 安装OCP

管理者工具-产品服务-产品管理-安装产品
需要注意的是, 建议先安装完成metadb再安装OCP
安装OCP的过程中会连接metadb. 需要自己在metadb上面创建一个 meta一个monitor的租户
用来存储OCP的信息 

注意这一步也需要更改配置等. 需要符合产品的配置信息. 和机器的配置. 

我这边第一次安装失败了, 第二次突然就成功了,非常不理解. 
也许是重启大法好.

第五步 创建集群

打开 http://ip:8080
登录OCP的平台,需要注意默认的用户密码跟oat 是一样的
admin/aaAA11__

修改密码后登录
主要有集群, 租户, 主机等多个操作界面. 
第一步先创建集群. 按照pdf进行设置. 主要是机器配置不高的情况下内存的设置情况. 

可以设置管理员的密码. 别忘记了..
初始化是可以如下设置, 避免失败. 
system_memory 10G
__min_full_resource_pool_memory 268435456
datafile_disk_percentage 50

我这边因为机器配置低, 无法创建租户, 需要修改一下集群的配置方法为:
mysql -h10.x.x.61 -P2883 -uroot@sys#obcluster:1675063119 -p
use oceanbase;
ALTER RESOURCE UNIT sys_unit_config MAX_CPU 4;

这样会出现一个 最小规格租户便于下一步的处理. 
注意可以通过ocp上面的 租户-总览, 查看链接字符串. 

第六步 创建租户

需要注意, 我这边的租户设置主要为:
1. Oracle模式
2. 字符集 UTF8MB4
3. 增加专门的配置为:
set global nls_timestamp_format='yyyy-mm-dd hh24:mi:ss.ff3';
ALTER SYSTEM SET open_cursors=1500;

注意设置sys用户的密码等. 

Oracle模式的部分使用

obclient -h10.110.xxx.xxx -P2883 -uSYS@igix#obcluster:1683249647 -p

部分查询语法
show variables like '%timeout%';
select * from nls_database_parameters
select table_name from user_tables;
set global ob_trx_timeout = 3600000000;

与OceanBase的学习与使用相似的内容:

OceanBase的学习与使用

OceanBase的学习与使用 简介 1. OceanBase数据库 注意这一块下载的其实是rpm包. 一般是通过下面的OAT或者是OCP工具进行安装. 有x86还有ARM两种架构. 虽然是el7结尾的, 但是发现实际上是可以使用与阿里龙蜥8.6系统的. 2. OCP OceanBase Cloud

C#/C++ 通过ODBC连接OceanBase Oracle租户

概述 近期我们项目正处于将Oracle数据库迁移到OceanBase Oracle租户模式的阶段。考虑到我们项目采用了C++和C#混合开发,并且使用了多种技术,因此存在多种数据库连接方式。然而,针对C#连接OceanBase的案例相对较少,因此我特意记录下这一过程。 开放数据库互连(ODBC)是微软

[转帖]「更易用的OceanBase」|OceanBase 4.0 一体化安装包 - 把简单留给用户

https://www.modb.pro/db/565842 1. OceanBase 3.x 版本安装浅谈 我是在 OceanBase 3.1.4 版本的时候开始尝试入手测试的。刚开始 OB 3.x 版本部署时,各种各样的部署方式着实是让我花了好多时间在上面。现在回想一下,大体有以下几个痛点: 采

OceanBase 金融项目优化案例

领导让我帮忙支持下其他项目的SQL优化工作,呦西,是收集案例的好时机。 下面SQL都是在不能远程的情况下,按照原SQL的逻辑等价改写完成否发给现场同事验证。 案例一 慢SQL,4.32秒: SELECT MY_.*, RM FROM (SELECT ROWNUM RM, V_.* FROM (S

[转帖]OceanBase 在线与离线安装方式详解

各位好,今天给大家带来一篇有关 OceanBase 在线与离线安装方式的解读。首先我们来讨论一下一日常工作中的一些场景,大家经常会遇到以下几种情况: 公司网络条件很不错,在线下载速度很快,安装软件直接从互联网下载安装即可,不需要考虑其他因素;公司人数众多,在线下载速度很慢,下载一个rpm包都要等很久

OceaBase 分区表创建技巧

最近遇在干个核心的金融项目,规模很大,客户主要是用oracle数据库,现在需要适配ob,原来在oracle就是分区表的迁来ob以后需要进行改造。 oracle默认使用是堆表(ht),而ob使用的是索引组织表(iot),表原理不一样所以分区表会稍微有点区别。 1、表无主键,创建范围分区表 CREATE

OceanBase 金融项目优化案例(union all 改写)

在工单系统上看到有一条sql问题还没解决,工单描述看到压测场景被cpu资源被这条sql打爆,目前影响到项目进度,比较紧急。 直接联系这位同学看看是否需要帮忙。 慢SQL: SELECT task.*, sc01.aab300 bjsjjg, (SELECT sc05.bsc012 FROM sc05

[转帖]Mysql DBA运维命令大全

Mysql DBA运维命令大全 https://www.modb.pro/db/97499 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证