Skip to main content

产品手册

|产品版本:V3.3.0|文档版本:20220413

1.What's New

1.1. 产品动态

本次 4 月发版的 OceanBase 开发者中心(OceanBase Developer Center,ODC)V3.3.0 主要新增任务流程和操作记录,并对首页管理、连接管理、工作台、工具、会话、回收站、任务中心、数据库对象、产品功能介绍和帮助中心等功能进行了更新。本次迭代所更新的模块与功能如下表所示。

更新列表

更新项更新模块说明
首页管理Web 版 ODC 首页公共资源管控台入口调整:在 ODC 首页的 公共连接 页签或 公共资源管控台 模块中,单击 立即进入。 个人设置中,增加设置 SQL 窗口的 Session 模式和设置拖放表/视图对象时默认生成的语句类型。
客户端版 ODC 首页个人设置中,增加设置 SQL 窗口的 Session 模式和设置拖放表/视图对象时默认生成的语句类型。
个人连接管理创建个人连接数据库类型分为物理库(普通数据库)和逻辑库 ODP (Sharding)。
管理个人连接连接列表支持拉伸列宽。 ODC 支持在连接内部切换连接。
公共资源管理快速入门帮助用户快速了解和使用公共资源管控台。
公共连接管理新增 集群租户 筛选功能。 筛选组件中增加 筛选项,用于筛选未标识的集群、租户或资源组。 操作列下,新增 复制 公共连接。
资源组管理新建资源组面板中,更新公共连接选项。
任务流程管理新增任务流程管理,支持拥有特殊权限的用户定义变更任务流程。
操作记录管理新增操作记录管理,在公共资源管控台上管理操作事件的历史记录。
系统设置新增 SQL 窗口 Session 模式和对象拖放生成语句类型。
工作台SQL 窗口SQL 编辑区: 支持快捷操作:拖拽对象列表至 SQL 编辑区,快速生成语句。 支持独立 session。 设置 中新增 会话变量
已保存的脚本支持脚本批量管理。 支持编辑和删除脚本。
查看操作记录在 ODC 上查看操作事件的历史记录。
使用工具批量导出与导入MySQL 模式下支持导出函数和存储过程。
数据库变更异步执行功能升级为数据库变更。 新增回滚方案。
使用回收站设置中支持选择是否启用回收站。 支持选择所有对象或取消所有对象。
任务管理新增任务管理功能,包括 导入任务导出任务模拟数据任务数据库变更任务
数据库对象表对象表列表:优化右键操作(打开 SQL 窗口、复制表语句类型)。 表属性管理:表对象分区查看去除 sys 租户依赖。
视图对象管理视图:优化右键操作(复制视图语句类型)。
帮助中心更新产品功能介绍。 浏览帮助文档嵌入 HTML 格式文档。
部署指南部署前准备更新机器环境。
加载和运行 ODC 镜像增加 ODC_HOST 和 ODC_PORT 参数说明。
升级指南升级前准备更新机器环境。
加载和运行 ODC 镜像增加 ODC_HOST 和 ODC_PORT 参数说明。

2.产品简介

2.1. 什么是 OceanBase 开发者中心

OceanBase 开发者中心(OceanBase Developer Center,ODC)是为 OceanBase 数据库量身打造的企业级数据库开发平台。ODC 支持连接 OceanBase 中 MySQL 和 Oracle 模式下的数据库,同时为数据库开发者提供了数据库日常开发操作、WebSQL、SQL 诊断、会话管理和数据导入导出等功能。

ODC 采用成熟的浏览器-服务端架构,拥有跨平台、轻量化和易部署的特点。同时,ODC 还提供客户端版本,不仅能满足个人开发者快速上手使用 OceanBase 的需求,还可提升开发人员与 DBA 的协作效率。

2.2. 产品特性

OceanBase 开发者中心(OceanBase Developer Center,ODC)作为为 OceanBase 数据库量身打造的企业级数据库开发平台,拥有编辑和管理数据库对象与资源等特性。

数据库对象管理

  • 引导式创建和可视化修改各类数据库对象。

  • 通过回收站机制快速恢复和清理已删除对象。

    企业级特性分区支持

  • 支持 OceanBase 版本 MySQL 和 Oracle 模式中完整的分区类型。

  • 人性化引导式全流程设计,降低了使用分区功能的门槛。

    Web 控制台

  • 支持 DDL、DML 和数据的安全变更。

  • 通过 WebSQL 帮助开发人员正确使用 OceanBase 的各种特性和功能。

  • 提供贴合 OceanBase 版本 MySQL 和 Oracle 的语法高亮、格式化、智能提示等贴心特性。

  • 提供类似Excel的可视化数据编辑能力。

    数据导入导出

  • 为 OceanBase 量身打造的高效的数据导入导出能力。

  • 支持多种文件格式的导入导出。

    数据库变量编辑

  • 支持会话变量和系统全局变量的可视化修改。

  • 降低用户对变量记忆的难度。

  • 提升根据业务场景定制变量的效率。

    资源性能

  • 实时进行数据库会话访问情况管控,且支持查看和终止会话。

  • 支持 SQL 执行计划分析,指导 SQL 调优。

2.3. 产品架构

OceanBase 开发者中心(OceanBase Developer Center,ODC)的整体架构由三部分能力组成:

  • 基础能力

  • 核心能力

  • 高阶能力

    下图为当前版本的架构图:

    Image 248

    基础能力

  • 用户管理:用户管理提供用户注册账号、登录系统和修改账号密码等服务。

  • 连接管理:连接管理提供 OceanBase MySQL 模式及 Oracle 模式的管理服务。支持用户创建数据库连接和保存创建的连接信息,同时提供一键复制和删除连接的能力。

    核心能力

  • 对象管理:对象管理提供对数据库对象(如:表、视图、函数、存储过程、序列)做可视化创建引导的服务,这降低了用户的使用门槛。同时,对象管理还提供在查看表数据时对表数据进行在线编辑的服务。

  • 控制台:控制台支持对 SQL 窗口内的内容进行保存及再修改,可帮助用户进行脚本的复用。同时支持一键格式化 SQL 脚本和结构化展示 SQL 内容。在编写 SQL 的过程中 SQL 编辑器能为用户提供智能提示以简化编写难度。 SQL 运行得到的结果集支持编辑和导出。2.2.0 版本及之后还提供了 PL 能力支持,提供了 PL 对象的格式化、编译、运行、调试等功能。

    高阶能力

  • 工具集:工具集包含会话管理、回收站管理和导入导出工具。会话管理支持对数据库会话属性及全局属性做修改,同时也支持用户终止指定的数据库会话。回收站管理支持用户清除及还原数据库对象。导入导出支持用户进行多表或单表多种数据格式的导入导出。

  • SQL 诊断:SQL 诊断能够方便用户进行 SQL 执行计划和 SQL 执行过程中资源消耗的查看。能够帮助用户定位 SQL 脚本中存在的问题。

2.4. 产品功能

OceanBase 开发者中心(OceanBase Developer Center,ODC)作为 OceanBase 数据库量身打造的企业级数据库开发平台,ODC 支持连接 OceanBase 中 MySQL 和 Oracle 模式下的数据库,同时为数据库开发者提供数据库日常开发操作、WebSQL、SQL 诊断、会话管理和数据导入导出等功能。

数据库连接管理

ODC 支持用户连接至 OceanBase 中 MySQL 和 Oracle 模式下的数据库。在 ODC 创建连接页面输入要求的信息后,即可测试连接并保存连接信息,ODC 支持保存多个不同数据库的连接配置。

用户创建并保存的连接配置会直接展示在 ODC 首页,以供再次进入 ODC 时可在首页的连接列表中查看和进入目标数据库。已保存的数据库连接支持打开、编辑、复制和删除等操作。

Image 173

工作台

基于 WebSQL,ODC 提供工作台的功能作为数据库开发者编辑和诊断 SQL 和 PL/SQL 的工作区。

  • 在工作台的 SQL 窗口中,可对 SQL 脚本进行运行和保存等操作;

  • 在匿名块窗口中,可对匿名块脚本进行编辑、运行、调试和保存等操作;

  • 在工作台中会有对应页签,展示脚本的的各种执行详情和执行结果等诊断信息;

  • 同时可使用代码片段功能查找和保存常用的命令代码。

    Image 174

    数据库对象创建和管理

    ODC 提供对数据库对象的创建和管理等数据库日常开发操作功能,可通过 ODC 创建和管理数据库中的表、视图、函数、存储过程、序列、触发器、类型和同义词等数据库对象。

    除通过 SQL 语句创建和管理数据库对象,ODC 同时提供简明清晰的可视化界面,方便快速创建对象和管理对象的属性。

    Image 175

    会话管理与属性

    应用与数据库的连接被称为一个会话,在会话管理页面可查看连接至当前数据库所有会话的详细信息。

    同时在会话属性页面, ODC 提供可视化界面以清晰直观的查看和修改当前数据库支持的会话变量和全局变量。

    Image 176

    数据导入与导出

    为使数据库开发者更方便的维护数据库内的数据, ODC 提供批量导入导出和单表导入导出功能(导出支持 SQL 格式和 CSV 格式,导入支持 SQL 格式、CSV 格式和 SQL 文件)。

  • 通过批量导入导出,用户可批量选择数据库中的表以导入或导出其中的数据;

  • 单表导出和导入可导出或导入目标表中的数据。

    Image 622.png

    命令行窗口

    OBClient 是 OceanBase 推荐使用的黑屏客户端工具。

    ODC 作为 OceanBase 专用的白屏开发工具,在本次迭代中集成了命令行工具 OBClient 至命令行窗口。无需再单独下载安装 OBClient,在 ODC 的命令行窗口中即可直接用命令行进行数据库开发管理工作。

    可在命令行窗口中更直接灵活的执行 SQL/PL 语句并实时查看结果,同时可通过 SOURCE

命令运行上传在服务器中的文件。

Image 177

模拟数据

模拟数据工具用于在测试数据库性能或者验证功能等需要大量模拟数据的场景下,能够快速根据表中的字段类型生成数据。

在模拟数据面板中,ODC 支持自定义规则生成数据,根据选中的表中的字段类型,可通过修改对应的规则和细则以生成所需的数据。

Image 178

2.5. 使用限制

本篇介绍 OceanBase 开发者中心(OceanBase Developer Center,ODC)中各功能模块所涉及的使用限制。

数据库版本要求

数据库支持版本
当前版本 ODC 支持的 OceanBase 数据库版本OceanBase V1.4.x OceanBase V2.0.x OceanBase V2.1.x OceanBase V2.2.x OceanBase V3.1.x OceanBase V3.2.x OceanBase 社区版(PL 相关能力不支持)

ODC 支持 PL 能力的 OceanBase 数据库版本:

功能支持版本
PL 对象(函数/存储过程/程序包)编译 PL 对象(函数/存储过程)调试 匿名块调试V2.2.7x、V3.0.0 及之后版本。
PL 对象(函数/存储过程/程序包)运行 匿名块运行V2.0.x 及之后版本。

浏览器版本要求

当前 Web 版本 ODC 支持的浏览器版本:

浏览器支持版本
支持访问的浏览器Chrome 76 及以上版本。 Firefox 60 及以上版本。 Edge 79 及以上版本。

推荐安装环境

下述为安装客户端版 ODC 时的推荐环境:

环境要求
系统版本Windows:Win 7/Win 10 Mac:10.13.6(17G65)
Java 环境JDK 1.8.0_242 及以上版本
端口号ODC V2.3.0 后采用动态侦测端口技术,无需再预留 8989 端口。
CPUX86 64 位处理器 2 核及以上配置
内存4 GB 及以上

账号管理

登录 ODC,在首页顶部导航栏的右上角,会显示当前登录的用户名,单击用户名在弹出的下拉菜单中选择 修改密码 按钮,修改 ODC 账号密码。

数据库连接

  • Oracle 连接为共享 Session 设计,当您主动触发提交或回滚操作,或通过产品功能创建、修改、删除数据库对象和执行 DDL 语句被动触发提交操作后,事务在所有窗口生效。

    事务手动提交模式下,需设置参数 ob_trx_idle_timeout

    大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

    设置的时间,连接会被终止。同时需注意 ob_trx_idle_timeout

    设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    工作台

  • 只有 Oracle 模式下支持创建匿名块窗口。

  • 通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。

  • 在调试前请确保连接的数据库中已安装 DBMS_DEBUG 和 DBMS_OUTPUT 等调试包。

  • PL 对象调试仅支持连接 OBServer V2.2.70、V3.0.00 及之后版本(目前内核仅支持 x86 环境调试,arm 环境不支持调试)。

  • ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,因此需手动提交事务。可在 会话属性 页面修改变量 autocommit 的值进行设置,详细操作请参见 管理会话

    数据导出与导入

  • OceanBase V2.2.30 及之后版本支持字符编码 UTF8、GBK、GB18030 和 UTF16。OceanBase V2.2.30 版本之前仅支持字符编码 UTF8。

  • 在 ODC V2.2.0 及之后版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,通过 OBProxy 连接和直连时 ODC 均支持导入导出功能。

  • Web 版 ODC 对导出的数据大小有限制,最大支持导出 2 G 的数据(压缩前),超出部分无法导出。如需导出大量数据,请使用导数工具 OBDUMPER。

  • Web 版 ODC 对导入上传的文件大小有限制,最大支持导入 2 G(压缩后)的文件,超出部分无法上传。如需导入大量数据,请使用导数工具 OBLOADER。

  • 最大支持 3 个导入导出任务并行运行,后续任务在队列中等待运行。

  • 在 ODC V2.4.1 之后版本,可选择配置 sys 租户账号以提升导出导入速度。同时,导出时如已勾选表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

    数据库对象

  • 目前暂不支持修改表中已经创建好的索引。

  • 只有 Oracle 模式下支持创建序列和程序包对象。

  • 分区信息查看依赖有读权限的 sys 账号,因此需在创建连接的高级配置中设置 sys 用户。

3.快速入门

3.1. 入门概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)是为 OceanBase 数据库量身打造的企业级数据库开发平台。若您是 ODC 的新用户,本章将向您介绍 ODC 使用的入门操作以帮助您快速上手 ODC。​

以下使用流程可帮助您快速了解和使用 ODC:

  1. 安装 ODC:除了部署 Web 版 ODC 以外,您可下载客户端版本的 ODC 进行数据库的管理。若您不需要使用客户端版 ODC 请直接查看步骤 2。

  2. 登录 ODC:获得 ODC 账号后,在登录界面输出账户信息以进行登录。

  3. 创建连接:进入 ODC 后,需要创建目标实例的连接配置以进入目标数据库管理页面。​

    完成上述步骤后,您可开始通过 ODC 开发和管理您的 OceanBase 数据库了。有关更多 ODC 的使用信息,请参见对应版本的《用户指南》。

3.2. 安装 ODC

除在 OceanBase 中直接进入 Web 版 OceanBase 开发者中心(OceanBase Developer Center,ODC)以外,同时可下载客户端版本的 ODC 进行数据库的管理。与 Web 版 ODC 相比,客户端版 ODC 无登录入口,而是通过使用一个默认用户进行标识,因此只需安装客户端并 创建连接

推荐安装环境

环境要求
系统版本Windows:Win 7/Win 10 Mac:10.13.6(17G65)
Java 环境JDK 1.8.0_242 及以上版本。
端口号ODC V2.3.0 后采用动态侦测端口技术,无需再预留 8989 端口。
CPUX86 64 位处理器 2 核及以上配置。
内存4GB 及以上 。

安装步骤

  1. 下载 客户端版 ODC

  2. 下载完成后,双击安装文件开始安装。

  3. 进入安装向导后,提示您选择安装路径。

    安装 ODC

  4. 安装完成后,启动程序时会检查环境,当环境不符合要求时会弹出对应的错误信息并提示您继续启动应用或是关闭进程修复环境。若环境检查无误,应用将正常打开,您就可进入客户端版 ODC 并开始创建连接了。

    注意

    • 自 ODC V3.2.0 版本起,客户端版 ODC V3.2.0 安装包中已附加 JRE 安装包(包含Mac 和 Win 64 位平台),可根据需求自行安装。
    • 如安装或启动失败,请参见 常见问题 符号带底纹 客户端 ODC 安装问题。

3.3. 登录账号

OceanBase 开发者中心(OceanBase Developer Center,ODC)的登录操作,旨在通过登录账号对用户进行标识,后续对数据库的连接配置以及保存工作区的 SQL 脚本等功能,均依赖于用户标识。

进入 OceanBase 开发者中心,登录界面如下图所示,在登录界面输入账号和密码后,单击 登录 按钮进入 ODC 首页:

登录 ODC

登录 ODC 并进入首页的连接管理页面后,在顶部导航栏的右上角会显示当前登录的账户名,单击账户名,在弹出的下拉菜单中单击 退出登录 按钮将返回 ODC 登录界面,可重新登录其它 ODC 账号。

说明

  • 用户首次登录的用户名和密码从管理员处获取。
  • 管理员默认登录用户名:admin,默认密码:aaAA11__
  • 如从 ODC 旧版本升级至 V3.2.0 及以上版本,出现 admin 等用户冲突,需手动修改原用户名称。具体方法,请参见 常见问题符号带底纹Web 版 ODC 启动问题。

3.4. 创建个人连接

概述

登录 OceanBase 开发者中心(OceanBase Developer Center,ODC)并进入 ODC 首页,可在 个人连接 页签的右上角单击 新建连接 按钮创建个人连接。

创建完成后,再次进入 ODC 时,可在连接列表中查看已保存的数据库连接。

Image 801

注意

  • 自 ODC V2.3.0 版本起,导入导出功能需在创建连接的高级配置中设置 root@sys 用户,否则会提示无法使用导入导出功能,因自该版本起,导入导出功能查询视图信息时依赖 root@sys 账号。

  • 分区信息查看同样依赖 root@sys 账号,因此如需展示表的分区信息须在创建连接的高级配置中设置 root@sys 用户。

  • 自 ODC V3.3.0 版本起,ODC 支持独立 Session 模式和共享 Session 模式。

    独立 Session 模式下,每个 SQL 窗口对应一个数据库会话,所有的修改只会影响当前窗口;共享 Session 模式下,所有的 SQL 窗口共享同一个数据库会话,任意 SQL 窗口的修改均会影响到其它 SQL 窗口。

    事务手动提交模式下,需设置 ob_trx_idle_timeout

    大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

    设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout

    设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    操作步骤

    创建连接的操作步骤如下所示:

  1. 进入 ODC 后,单击 个人连接 页签右上角的 新建连接 按钮。
  2. 在创建连接页签需填写或选择以下信息,如已拥有 OceanBase 数据库连接串,则以下信息均可从连接串中直接获取(mysql -h 主机名 -P 端口号 -u 数据库用户名@租户名##集群名 -D 默认数据库 -p '数据库密码')或直接使用页签中提供的智能解析工具进行填充:
信息项说明
数据库类型选择 物理库逻辑库。 物理库:普通数据库。 逻辑库:ODP (Sharding)。
所属区域选择连接示例所在的区域 独立部署/专有云(在自己环境中搭建的数据库实例) 或 公有云(阿里云上的数据库实例)。
连接模式选择 MySQLOracle(逻辑库仅支持 MySQL 模式)。
连接名称指定该连接的名称。
设置标签通过标签,可为连接增加提示说明类信息。 单击 连接名称 文本框后的 设置标签 按钮为当前连接指定标签,在弹出的下拉列表中可进行设置标签和管理标签的操作: 设置标签:在下拉列表中选择目标标签完成设置。若列表为空请先新建标签。 管理标签:单击列表最下方的 新建标签 按钮或单击列表上方的设置图标以弹出 标签管理 窗口。在标签管理窗口可对已创建的标签进行编辑和删除操作。同时,可单击上方的 新建标签 按钮指定新标签的名称和图标颜色。
智能解析在文本框中粘贴连接串信息,ODC 会自动识别连接串并在窗口中填充各项连接信息。
连接地址主机名:连接的数据库所在服务器的 IP 信息。 端口号:连接的数据库所在服务器的端口号信息。 集群:连接的数据库所在集群的名称(逻辑库无需填写)。 租户:连接的数据库所在租户的名称(逻辑库无需填写)。 说明 主机名和端口号可从连接的数据库所在租户信息页面获取,如在公有云或 OCP 上创建的租户。
默认数据库连接 MySQL 租户中的数据库时,需填写该连接使用的默认数据库(连接 Oracle 租户时无需填写该项)。 说明 MySQL 模式下,如不指定默认库,则默认连接 information_schema 库。 如 information_schema 库连接失败,请将默认数据库设置为该用户有权限的库。
数据库账号数据库用户名:在租户中创建的账号(MySQL 模式下,该账户必须具有访问默认数据库的权限)。 数据库密码:在租户中创建的账号的密码。单击数据库密码框后的 测试连接 按钮,测试是否能够连接到目标数据库。 保存数据库密码: 关闭该项,连接信息中将不保存数据库密码信息。每次进入连接或测试连接时,需在弹出的密码弹窗中输入数据库密码以进入连接。 开启该项,连接信息将保存数据库密码信息,每次进入连接无需输入数据库密码。 说明 如配置信息有误,会出现异常提示,例如用户或密码不对、网络异常等。 用户只可连接本租户下的数据库,否则会报出测试失败的错误。
SQL 查询超时时间支持自定义 SQL 超时时间,SQL 查询超过指定的时间时查询自动终止(默认 60s)。
查询 sys 租户视图数据库类型为物理库时,请输入拥有查询 sys 租户视图权限的账号和密码,当 连接地址 中已指定 租户 为 sys 时,该项被自动填充。 账户:拥有 sys 租户视图查看权限的账号。 密码:账号对应的密码。 输入账户和密码信息后,单击密码框后的 测试连接 按钮测试账户信息是否正确。 说明 自 ODC V2.3.0 之后版本,导入导出功能需在创建连接的高级配置中设置 root@sys 用户。 自 ODC V2.4.1 之后版本,导入导出功能查询视图信息时取消 root@sys 账号强依赖(如未配置 root@sys 账号,ODC 部分对象如存储过程和函数等不支持导出功能;如配置 root@sys 账号,通过访问 sys 租户下的视图信息得到最优的数据路由策略,可提升导出速度)。
  1. 单击页面下方的 保存 按钮,即可将当前的配置信息持久保存在 ODC 连接列表中。再次登录 ODC 时,可在连接配置列表中直接选择该连接,保存连接配置时不要求测试连接一定成功。
  2. 在页签下方,ODC 同时提供 复制连接串 按钮。单击该按钮,ODC 会将当前编辑的连接信息复制为连接串格式以方便获取当前配置的连接信息。
  3. 如无需保存当前的连接配置,可单击页签下方的 取消 按钮,ODC 会弹出弹窗以确认是否退出当前新建连接窗口。

4.教程

4.1. SQL 控制台中隐藏的小技巧

本教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)SQL 控制台中隐藏的一些小技巧。

背景信息

基于 WebSQL,ODC 提供了 SQL 控制台作为数据库开发者编辑和诊断 SQL 的工作区。在 SQL 窗口中您可以对 SQL 及 PL 脚本进行运行和保存等操作,还会有对应页签展示脚本的各种执行详情和执行结果等诊断信息。在 SQL 窗口的编辑区域您可以体验到较多的细节,如窗口中会对数据库的关键字进行不同颜色的标识,其次还有输入自动提示、格式化等功能以提升您编辑 SQL 语句的效率。在编辑区域的下方是执行记录和结果两个展示页签,您可以在执行记录页签查看当前连接进程中每次执行语句的记录,并在结果页签中查看当前语句的执行结果。

本教程除了上述常见操作外,将向您介绍 SQL 控制台中一些容易被忽略的小技巧,这些操作将帮助您更便利在 SQL 控制台中进行开发管理任务。

切换事务提交模式

ODC 在 V2.3.2 版本之后 Oracle 模式下自动提交默认设置为关(OFF),所以您需要手动提交当前事务(MySQL 模式下自动提交默认设置为开)。同时,在事务手动提交模式下,您还需要设置变量 ob_trx_idle_timeout

大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

设置的时间,连接会被终止掉。

但是,您可以通过 ODC 切换事务提交的模式。

  1. 进入连接后,单击导航栏中的 会话 按钮,在下拉列表中选择 会话属性。

    进入 会话属性 页面后,在变量列表中选中变量 autocommit

    后单击工具栏中的编辑按钮以进入变量编辑页面。

  2. 在编辑页面的 选项中选择变量的值,ON(开)表示开启事务自动提交模式,OFF(关)表示开启事务手动提交模式。

    查看执行计划

    在 SQL 窗口的编辑区中编辑好您要执行的命令,在运行脚本前,选中一条命令然后单击工具栏中 计划 按钮,在弹出的面板中会展示您选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(EXPLAIN PLAN

    操作的结果),展示的执行数据可能与实际执行语句后的数据略有不用,您可以使用该功能评估 SQL 语句。

  3. 运行您在编辑区编写的语句,运行成功后,在结果集的工具栏中单击 计划 按钮查看当前 SQL 语句执行后的实际资源消耗及执行计划,可快速判断 SQL 语句的优劣。

    保存 SQL

  4. 在 SQL 窗口的编辑区中编写您的脚本。

  5. 单击 SQL 窗口工具栏中的 保存 SQL 按钮,在跳出的弹窗中为脚本指定名称,单击弹窗中的 确认 按钮完成脚本的保存。

  6. 在上方导航栏中单击 工作台 按钮,在弹出的列表中将鼠标放置在 已保存的脚本 标签上,在二级列表中会显示您之前保存的所有脚本。

  7. 在二级列表中,脚本名称的后面提供了 编辑删除 操作。单击 编辑 按钮,在弹窗中会展示脚本名称和脚本内容,进行修改后单击 确认 按钮以保存修改。

  8. 在二级列表中,单击脚本名称会生成对应的 SQL 窗口并在编辑区内展示脚本内容,您可以在窗口中继续对脚本进行编辑和运行等操作。

    设置界定符

    ODC 从 V2.2.0 版本后支持了 PL 能力并支持在 SQL 窗口中编辑 PL 语句,编辑时需要您首先自定义界定符。

  9. 在 SQL 窗口的工具栏中单击 设置 按钮。

  10. 在下拉列表的 Delimiter 框中选择您想要设置为界定符的符号。目前支持设置 ///\$\$\$ 等 5 种形式的界定符。

  11. 完成设置后,您可以在 SQL 窗口中开始编写 PL 语句,PL 语句编写完毕后使用选择的界定符作为结尾即可在 SQL 窗口中实现 PL 语句的编写与运行。

    ODC V2.4.1 版本后,您也可以在编辑区中使用 DELIMITER

语句直接定义界定符,设置 中的 Delimiter 项会回显您设置的界定符。

设置查询条数限制

  1. 在 SQL 窗口的工具栏中单击 设置 按钮。
  2. 在下拉列表的 查询结果限制 框中指定结果集返回数据的行数。该项的默认值为 1000 行。

4.2. 如何创建连接

本教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)中创建数据库连接的详细步骤。

背景信息

ODC 作为 OceanBase 数据库量身打造的企业级数据库开发平台可以与您的 OceanBase 数据库建立连接,然后对其中的数据库对象和资源进行编辑和管理。当您安装客户端版 ODC 或部署 Web 版 ODC 后,创建连接将是您要进行的一步重要操作。ODC 支持连接专有云和公有云环境中的 OceanBase 数据库,并支持连接 OceanBase MySQL 模式和 Oracle 模式。

前提条件

  • 安装客户端版 ODC 或部署 Web 版 ODC。Web 版 ODC 的部署请联系相关技术支持人员,客户端版 ODC 的安装,请参见 安装 ODC

  • 若使用 Web 版 ODC,在部署后请登录 ODC 以进入连接管理页面。详情请参见 登录 ODC

  • 获得连接实例的连接信息或连接串,本教程示例连接的连接串如下所示:

    -h100.0.0.0 -P8080 -uodc@oracle_tenant##odc_cluster -Dodc -p'Password01'

    操作步骤

  1. 在 ODC 首页 连接管理 页签中,单击 新建连接 按钮以弹出新建连接面板。

  2. 选择 所属区域。所属区域为被连接的实例所在的区域,有以下两种区域:

    • 公有云:阿里云上的数据库实例。
    • 独立部署/专有云:在您自己的环境中搭建的数据库实例。本教程的示例实例在专有云环境中,所以选择专有云。
  3. 选择 连接模式

    OceanBase 数据库支持 MySQL 模式和 Oracle 模式,选择被连接实例所属的模式(本教程的示例实例属于 Oracle 模式,因此选择 Oracle)。

  4. 指定 连接名称

    连接名称用来唯一标识一个连接,您需要自定义一个名称且不允许重复。本教程中指定名称为 Connection_Tutorial。

  5. 使用 智能解析 功能。

    若您拥有连接实例的连接串,可以直接将连接串粘贴进智能解析功能的文本框中,单击文本框中的 智能解析 按钮后,ODC 会根据连接串自动解析并填充 连接地址默认数据库数据库用户名数据库密码 等信息。

    说明

    如无连接串,可跳过本步骤,从步骤 6 开始手动填写上述信息。

  6. 填写 连接地址

    连接地址包含以下信息:

    • 主机名:连接实例所在服务器的 IP 信息。若您的实例在公有云上,可以在公有云控制台的租户信息页面获得主机名。本教程示例实例的 IP 信息为 100.0.0.0。
    • 端口号:连接实例所在服务器的端口号信息。若您的实例在公有云上,可以在公有云控制台的租户信息页面获得端口号信息。本教程示例实例的端口号为 8080。
    • 集群:连接实例所在集群的名称。本教程示例实例的集群名称为 odc_cluster。
    • 租户:连接实例所在租户的名称。本教程示例实例的集群名称为 oracle_tenant。
  7. 填写 默认数据库

    连接 MySQL 租户中的数据库时,可选填该连接要使用的默认数据库(连接 Oracle 租户中的数据库时则无需填写该项)。

    该项为选填项,不填写时默认连接到实例 information_schema。

  8. 填写 数据库用户名

    数据库用户名是在租户中创建的用户的名称,Oracle 模式下等同于填写 Schema 的名称,MySQL 模式下填写的数据库用户名必须有访问默认数据库的权限。本教程示例实例的数据库名称为 odc。

  9. 填写 数据库密码

    步骤 8 填写的数据库用户对应的密码。本教程示例实例的数据库名称为 Password01。

  10. 单击 测试连接。

    单击 数据库密码 项后提供的 测试连接 按钮,查看 ODC 是否可以根据上述连接信息成功连接到目标实例。连接成功与否不影响连接信息的保存。

  11. 选择是否关闭 保存数据库密码 功能。

    关闭该项时,连接信息中将不保存数据库密码信息。每次进入连接或测试连接时,需要在弹出的密码弹窗中输入数据库密码以进入连接。开启该项时,连接信息将保存数据库密码信息,每次进入连接无需输入数据库密码。

  12. 指定 SQL 查询超时时间

    ODC 支持自定义 SQL 超时时间,默认 60s,超过指定的时间时查询自动终止。

    ODC V2.3.2 后事务默认需要手动提交(之前版本默认自动提交),在手动提交模式下需要设置变量 ob_trx_idle_timeout

    大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

    设置的时间,连接会被终止。同时需要注意 ob_trx_idle_timeout

    设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

  13. 指定 查询 sys 租户视图

    在该项中可指定拥有 sys 租户视图查看权限的账号和对应的密码。ODC V2.3.0 后使用数据导入导出功能和查看分区信息功能时需要在此项配置 root@sys 账号,即 sys 租户下的 root 账号。 本教程示例实例的 root@sys 账号的密码为默认空密码,所以只在 账户 项填写 root 即可。填写完成后可单击该项下的 测试连接 按钮测试 root@sys 账号是否可以成功连接。

  14. 单击 保存 以保存连接信息。

    填写和配置完上述所有的连接信息后,单击右下角的 保存 按钮,可将当前 新建连接 页面中填写的连接信息保存并显示在 ODC 的首页 连接管理 页签中。以方便直接在 连接管理 页签中找到目标连接并进入连接实例。

4.3. 如何导出数据

本篇教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)中进行数据批量导出操作的详细步骤。

背景信息

为使数据库开发者更方便的维护数据库内的数据,ODC 提供批量导入导出和单表导入导出功能。通过导入导出可选择数据库中的对象以导入或导出其中的数据或结构。目前 ODC 支持的导出数据格式有 CSV 格式和 SQL 格式,支持的导入文件格式有 ZIP 压缩文件、SQL 文件(批量导入)和 CSV 文件(单表导入)。

创建导入或导出任务后,可进入任务中心下载导出文件和查看任务详情和日志等信息。

本教程以批量导出为例,介绍如何在 ODC 中导出数据的详细步骤。

前提条件

  • 确认字符集。OceanBase V2.2.30 及之后版本支持字符编码 UTF8、GBK、GB18030 和 UTF16 等。OceanBase V2.2.30 版本之前仅支持字符编码 UTF8(ODC 目前导出文件的编码为 UTF-8,暂不支持修改)。

  • 确认连接方式。在 ODC V2.2.1 及之前的低版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,直连时 ODC 不支持导入导出功能。

  • 配置 root@sys 账户。自 ODC V2.4.1 之后版本,可选择配置 sys 租户账号以提升导出导入速度。同时,导出时如已勾选表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

    操作步骤

  1. 进入 导出设置 面板。

    进入连接后,单击上方导航栏中的 工具 按钮,在下拉列表中选择 导出 后,弹出 导出设置 面板。

  2. 指定 任务名

    导出设置 面板中,ODC 会自动生成默认的任务名,格式为连接名模式名日期,可修改任务名自定义导出任务名称。

  3. 选择 导出内容

    ODC 目前支持 导出结构和内容仅导出数据仅导出结构 三种方式

    其中导出结构指是导出目标对象的定义语句,会生成 .sql 结尾的 SQL 文件。导出内容是导出对象中实际保存的数据,根据选择的 导出格式 不同生成的数据文件格式也不同。本教程选择导出内容为 导出结构和内容

  4. 选择 数据格式

    ODC 目前支持将数据导出为 CSV 格式SQL 格式。当 导出内容仅导出结构 时,无需选择数据格式。具体格式信息,请参见本手册中的 导出导入格式 (《用户指南》符号 使用工具符号 数据导出与导入)。本教程选择导出数据为 CSV 格式

  5. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需要在 文件编码 下拉框中选择需要的编码格式。

  6. 选择 导出对象

    导出对象 标签下的表格中勾选需导出的对象。表格中会展示 对象名称对象类型 信息,支持通过 对象类型 进行筛选和使用搜索框直接进行搜索。列表中支持批量选择和全选,您也可以对对象类型进行筛选。ODC 对导出的数据大小有限制,最大支持导出 2G 的数据(压缩前),超出部分无法导出。所以当您选择的对象中的数据累加超过 2G 时,最后生成的数据文件中数据将是不完整的。

  7. 进行 导出数据设置。

    导出内容 为仅导出结构时无需进行导出数据设置,该项包含以下设置项:

    • 使用全局快照:勾选该项后 ODC 将导出全局中指定表的最新快照点中的数据,勾选该项可以保证全局数据的统一性。

      批量提交数量:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。选择 数据格式 为 SQL 格式时,通过指定批量提交数量,可在导出文件中导出指定数量数据时添加一句 COMMIT

      命令。

    • 不导出的数据类型:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导出数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  8. 指定 CSV 格式信息。

    在步骤 4 中选择了 数据格式 为 CSV 格式,所以需要指定 CSV 格式信息。单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中指定以下信息:

    • 包含列头:该项默认勾选,选择导出数据为 CSV 格式时是否包含列头。
    • 空字符串转为空值:该项默认勾选,选择导出数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
    • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
    • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
    • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  9. 进行 导出结构设置

    在该项下选择是否 添加删除对象语句。勾选后在导出对象结构文件时,在对象的 CREATE

    语句前都会添加对应的 DROP

    语句。

  10. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导出速度。勾选后在弹出的 账户密码 文本框中填写 sys 账户和对应的密码。设置好该项后会使用 sys 租户的权限进行导出,可提升导出的速度。同时,导出时如果勾选了表和视图之外的其它对象,必须配置该项使用 sys 租户账号进行导出。

    注意

    OceanBase V2.2.30 之前版本仅支持字符编码 UTF8。

    ODC V2.2.1 及之前的低版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,直连时 ODC 不支持导入导出功能。 ODC V2.4.1 之后版本,可选择配置 sys 租户账号以提升导出导入速度。同时,导出时如已勾选表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

  11. 生成导出任务。

    选择所有需导出的对象完成后,单击面板右下角的 导出 按钮以生成导出任务。

    任务成功生成后 ODC 会自动跳转至任务中心,在任务中心可查看导出任务的运行状况。任务完成可下载导出的数据文件并查看任务详情和日志等信息。

4.4. 如何导入数据

本篇教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)中进行数据批量导入操作的详细步骤。

背景信息

为使数据库开发者更方便的维护数据库内的数据,ODC 提供批量导入导出和单表导入导出功能。通过批量导入导出您可以批量选择数据库中的对象以导入或导出其中的数据或结构,通过单表导入导出,您可以导出目标表中的数据。目前 ODC 支持的导出数据格式有 CSV 格式和 SQL 格式,支持的导入文件格式有 ZIP 压缩文件、SQL 文件(批量导入)和 CSV 文件(单表导入)。

创建导入或导出任务后,可进入任务中心下载导出文件和查看任务详情和日志等信息。

本教程以批量导入为例,介绍如何在 ODC 中导入数据的详细步骤。

前提条件

  • 确认字符集。OceanBase V2.2.30 及之后版本支持字符编码 UTF8、GBK、GB18030 和 UTF16 等。OceanBase V2.2.30 版本之前仅支持字符编码 UTF8。ODC 目前导出文件的编码为 UTF-8,暂不支持修改。

  • 确认连接方式。在 ODC V2.2.1 及之前的低版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,直连时 ODC 不支持导入导出功能。

  • 配置 root@sys 账户。自 ODC V2.4.1 之后版本,可选择配置 sys 租户账号以提升导出导入速度。同时,导出时如已勾选表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

    操作步骤

  1. 进入 批量导入 面板。

    进入连接后,单击上方导航栏中的 工具 按钮,在下拉列表中选择 导入 后,弹出 批量导入 面板。

  2. 指定 任务名

    导入设置 面板中,ODC 会自动生成默认的任务名,格式为连接名模式名日期,同时可在文本框中修改自动生成的任务名。

  3. 选择 导入格式。

    目前 ODC 支持的导入格式有 ZIP 压缩文件、SQL 文件(批量导入)和 CSV 文件(单表导入)。其中 SQL 格式和 CSV 格式是 OceanBase 导入导出工具特有的格式。具体格式信息,请参见本手册中的 导出导入格式 (《用户指南》符号 使用工具符号 数据导出与导入)。本教程选择导入格式为 ZIP 压缩文件

  4. 上传 导入文件

    单击文件池进入文件资源管理器选择要导入的文件,或者直接将文件拖入文件池中以完成文件上传。上传的文件格式需与所选的导入文件格式相同,ZIP 压缩文件支持上传 .zip 结尾的文件。SQL 文件支持上传 .sql 文件。上传的文件的格式需与步骤 3 中选择的 导入格式 相同。

  5. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。需在 文件编码 下拉框中选择所需的编码格式。

  6. 选择 导入内容

    ODC 目前支持 导入结构和内容仅导入数据仅导入结构 三种方式

    导入格式 为 ZIP 压缩文件时需指定该项。导入结构是指运行导入文件中的对象定义语句,导入后会在数据库中创建新的对象,导入数据是向指定对象中导入数据文件中的数据。本教程选择导入内容为 导出结构和内容

  7. 选择 数据格式

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持导入 CSV 格式SQL 格式 的数据。具体格式信息,请参见本手册中的 导出导入格式 (《用户指南》符号 使用工具符号 数据导出与导入)。本教程选择数据格式为 CSV 格式

  8. 进行 导入数据设置。

    导入格式 为 ZIP 压缩文件且 导入内容 为仅导入结构时无需进行导入数据设置。该项包含以下设置项:

    • 导入前清空数据:勾选该项后,导入数据时将首先清空目标对象中原有的数据。

      批量提交数量:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。通过指定批量提交数量,可在导入文件中导入指定数量数据时添加一句 COMMIT

      命令。

    • 跳过的数据类型:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导入数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  9. 进行 导入结构设置

    导入内容 为仅导入数据时,该项不可被指定。在该项下选择当对象结构已存在时的操作。选择 跳过 操作则在导入时跳过导入文件中的结构定义语句直接导入数据,该项会保留对象中的原数据。选择 替换 操作时则执行导入文件中的结构定义语句以重新创建并替换原对象,该项会清空对象中的原数据。

  10. 选择 任务错误处理 方式。

    ODC 提供 停止任务忽略错误继续任务 两种错误处理方式。需在 任务错误处理 标签下选择所需的处理方式。

  11. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导入速度。勾选后在弹出的 账户密码 文本框中填写 sys 账户和对应的密码。设置好该项后会使用 sys 租户的权限进行导入,可提升导入的速度。

  12. 生成导入任务。

    单击面板右下角的 导入 按钮以生成导出任务。

    任务成功生成后 ODC 会自动跳转至任务中心,在任务中心可查看导入任务的运行状况,任务完成后可查看任务详情和日志等信息。

4.5. 如何调试存储过程

本篇教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)中调试一个存储过程的详细步骤。

背景信息

PL 程序的开发工作是数据库服务开发人员重要的日常工作,与 SQL 语句的支持模块类似,PL 的调试模块同样为非常重要的功能。因此,在编程过程中,开发人员需要一个PL 开发区域和调试功能。

ODC V2.2.0 及之后版本支持 PL 对象和匿名块的创建、编译、运行和调试等功能。您可在匿名块窗口的编辑区域中编译 PL 语句,同时可对已创建的 PL 对象进行编辑和调试等操作。针对 PL 对象的调试,ODC 提供批量执行、单步执行、跳入、跳出、终止调试、重新调试和退出调试等功能,同时提供 参数堆栈和变量DBMS 输出断点调试日志 等页签查看调试产生的信息。

前提条件

  • 调试功能只支持 V2.2.73 及之后版本的 OceanBase 数据库 Oracle 模式。

  • ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。

  • 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。

  • 在调试前,请确保连接的数据库中已安装 DBMS_DEBUG 和 DBMS_OUTPUT 等调试包。

  • 按下述示例脚本创建示例存储过程 procedure_test:

    CREATE OR REPLACE PROCEDURE procedure_test
    (
    A IN NUMBER,
    B IN NUMBER,
    C OUT NUMBER
    ) IS
    BEGIN
    C:= A + B;
    dbms_output.put_line ( C / 2 ) ;
    END procedure_test;

    操作步骤

    存储过程 procedure_test 的结果是输出参数 C 除以 2 后的值,参数 C 的值等于参数 A 加参数 B,因此在程序运行后通过输出结果无法直接看到参数 C 的值。通过调试存储过程 procedure_test 可查看和验证参数 C 在程序运行中实际的值。

  1. 进入调试模式。

    进入连接后,在左侧的存储过程列表中查找目标存储过程 procedure_test 右键其名称,在弹出的列表中单击 调试 按钮开始调试(或可在列表中先单击 编辑 按钮进入对象编辑页面,在编辑页面的工具栏中单击调试图标调试开始调试)。

  2. 设置参数。

    存储过程 procedure_test 中包含三个参数,A 和 B 为输入参数,C 为输出参数。

    1. 存在输入参数时,在调试时需首先设置参数的值。因此开始调试时,ODC 会首先弹出 设置参数 页面,请在该页面为输入参数赋值:指定参数 A 的值为 2,参数 B 的值为 4。

    2. 输入值后单击 确定,完成参数设置。

      Image 223

  3. 进入调试页面。

    参数设置完成后,即可进入调试页面。

    调试页面编辑区下的 参数 页签显示该程序在运行前设置的所有的参数定义信息(参数名、模式和类型)及对应的值,其中对应的值会根据调试过程作出相应的变化。

    在调试页面的工具栏中 ODC 提供了以下功能键:

    1. 批量执行:批量运行至最近断点,若无断点直接运行至结尾语句。
    2. 单步执行:单步执行,不会进入子程序。
    3. 跳入:单步执行,若当前行是调用已定义的存储程序或函数,则会进入被调用的子程序。
    4. 跳出:在子程序内,执行跳出操作后,返回到上层调用位置的下一行;主程序内运行跳出,效果和 自动调试 相同。
    5. 终止调试:继续运行直到结束,会跳过后续设置的断点。
  4. 设置断点。

    设置断点用于在程序运行时中断在所需位置,从而方便分析程序。在 ODC 中通过单击编辑区中的行号设置断点:

    请在示例程序中,单击第 9 行语句 dbms_output.put_line ( C / 2 );

    的行号,设置一个断点;

    1. 在编辑区下的 断点 页签中,会展示在程序中所有设置的断点的 PL 对象名称行号 等信息,同时提供 取消查看 断点操作。

      说明

      内核不支持在注释行和 begin、end 等关键字行处设置断点。

  5. 开始调试。

    设置完断点后,单击工具栏中的批量执行图标调试-批量执行,程序将按步骤开始执行并在断点处终止。或可单击单步执行图标调试-单步执行(单击一次单步执行,程序向后执行一步)。

  6. 查看调试信息。

    程序此时终止在第 9 行,可在编辑区下的 堆栈和变量 页签查看当前栈上的变量与其对应的值。因设置断点,程序此时终止在了第 9 行,所以在 堆栈和变量 页签显示变量 C 的值为 6。在 调试日志 页签中可查看调试开始、调试结束、断点添加、断点取消等操作的记录和错误日志。

  7. 终止调试。

    单击工具栏中终止调试图标调试-终止调试后,程序将继续运行至结束并跳过后续设置的断点。

    因程序中包含 PL 输出语句 dbms_output.put_line

    ,所以当程序运行结束后,在编辑区下的 DBMS 输出 页签中会显示输出结果参数 C 除以 2 的值。此时页签中显示值 3,说明程序执行无误。

  8. 重新调试。

    运行结束后,如需对当前对象再次发起新一轮的调试,可单击工具栏中的 重新调试 按钮。此时上一轮调试运行后的信息与断点将被清空,可再次进行设置并开始调试。

  9. 退出调试。

    当通过调试已完成程序的分析后,可单击工具栏中的 退出调试 按钮以退出调试页面。

4.6. 如何查看 SQL 性能

本篇教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)中查看 SQL 性能的详细步骤。

背景信息

SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,大多数数据库开发者依赖 SQL 语言对数据库内容进行管理与开发。所以 SQL 的性能一定程度上会影响数据库的性能,SQL 本身提供了执行计划命令(EXPLAIN

命令 )供用户查看语句在数据库中具体的执行步骤并以此作为判断 SQL 性能和改进 SQL 语句的依据。

OceanBase 开发者中心(OceanBase Developer Center,ODC)作为一款强大的企业级数据库开发平台,提供了图形化查看 SQL 语句执行计划的功能。借助 ODC 您可以更直观便捷查看 SQL 语句的执行情况并分析 SQL 语句的性能。

前提条件

运行下述语句,创建示例表 employees:

CREATE TABLE employees(
emp_id INTEGER,
emp_name VARCHAR(20),
manager_id INTEGER
);

INSERT INTO employees VALUES ( 1, 'Anna', 6 ) ;
INSERT INTO employees VALUES ( 2, 'Brain', 4 ) ;
INSERT INTO employees VALUES ( 3, 'Candy', 4 ) ;
INSERT INTO employees VALUES ( 4, 'David', 5 ) ;
INSERT INTO employees VALUES ( 5, 'Eva', NULL) ;
INSERT INTO employees VALUES ( 6, 'Frank', 5 ) ;
INSERT INTO employees VALUES ( 7, 'Gary', 6 ) ;

操作步骤

进入连接后,在 SQL 窗口的编辑区中输入下述 ​SELECT

​ 命令查看表 employees 中的数据。

SELECT * FROM employees;

  1. 单击编辑区工具栏右上角的 计划 按钮。

    在运行命令前,可以先通过编辑区中的 计划 按钮,查看当前编辑区选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(EXPLAIN PLAN

    操作的结果),展示的执行数据可能与实际执行语句后的数据略有不用,但是可以使用该功能预先评估 SQL 语句。

  2. 在弹出的 计划详情 面板中,查看 SQL 运行前预估的执行计划。

    计划详情 面板中的 计划统计 页签会展示以下信息:

    • 算子:常见算子包含表访问(TABLE SCAN 和 TABLE GET)、连接(NESTED-LOOP、BLK-NESTED-LOOP、MERGE 和 HASH)、排序(SORT 和 TOP-N SORT)、聚合(MERGE GROUP-BY、HASH GROUP-BY 和 WINDOW FUNCTION)、跨分区(EXCHANGE IN、OUT REMOTE 和 DISTRIBUTE)、集合(UNION、EXCEPT、INTERSECT 和MINUS)、其他(LIMIT、MATERIAL、SUBPLAN、EXPRESSION 和 COUNT)。
    • 名称:该算子涉及的对象名称。
    • 预估行:该算子向上输出的记录数,越大说明情况越不理想。
    • 代价:花费的代价,越大说明情况越不理想。
    • 输出过滤(附加信息):目前只有 TABLE SCAN 算子有这部分内容,该部分会提供一些更详细的信息。
  3. 运行语句。

    单击工具栏中的 运行 按钮,执行 ​SELECT

    ​ 语句。

  4. 在结果集的工具栏中单击 计划 按钮查看执行后的执行计划。

    此时在弹出的 执行详情 中,展示的是语句执行后实际的执行计划。

  5. 执行详情 面板查看语句的 基本信息

    基本信息 模块主要展示了以下信息:

    • SQL ID:相同 SQL 的唯一标识。
    • SQL:具体执行的 SQL 文本。
    • TRACE ID:该执行 SQL 的全局唯一标识。
    • 请求到达时间:数据库接收到 SQL 请求的时间点
    • 计划类型:有本地、远程、分布式三种,性能依次下降。
    • 是否命中缓存:是否使用的是已经存在的执行计划(命中可避免硬解析,效率会高)。
  6. 执行详情 面板查看语句的 耗时统计

    耗时统计 模块通过条形图形象的展示了以下信息及它们之间的占比:

    • 排队时间:SQL 在等待队列中时间,如果排队时间过长,可能存在 CPU 资源争用。
    • 执行时间:SQL 的实际执行耗时(包含内部等待时间)。
    • 其它:通过数据库收到请求到执行结束消耗时间减去排队时间再减去执行时间得到,如果该值过大,需检查下网络、磁盘是否正常。
  7. 执行详情 面板查看语句的 IO 统计。

    IO 统计 模块主要展示了以下信息:

    RPC 次数:发送 RPC 的个数。OceanBase 集群作为一个分布式系统,机器间的通信是通过 RPC 完成的,如果执行计划中 rpc_count

    的值过高,意味着执行的 SQL 需要频繁的进行多机通信,才能完成该 SQL 请求。需要具体分析 SQL 需要访问的数据是否分布在多台机器上,RPC 过高一般是因为远程执行或分布式执行过多,需进一步检查 SQL 执行状态。

    • 物理读次数:读取物理磁盘上数据的次数,该值不为 0,可能原因有内存不够、索引不优 和 SQL 本身获取的结果集过大等三种原因。建议查看 SQL 和索引是否存在优化空间。
    • SSSTORE 中读取的次数:SSTABLE 中读取的行数,如果该值过大,需注意该 SQL 是否获取的结果集过大或者索引是否友好。
  8. 执行详情 面板查看语句的 计划统计。

    计划统计 页签结构化的展示了语句执行后的执行计划。它同 计划详情 页面中的结构一样,详情可查看步骤 3 中 计划统计 的信息。

  9. 执行详情 面板查看语句的 大纲

    大纲 页签展示了执行计划返回的结果中 OUTLINE DATA

    对应的内容。这部分内容是优化器为了完全复现某一计划而生成的一组 Hint 信息。

5.用户指南(Web 版 ODC)

5.1. 登录 ODC

5.1.1. 登录账号

OceanBase 开发者中心(OceanBase Developer Center,ODC)的登录操作,旨在通过登录账号对用户进行标识,后续对数据库的连接配置以及保存工作区的 SQL 脚本等功能,均依赖于用户标识。

进入 OceanBase 开发者中心,登录界面如下图所示,在登录界面输入账号和密码后,单击 登录 按钮进入 ODC 首页:

登录 ODC

登录 ODC 并进入首页的连接管理页面后,在顶部导航栏的右上角会显示当前登录的账户名,单击账户名,在弹出的下拉菜单中单击 退出登录 按钮将返回 ODC 登录界面,可重新登录其它 ODC 账号。

说明

  • 用户首次登录的用户名和密码从管理员处获取。
  • 管理员默认登录用户名:admin,默认密码:aaAA11__
  • 如从 ODC 旧版本升级至 V3.2.0 及以上版本,出现 admin 等用户冲突,需手动修改原用户名称。具体方法,请参见 常见问题符号带底纹Web 版 ODC 启动问题。
5.1.2. 修改密码
  1. 登录 Web 版 OceanBase 开发者中心(OceanBase Developer Center,ODC)后,在首页的顶部导航栏的右上角,单击当前登录账号,并选择 修改密码

    修改密码

  2. 在弹出的 修改密码 窗口中,指定以下信息以修改密码:

    修改密码弹窗

    • 原密码:该账号原密码。
    • 新密码:设置新密码。
    • 确认密码:再次输入新密码,确认设置无误。
  3. 上述信息设置完成后,单击 确认 按钮,完成修改密码。

5.2. ODC 首页

概述

登录 OceanBase 开发者中心(OceanBase Developer Center,ODC)后,进入 ODC 首页。

在 ODC 首页上方的导航栏中可查看 任务操作记录帮助,并进行数据库连接管理、语言切换、个人设置、修改账户密码和退出登录等操作。同时,首页中可查看使用指南、相关工具和相关资源等信息。

Image 878

数据库连接管理

首页中可查看 个人连接公共连接 页签,页签中以列表的形式展示所创建的个人连接和被授予访问的公共连接信息。

  • 个人连接:个人连接页签中,可通过 全部模式 筛选 MySQL 或 Oracle 模式。更多详情,请参见 管理个人连接

  • 公共连接:公共连接页签中,可通过 全部模式 筛选 MySQL 或 Oracle 模式并通过 全部权限 筛选只读或读写权限,单击 立即进入,进入公共资源管理页面。更多详情,请参见 公共连接管理

    公共资源管控台

    作为企业数据库开发平台,ODC 提供公共资源管控台的服务,方便 ODC 管理员进行用户的管理与权限和资源的分配。

注意

仅被授予管理员角色的 ODC 用户可在 ODC 首页查看 公共资源管控台 页签,非管理员用户首页不显示此页签。

公共资源管控台 页签,单击 立即进入,进入公共资源管理页面。

管控台中提供用户管理、角色管理、公共连接管理、资源组管理和系统设置等服务。

其中用户需通过角色授予公共资源和个人资源权限。同时使用资源组可以批量授予或回收一批公共连接的权限。详情请参见 公共资源管理

语言切换

在 ODC 登录页面和 ODC 首页的右上角会显示应用的显示语言,默认为 简体中文,单击该标签可切换应用的显示语言。目前 ODC 支持 English(英文)、简体中文繁体中文 等三种显示语言。

个人设置

ODC 首页顶部导航栏的右上角会显示当前登录账号,单击账号在弹出的下拉菜单中选择 个人设置 以弹出 编辑个人设置 面板。

在面板中可全局统一修改支持自定义的功能设置。同时可在每个连接中分别对这些功能进行独立设置,独立设置仅对当前连接生效。个人设置的优先级低于每个连接中的独立设置且持久保存。

Image 698

面板中支持进行以下全局设置:

设置说明
SQL 窗口 Session 模式设置 SQL 窗口的 Session 模式。
界定符设置设置在 SQL 窗口内运行 PL 语句时默认使用的 Delimiter 符号。目前支持设置 ;///\$\$\$ 等 5 种形式的界定符。
Oracle 事务提交模式设置 Oracle 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
MySQL 事务提交模式设置 MySQL 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
结果集查询条数限制设置 SQL 窗口内执行 SQL 语句默认返回的结果行数。
对象拖放生成语句类型设置拖放表/视图对象时默认生成的语句类型。

修改密码

ODC 首页顶部导航栏的右上角可查看当前登录账号,单击账号,在弹出的下拉菜单中单击 修改密码 按钮会弹出 修改密码 弹窗,具体操作请参见 修改密码

退出登录

单击登录账号,在弹出的下拉菜单中单击 退出登录 按钮,将退出首页返回 ODC 登录页面。

使用帮助

在 ODC 首页右侧的 使用帮助 页签中,可直接查看 ODC 常用操作的教程文档,以及当前版本的新增功能与常见问题等信息。

在页签中单击需查看的文档,在弹出的窗口中会展示文档的介绍信息与跳转链接,可选择查看本地 PDF 或是跳转至官网查看文档。

相关工具

在 ODC 首页右侧的 相关工具 页签中,可查看 OceanBase 产品家族中其它相关的产品介绍。在页签中单击需查看的工具,在弹出的窗口中会展示该工具的介绍信息与官网跳转链接。

相关资源

在 ODC 首页右侧的 相关资源 页签中,可查看 OceanBase 运营的或包含 OceanBase 信息的相关资源。

目前在页签中可访问 OceanBase 官网OceanBase 社区OceanBase 阿里云OceanBase 学院 等资源。

5.3. 连接数据库

5.3.1. 创建个人连接

概述

登录 OceanBase 开发者中心(OceanBase Developer Center,ODC)并进入 ODC 首页,可在 个人连接 页签的右上角单击 新建连接 按钮创建个人连接。

创建完成后,再次进入 ODC 时,可在连接列表中查看已保存的数据库连接。

Image 801

注意

  • 自 ODC V2.3.0 版本起,导入导出功能需在创建连接的高级配置中设置 root@sys 用户,否则会提示无法使用导入导出功能,因自该版本起,导入导出功能查询视图信息时依赖 root@sys 账号。

  • 分区信息查看同样依赖 root@sys 账号,因此如需展示表的分区信息须在创建连接的高级配置中设置 root@sys 用户。

  • 自 ODC V3.3.0 版本起,ODC 支持独立 Session 模式和共享 Session 模式。

    独立 Session 模式下,每个 SQL 窗口对应一个数据库会话,所有的修改只会影响当前窗口;共享 Session 模式下,所有的 SQL 窗口共享同一个数据库会话,任意 SQL 窗口的修改均会影响到其它 SQL 窗口。

    事务手动提交模式下,需设置 ob_trx_idle_timeout

    大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

    设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout

    设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    操作步骤

    创建连接的操作步骤如下所示:

  1. 进入 ODC 后,单击 个人连接 页签右上角的 新建连接 按钮。
  2. 在创建连接页签需填写或选择以下信息,如已拥有 OceanBase 数据库连接串,则以下信息均可从连接串中直接获取(mysql -h 主机名 -P 端口号 -u 数据库用户名@租户名##集群名 -D 默认数据库 -p '数据库密码')或直接使用页签中提供的智能解析工具进行填充:
信息项说明
数据库类型选择 物理库逻辑库。 物理库:普通数据库。 逻辑库:ODP (Sharding)。
所属区域选择连接示例所在的区域 独立部署/专有云(在自己环境中搭建的数据库实例) 或 公有云(阿里云上的数据库实例)。
连接模式选择 MySQLOracle(逻辑库仅支持 MySQL 模式)。
连接名称指定该连接的名称。
设置标签通过标签,可为连接增加提示说明类信息。 单击 连接名称 文本框后的 设置标签 按钮为当前连接指定标签,在弹出的下拉列表中可进行设置标签和管理标签的操作: 设置标签:在下拉列表中选择目标标签完成设置。若列表为空请先新建标签。 管理标签:单击列表最下方的 新建标签 按钮或单击列表上方的设置图标以弹出 标签管理 窗口。在标签管理窗口可对已创建的标签进行编辑和删除操作。同时,可单击上方的 新建标签 按钮指定新标签的名称和图标颜色。
智能解析在文本框中粘贴连接串信息,ODC 会自动识别连接串并在窗口中填充各项连接信息。
连接地址主机名:连接的数据库所在服务器的 IP 信息。 端口号:连接的数据库所在服务器的端口号信息。 集群:连接的数据库所在集群的名称(逻辑库无需填写)。 租户:连接的数据库所在租户的名称(逻辑库无需填写)。 说明 主机名和端口号可从连接的数据库所在租户信息页面获取,如在公有云或 OCP 上创建的租户。
默认数据库连接 MySQL 租户中的数据库时,需填写该连接使用的默认数据库(连接 Oracle 租户时无需填写该项)。 说明 MySQL 模式下,如不指定默认库,则默认连接 information_schema 库。 如 information_schema 库连接失败,请将默认数据库设置为该用户有权限的库。
数据库账号数据库用户名:在租户中创建的账号(MySQL 模式下,该账户必须具有访问默认数据库的权限)。 数据库密码:在租户中创建的账号的密码。单击数据库密码框后的 测试连接 按钮,测试是否能够连接到目标数据库。 保存数据库密码: 关闭该项,连接信息中将不保存数据库密码信息。每次进入连接或测试连接时,需在弹出的密码弹窗中输入数据库密码以进入连接。 开启该项,连接信息将保存数据库密码信息,每次进入连接无需输入数据库密码。 说明 如配置信息有误,会出现异常提示,例如用户或密码不对、网络异常等。 用户只可连接本租户下的数据库,否则会报出测试失败的错误。
SQL 查询超时时间支持自定义 SQL 超时时间,SQL 查询超过指定的时间时查询自动终止(默认 60s)。
查询 sys 租户视图数据库类型为物理库时,请输入拥有查询 sys 租户视图权限的账号和密码,当 连接地址 中已指定 租户 为 sys 时,该项被自动填充。 账户:拥有 sys 租户视图查看权限的账号。 密码:账号对应的密码。 输入账户和密码信息后,单击密码框后的 测试连接 按钮测试账户信息是否正确。 说明 自 ODC V2.3.0 之后版本,导入导出功能需在创建连接的高级配置中设置 root@sys 用户。 自 ODC V2.4.1 之后版本,导入导出功能查询视图信息时取消 root@sys 账号强依赖(如未配置 root@sys 账号,ODC 部分对象如存储过程和函数等不支持导出功能;如配置 root@sys 账号,通过访问 sys 租户下的视图信息得到最优的数据路由策略,可提升导出速度)。
  1. 单击页面下方的 保存 按钮,即可将当前的配置信息持久保存在 ODC 连接列表中。再次登录 ODC 时,可在连接配置列表中直接选择该连接,保存连接配置时不要求测试连接一定成功。
  2. 在页签下方,ODC 同时提供 复制连接串 按钮。单击该按钮,ODC 会将当前编辑的连接信息复制为连接串格式以方便获取当前配置的连接信息。
  3. 如无需保存当前的连接配置,可单击页签下方的 取消 按钮,ODC 会弹出弹窗以确认是否退出当前新建连接窗口。
5.3.2. 管理个人连接

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页中,可查看所创建的 个人连接 信息和被授权访问的 公共连接 信息。连接信息以列表的形式显示以供查看和管理所有连接信息。

首页

查看个人连接信息

个人连接 页签的右上角,连接信息以列表的形式进行显示:

  • 可通过列表上方的刷新按钮可刷新列表信息。

  • 通过 全部模式 筛选 MySQL 或 Oracle 模式。

  • 同时可通过搜索框直接查找目标连接。

  • 支持调整连接列表的列宽。

    个人连接列表中直接显示了以下连接信息:

信息项说明
连接名显示连接的名称、主机名/端口号信息,单击连接名称可进入数据库连接。 其中连接名称前会通过图标显示该连接的状态,绿色图标表示有效连接,红色图标表示失效连接,灰色图标表示连接未保存数据库密码信息。
集群显示并筛选集群信息。 单击筛选图标筛选,可筛选所属集群信息(勾选 ,可筛选出无所属集群的连接)
租户显示并筛选租户信息。 单击筛选图标筛选,可筛选所属租户信息(勾选 ,可筛选出无所属租户的连接)。
标签列表中支持自定义标签内容并将标签指派给目标连接,每个连接只能设置一个标签。
操作时间显示对连接进行 编辑 操作的时间,如未对连接进行过编辑操作则显示的时间为连接的创建时间。
操作单击更多图标,显示 打开编辑复制删除 功能键。

查看历史记录

个人连接 页签的右上角,单击 历史记录 标签以弹出 历史打开窗口 面板。

历史记录

面板显示以下信息:

信息项说明
连接名您访问过的连接的名称。
库名/Schema显示访问连接后进入的数据库或 Schema 的名称。
最近打开时间最近一次访问该连接的时间。
SQL/PL 窗口显示此次访问创建的工作台窗口,将数据放置在对应窗口名上,将显示您在窗口中编辑过的脚本。
操作提供 打开 操作键,单击该按钮在新窗口中恢复当前连接,对应的工作台窗口和其中的内容也会被恢复。

说明

面板中的历史记录信息默认保存 48 个小时,您可通过该入口快速恢复未保存的 SQL 窗口的内容。

设置标签

ODC 支持自定义标签并将标签指派给目标连接,每个连接只能设置一个标签。可也可在连接创建完成后在连接列表中将鼠标放置在目标连接的标签项上,单击浮现的 设置标签 按钮,在弹出的下拉列表中进行新建标签、设置标签和管理标签的操作。

  • 新建标签:通过两种方式新建标签

    • 新建连接面板新建:新建连接时,在 新建连接 面板单击 连接名称 文本框后的 设置标签 按钮进行设置。
    • 连接列表中新建:将鼠标放置在目标连接的标签项上,单击浮现的 设置标签 按钮,在弹出的下拉列表中,单击 新建标签 按钮。在弹出的 标签管理 页面中指定标签的名称和颜色,完成指定后单击对勾图表完成新建。
  • 设置标签:弹出的下拉列表会显示您所有创建过的标签,在下拉列表中选择目标标签完成设置。

  • 管理标签:在弹出的下拉列表中,单击右上角的设置图标弹出 标签管理 窗口。在标签管理窗口可对创建好的标签进行编辑和删除操作。

    置顶个人连接

    连接列表默认按对连接的创建时间进行排序,最新创建的连接显示在列表最上方。列表无法进行自定义排序,但可将常用的连接进行置顶。

    在列表中找到目标连接,单击连接名称后的旗标首页-顶置连接名可将连接置顶,置顶后旗标将被点亮为黄色,再次单击旗标取消置顶。

    编辑个人连接

    单击目标连接 操作 项下的 编辑 按钮弹出 编辑连接 面板,面板与 新建连接 面板的结构相同并显示当前连接的配置信息。可在 编辑连接 面板中直接对显示的信息进行修改。

    修改 数据库密码 时,需先单击密码框后的 修改密码 按钮,密码才可被修改。修改过程中如想放弃本次修改,则继续单击密码框后的 取消修改 按钮,密码框的内容就会被重置回修改前的状态。

    复制个人连接

    单击目标连接 操作 项下的 复制 按钮会弹出 新建连接 面板,且面板中会自动填充当前连接的配置信息,旨在已有的信息基础上,简单修改连接信息以快速新建连接。

    使用复制功能可有助于快捷创建类似连接信息的数据库连接。

    删除个人连接

    单击目标连接 操作 项下的 删除 按钮以删除当前的连接配置。

    例如连接的数据库已不存在或后续不再继续访问该数据库时,可直接删除当前的连接配置。

    其它操作

    个人连接 页签中提供的上述管理操作,在进入数据库连接后,工作台顶部导航栏的主页菜单主页菜单按钮同时会提供以下与连接相关的操作:

  • 新窗口打开连接:在弹出的连接列表中单击需进入的连接,ODC 会生成一个新窗口并进入目标连接。

  • 连接管理:生成新窗口并进入 ODC 首页以查看和管理所有的连接配置信息。

  • 重新加载:重新加载当前页面。

  • 退出连接:退出当前连接并跳转至 ODC 首页。

    Image 031

    在工作台顶部导航栏的左上方,会显示连接名称和 Schema(Oracle 模式)或数据库名称(MySQL 模式)等信息。

  • 将鼠标放置在上方导航栏的连接名称上,弹出的信息框会显示 连接模式主机名/端口集群/租户数据库用户名 等信息。

    管理个人连接-其它操作

  • 单击显示 Schema 名称或数据库名称的下拉弹窗,在弹出的列表中会显示当前数据库用户可进入的 Schema 或数据库,在列表中单击 Schema 或数据库的名称,可切换至目标 Schema 或数据库中。

    管理个人连接-连接内切换连接名

    相关信息

    在 ODC 首页的公共连接页签中,可查看被授权访问的公共连接。

    关于公共连接的创建与管理,请参见 公共连接管理

5.4. 公共资源管理

5.4.1. 概述

作为企业数据库开发平台,OceanBase 开发者中心(OceanBase Developer Center,ODC)提供公共资源管控台的服务方便 ODC 管理员进行用户的管理与权限和资源的分配。

被授予管理员角色的 ODC 用户在 ODC 首页右侧可以看到 公共资源管控台 页签,非管理员无法看到该页签。管控台中提供用户管理、角色管理、公共连接管理、资源组管理和系统设置等服务。

除内置的管理员角色 system_admin 外,管理员需首先在角色管理中创建所需角色并为角色分配合适的权限。然后,在用户管理中管理员可以为组织中的用户批量创建新的 ODC 账户并进行角色的分配以实现权限的分配和管控。

ODC 用户获得数据库连接信息后可在 ODC 中创建个人连接,个人连接只有用户自己可以访问。在企业的实际应用场景中出于安全考虑并不能分享数据库连接信息给所有用户,管理员可在 ODC 中创建公共连接,创建完成后还可以将多个公共连接组合起来建为资源组,然后您可以将公共连接或资源组授权给指定角色,公共连接将直接分享给所属角色的所有用户,而无需直接分享连接信息给所有用户。

在系统设置中,管理员可进行全局的功能设置。

本章将分篇介绍公共资源管控台提供的功能:

  • 快速入门
  • 用户管理
  • 角色管理
  • 公共连接管理
  • 资源组管理
  • 任务流程
  • 操作记录
  • 系统设置
5.4.2. 快速入门

本文档旨在帮助用户快速了解和使用公共资源管控台。

概述

通过 ODC 首页的 公共资源管控台 页签,可 立即进入公共资源管控台 页面(默认进入 快速入门 页面)。

公共资源管控台-快速入门

公共资源管控台功能

ODC 公共资源管控台用于管理用户资源权限,规范配置风险任务流程,保障数据资源的安全管控。

  • 资源权限管理:为不同角色的用户分配公共连接、资源组的读写权限,实现数据库资源权限的分配和管控。

  • 任务流程管理:根据任务类型限制用户发起的变更内容、定制不同的审批流程,达到数据库变更安全的目的。

  • 安全审计管理:支持个人设置、密码管理、连接管理和数据库操作等 14 类审计事件类型,确保安全合规,重要事件可追踪,审计报告可下载。

    管理资源权限

  1. 添加公共连接资源。

    管理员可创建或编辑由多个用户共享的公共连接资源

  2. 设置资源组。

    包含多个公共连接,适用于将多个公共连接资源批量授权给角色。

  3. 管理角色权限。

    角色赋予多个公共连接资源权限和个人资源权限。

  4. 创建用户。

    设置用户账号密码,并通过角色授予相关连接资源权限。

5.4.3. 资源权限

######## 5.4.3.1. 公共连接管理

概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持创建个人连接和公共连接。个人连接是用户获得数据库连接信息后在 ODC 中自己创建的连接,但在企业的实际应用场景中出于安全考虑并不能分享数据库连接信息给所有用户,因此管理员可在 ODC 中创建公共连接,并将公共连接添加到指定资源组,从而用户能够访问资源组下的公共连接。

进入 公共资源管控台 页面后,在左导航栏中单击 资源权限,在弹出列表中单击 公共连接管理 以进入 公共连接管理 页面。

公共连接管理

公共连接管理

新建公共连接

公共连接管理 页面右上角,单击 新建公共连接 按钮,以弹出 新建公共连接 面板。

新建公共连接 面板中需指定以下信息以创建新的公共连接。

信息项说明
数据库类型选择 物理库逻辑库。 物理库:普通数据库。 逻辑库:ODP (Sharding)。
所属区域选择连接示例所在的区域 独立部署/专有云(在自己环境中搭建的数据库实例) 或 公有云(阿里云上的数据库实例)。
连接模式选择 MySQLOracle(逻辑库仅支持 MySQL 模式)。
连接名称指定该连接的名称。
所属资源组单击文本框,在弹出的下拉列表中选择已创建好的资源组,更多关于资源组的详细信息,请参见 资源组管理
连接状态连接状态默认是 启用,可以手动更改为 停用。被停用的连接将不能被访问。
智能解析在文本框中粘贴连接串信息,ODC 会自动识别连接串并在窗口中填充各项连接信息。
连接地址主机名:连接的数据库所在服务器的 IP 信息。 端口号:连接的数据库所在服务器的端口号信息。 集群:连接的数据库所在集群的名称(逻辑库无需填写)。 租户:连接的数据库所在租户的名称(逻辑库无需填写)。 说明 主机名和端口号可从连接的数据库所在租户信息页面获取,如在公有云或 OCP 上创建的租户。
默认数据库连接 MySQL 租户中的数据库时,需填写该连接使用的默认数据库(连接 Oracle 租户中的数据库时则无需填写该项)。
读写账号指定拥有数据库读写权限的 数据库用户名数据库密码 信息。指定后,拥有读写权限的 ODC 账户将使用该数据库账号访问数据库。 单击数据库密码框后的 测试连接 按钮,测试账户信息是否正确。
只读账号指定拥有数据库只读权限的 数据库用户名数据库密码 信息。指定后,拥有只读权限的 ODC 账户将使用该数据库账号登录数据库。 单击数据库密码框后的 测试连接 按钮,测试账户信息是否正确。
SQL 查询超时时间支持自定义 SQL 超时时间,默认 60 s,超过指定的时间时查询自动终止。
查询 sys 租户视图数据库类型为物理库时,请输入拥有查询 sys 租户视图权限的账号和密码,当 连接地址 中已指定 租户 为 sys 时,该项被自动填充。 账户:拥有 sys 租户视图查看权限的账号。 密码:账号对应的密码。 输入账户和密码信息后,单击密码框后的 测试连接 按钮测试账户信息是否正确。 ODC V2.3.0 之后版本使用数据导入导出和查看分区信息功能时需在此项配置 root@sys 账号。

指定上述信息后,单击面板右下角的 新建 按钮完成连接的创建。

注意

单击 新建 按钮,如出现以下情况会弹出风险提示对话框:

  • 读写账号不连通。

  • 读写账号权限不足。

  • 只读账号不连通。

  • 只读账号超出权限。

    管理公共连接

    进入 公共连接管理 页面后,连接信息以列表的形式进行显示:

  • 通过刷新按钮可刷新列表信息。

  • 通过列表右上角的搜索栏搜索目标连接。

  • 通过 全部模式 筛选 MySQL 或 Oracle 模式。

  • 支持调整连接列表的列宽。

    公共连接列表

    公共连接列表中的基本信息如下所示,且列表中的每一列均提供筛选器以供按列筛选连接。

信息项说明
连接 ID公共连接序号。 单击 连接 ID,可根据 ID 号进行升序或降序。
连接名显示连接的名称、主机名/端口号信息,单击连接名称可进入数据库连接。 其中连接名称前会通过图标显示该连接的状态:绿色图标表示有效连接;红色图标表示失效连接;灰色图标表示连接未保存数据库密码信息。 单击 连接名,可升序或降序。
集群显示并筛选集群信息。 单击筛选图标筛选,可筛选所属集群信息(勾选 ,可筛选出无所属集群的连接)
租户显示并筛选租户信息。 单击筛选图标筛选,可筛选所属租户信息(勾选 ,可筛选出无所属资源组的连接)。
所属资源组显示并筛选连接所属的资源组的名称。 单击筛选图标筛选,可筛选所属资源组的连接(勾选 ,可筛选出无所属资源组的连接)。
状态显示当前连接状态(启用/停用)。 单击筛选图标筛选,可筛选状态。
操作时间显示上一次对公共连接进行 编辑 操作的时间,如未对公共连接进行过 编辑 操作则显示的时间为公共连接的创建时间。
操作显示 查看编辑、复制停用/启用 功能键。 查看:查看当前连接的配置信息; 编辑:修改当前连接的配置信息; 复制:根据当前连接的配置信息,快速修改和新建连接。 停用/启用:直接修改连接的状态

查看公共连接

单击连接信息 操作 项下的 查看 按钮,以弹出 公共连接信息 面板。面板中有 连接详情相关用户 两个页签。

信息项说明
连接详情连接信息:显示 所属区域连接模式连接名称所属资源组连接地址数据库读写用户名、数据库只读用户名SQL 查询超时查询 sys 租户账号 等创建连接时您指定的信息。 操作信息:显示 创建人创建时间更新时间 等信息。 删除用户:单击页签中的 删除公共连接 按钮将删除当前连接,删除连接后,被赋予该连接的用户将无法访问当前连接。
相关用户显示了可访问当前公共连接的用户 姓名角色权限 等信息。
编辑公共连接信息 面板中,单击右下角的 编辑 按钮可进入 编辑公共连接 面板。

编辑公共连接

  1. 单击公共连接信息列表 操作 项下的 编辑 按钮,以弹出 编辑公共连接 面板。
  2. 编辑公共连接 面板中会显示在新建公共连接时所指定的所有信息项(其中 数据库类型所属区域连接模式 项在连接被创建后不可修改)。
  3. 编辑信息完成后,单击 保存 按钮。

######## 5.4.3.2. 资源组管理

概述

资源组管理

资源组是集合多个公共连接的一种对象,使用资源组可将公共连接按组批量授权给角色。

  1. 进入 公共资源管控台 页面后,在左侧导航栏中单击 资源权限

  2. 在弹出列表中单击 资源组管理 以进入 资源组管理 页面。

    新建资源组

    新建资源组

  3. 资源组管理 页面的右上角单击 新建资源组 按钮,以弹出 新建资源组 面板。

  4. 新建资源组 面板中需指定以下信息以创建新的资源组。

信息项说明
资源组名称指定该资源组的名称。
资源组状态资源组状态默认为 启用,可手动更改为 停用。被停用的资源组将不能被访问。
公共连接(可选)单击 添加连接 按钮,在弹出的文本框中选择已创建的公共资源组,以赋予资源组访问此类公共资源组的权限。
备注(可选)为资源组添加备注信息,非必填项。
  1. 指定上述信息后,单击面板右下角的 新建 按钮以完成资源组的创建。

    管理资源组

    进入 资源组管理 页面后,资源组信息以列表的形式进行显示:

  • 通过刷新按钮可刷新列表信息。

  • 通过列表右上角的搜索栏搜索目标资源组。

    资源组列表

    资源组列表中显示并提供了以下基本信息,且列表中的每一列均提供筛选器以供按列筛选资源组。

信息项说明
资源组 ID资源组序号。 单击 资源组 ID,可根据 ID 号进行升序或降序。
资源组名称显示资源组的名称信息。
连接数量显示当前资源组可访问的公共连接的数量。
状态显示资源组当前状态:启用停用 。 单击筛选图标筛选,可筛选状态。
更新时间显示对资源组进行 编辑 的最新历史操作时间。 如首次 编辑 资源组,则显示时间为资源组的创建时间。 单击 更新时间,可升序或降序。
操作显示 查看编辑停用/启用 功能键。 可单击 停用/启用 按钮直接修改资源组状态

查看资源组

  1. 单击资源组信息 操作 栏中的 查看 按钮,以弹出 资源组信息 面板。面板中包括 资源组详情相关用户 两个页签。
信息项说明
资源组详情资源组信息:显示 资源组名称、备注、公共连接连接名称状态)等创建资源组时您指定的信息。 操作信息:显示 创建人、创建时间更新时间 等信息。 删除用户:单击页签中的 删除资源组 按钮以删除当前资源组;删除资源组后,被赋予该资源组的用户将无法访问当前资源组。
相关用户显示可访问当前资源组的用户 姓名角色权限 等信息。 单击筛选图标筛选,可筛选角色和权限。
  1. 指定上述信息后,单击面板右下角的 编辑 按钮可进入 编辑资源组 面板。

    编辑资源组

    单击资源组信息列表 操作 栏中的 编辑 按钮,以弹出 编辑资源组 面板。

    编辑资源组 面板中显示新建资源组时所指定的所有信息项,可修改此类信息项以编辑资源组。

######## 5.4.3.3. 角色管理

角色是为用户赋予各种权限的一种对象,为多种权限的集合,使用角色可将一组具有相同权限的用户组织在一起。为便于用户赋予并管理其在 OceanBase 开发者中心(OceanBase Developer Center,ODC)所拥有的权限,可自定义角色并将角色赋予用户。

进入 公共资源管控台 页面后,在左导航栏中单击 资源权限 > 角色管理,进入 角色管理 页面。

Image 872

内置角色

ODC 中内置了管理员角色 system_admin,该角色被自动赋予给管理员用户 admin,该角色可进行系统有关的所有操作且默认可访问所有的公共资源和个人资源该角色不支持被编辑、删除和停用

新建角色

角色管理 页面的右上角单击 新建角色 按钮,弹出 新建角色 面板。

Image 883

新建角色的操作步骤如下:

  1. 指定 角色名称

    指定新建角色的名称,角色名称为必填项,长度不超过 48 位字符。

  2. 指定 角色状态

    新创建的角色默认是 启用 状态,您可以手动选择 停用,被停用的角色其权限将不生效。

  3. 选择 权限类型

    选择要为当前角色指定的权限类型。

    当前 ODC 支持指定 公共资源权限个人资源权限,勾选需要设置的权限后,下方会出现 权限设置 创建角色时,必须为该角色指定至少一种权限类型并进行设置。

  4. 进行 权限设置 操作

    选择了 权限类型,权限设置 项下会出现对应类型的设置页签。

权限类型功能描述
公共资源权限资源类型:包括 公共连接资源组 两种。单击第一个文本框,在下拉列表中选择想要添加的资源。 资源名称:根据所选的资源类型,单击第二个文本框,下拉列表中会显示当前系统中已创建的对应资源名称,在列表中选择需授权的资源(支持多选)。 资源权限:单击第三个文本框,在下拉列表中选择您想要授权的公共资源权限。公共资源有 只读 和 读写 两种权限,关于权限的详细说明,请参见本篇 权限说明。 单击 添加资源 按钮,可同时为该角色设置多个公共资源权限。
个人资源权限勾选 全部个人资源权限,可同时选择查看、管理和使用连接。
  1. 指定 备注(可选)

    在文本框中输入备注信息,非必填项,长度不超过 140 位字符。

  2. 完成角色新建。

    单击面板右下角的 新建 按钮以完成角色的新建。

    权限说明

    当前 ODC 支持设置 公共资源权限个人资源权限,公共资源分为 公共连接资源组 两种,它们的权限范围和对权限的支持说明如下表所示:

权限范围只读读写
SQL 窗口支持 SQL 窗口查询语句支持 SQL 窗口控制语句 支持 SQL 窗口查询语句 支持 SQL 窗口数据变更语句 支持 SQL 窗口结构变更语句
结果集查看结果集 导出结果集查看结果集 导出结果集 修改结果集
匿名块窗口支持除写入外的其他操作全部匿名块窗口权限
命令行窗口支持除写入外的其他操作全部命令行窗口权限
模拟数据不支持全部模拟数据权限
异步执行支持除写入外的其他操作全部异步执行权限
导入导出导出导入 导出
会话查看会话属性 查看会话列表查看会话属性 修改会话属性 查看会话列表 修改会话列表
回收站查看回收站查看回收站 修改回收站
表(非 SQL 语句操作)查看表定义 查看表数据查看表定义 查看表数据 修改表定义 修改表数据 新建表 删除表
视图(非 SQL 语句操作)查看视图定义 查看视图数据查看视图定义 查看视图数据 新建视图 删除视图
函数(非 SQL 语句操作)查看函数定义查看函数定义 修改函数定义 运行函数 编译函数 调试函数 新建函数 删除函数
存储过程(非 SQL 语句操作)查看存储过程定义查看存储过程定义 修改存储过程定义 运行存储过程 编译存储过程 调试存储过程 新建存储过程 删除存储过程
程序包(非 SQL 语句操作)查看程序包定义查看程序包定义 修改程序包定义 运行程序包 编译程序包 调试程序包 新建程序包 删除程序包
触发器(非 SQL 语句操作)查看触发器定义查看触发器定义 修改触发器定义 新建触发器 删除触发器 编译触发器
类型(非 SQL 语句操作)查看类型定义查看类型定义 修改类型定义 新建类型 删除类型 编译类型
同义词(非 SQL 语句操作)查看同义词定义查看同义词定义 新建同义词 删除同义词
序列(非 SQL 语句操作)查看序列定义查看序列定义 修改序列定义 新建序列 删除序列

管理角色

进入 角色管理 页面后,角色信息以列表形式显示:

  • 通过刷新按钮可刷新列表信息。

  • 通过列表右上角的搜索栏搜索角色。

  • 同时,可通过角色管理页面提供的功能键查看和管理已创建的角色。

    角色列表

    角色列表基本信息如下所示,且列表中的每一列均提供筛选器以供按列筛选角色。

信息项说明
角色名称显示为角色的名称。
权限类型显示为角色指定了哪些类型的权限。
状态显示角色状态为 启用停用
更新时间显示角色信息最近一次被更新的时间。
操作显示 查看编辑停用/启用 功能键。可单击 停用/启用 按钮直接修改角色的状态

查看角色

公共资源管理-查看角色

  1. 单击角色信息 操作 栏中的 查看 按钮,以弹出 角色信息 面板。面板中有 角色详情相关用户 两个页签。
信息项说明
角色详情创建信息:显示 角色名称权限类型备注系统权限公共资源权限 设置详情等创建角色时所指定的信息。 操作信息:显示 个人资源权限创建人创建时间更新时间 等信息。 删除角色:单击页签中的 删除角色 按钮将删除当前角色,删除角色后无法恢复其相关的数据,且引用该角色的用户权限被同步回收,但不影响用户登录。
相关用户相关用户 页签中显示被授予当前角色的用户列表,列表中会显示用户的 姓名角色状态 等信息。
  1. 角色信息 面板中,单击右下角的 编辑 按钮会进入 编辑角色 面板。

  2. 单击 复制角色 按钮会进入 新建角色 面板,面板中均会自动填充当前角色的信息。

    编辑角色

    公共资源管理-编辑角色

  3. 单击角色信息列表 操作 栏中的 编辑 按钮,以弹出 编辑角色 面板。

信息项说明
角色详情操作信息:显示 角色名称角色状态权限类型权限设置备注 等信息。
相关用户相关用户 页签中显示被授予当前角色的用户列表,列表中会显示用户的 姓名角色状态 等信息。 单击 移除,移除当前角色的用户。 在 添加用户 文本框中选择新的用户进行角色授权。
  1. 编辑角色 面板中,单击右下角的 保存 按钮保存编辑。

######## 5.4.3.4. 用户管理

概述

Image 867

可在用户管理页面创建 OceanBase 开发者中心(OceanBase Developer Center,ODC)用户并管理其权限。

进入 公共资源管控台 页面后,在左导航栏中单击 资源权限 > 成员管理,进入 用户管理 页面。

内置用户

ODC 中已内置一个管理员账户 admin,该账户被自动设置为了管理员角色 system_admin,所以该账户可进行系统有关的所有操作且默认可访问所有的公共资源,该账户不支持被编辑、删除和停用。

新建用户

用户管理 页面的右上角单击 新建用户 按钮以弹出 新建用户 面板。

Image 868

新建用户的操作步骤如下:

  1. 指定 用户信息

    1. 用户信息包含以下三部分的信息:

      • 账号:指定用于登录 ODC 的账户信息。账号是必填项且不能重复,支持英文、数字、下划线和特殊字符的组合(即:._+@##\$%),长度为 4~48 位字符。

      • 姓名:指定登录后在 ODC 中用于显示的姓名信息。姓名是必填项,长度不超过 110 位字符。

      • 密码:指定用于登录 ODC 的密码信息。密码是必填项,其中至少包含 2 位数字、2 位大写字母、2 位小写字母和 2 位特殊字(即:._+@##\$%),长度为 8~32 位字符。单击文本框后的 随机密码 按钮 ODC 将为您自动生成一串随机密码。

        说明

        管理员新建用户或修改用户密码后,用户首次登录时,会提示修改用户密码,以加固密码并预防密码泄露。

    2. ODC 支持批量创建用户,可单击 添加用户 按钮,指定多个用户信息。

  2. 指定 账号状态

    新创建的账户默认为 启用 状态,可手动选择 停用,停用的账户将不能进行登录操作。

  3. 为新建用户指定 角色

    角色是选填项,可以为用户赋予多个角色。单击文本框,弹出的下拉列表中会显示组织中已创建的角色,在列表中选择需为当前创建的所有用户赋予的角色。若无已创建的角色,请先至角色管理创建角色。

  4. 指定 备注 信息(可选)。

    在文本框中输入备注信息,非必填项,长度不超过 140 位字符。

  5. 提交新建信息。

    单击面板右下角的 新建 按钮,提交新建信息。

  6. 保存用户信息。

    新建用户成功后,在弹出的 用户创建成功 弹窗中会显示本次新建的所有用户信息。可通过单击弹窗中的 复制用户信息下载用户信息 按钮将新建的用户信息保存至本地。

    在批量创建用户的场景中,此操作有助于快速保存所有新建用户信息。

    管理用户

    进入 用户管理 页面后,用户信息以列表的形式进行显示,在列表右上角的搜索栏可直接进行用户搜索。同时,用户管理页面提供的功能键可查看和管理已创建的用户。

    用户列表

    用户列表中显示并提供基本信息如下所示,且列表中的每一列均提供筛选器以按列筛选用户。

信息项说明
姓名显示为用户执行的姓名信息。
账号显示为用户指定的账号信息。
状态显示用户状态为 启用停用。 单击筛选图标筛选,可筛选状态。
更新时间显示用户信息最近一次被更新的时间。 单击 更新时间,可升序或降序。
登录时间显示用户最近一次登录 ODC 的时间。 单击 登录时间,可升序或降序。
操作显示 查看编辑停用/启用 功能键。可单击 停用/启用 按钮直接修改用户的状态 说明 当前登录用户不可编辑和停用自己的账号。

查看用户

公共资源管控台-用户管理-查看

单击用户信息 操作 项下的 查看 按钮,以弹出 用户信息 面板。面板中包括 用户详情相关资源 两个页签。

信息项说明
用户详情创建信息:显示 账号姓名密码角色备注 等创建用户时您指定的信息。其中密码是加密显示,并提供 重置密码 按钮以供修改用户的登录密码。 操作信息:显示 创建人创建时间更新时间登录时间 等信息。 删除用户:单击页签中的 删除用户 按钮将删除当前用户,删除用户后,该账号将无法登录 ODC 且无法恢复其相关的数据。
相关资源显示当前用户可访问的公共连接的名称,公共连接所属的资源组和资源组拥有的访问权限等信息。
编辑用户信息 面板中,单击右下角的 编辑 按钮可进入 编辑用户 面板。

编辑用户

公共资源管控台-用户管理-编辑

单击用户信息列表 操作 项下的 编辑 按钮,以弹出 编辑用户 面板。

编辑用户 面板中会显示您在新建用户时指定的所有信息项。其中在用户被创建后不可修改 账户,可修改 姓名账号状态角色备注 等信息,可在查看用户详情页面时修改 密码

停用用户

单击用户信息列表 操作 项下的 停用 按钮,以弹出确定是否停用对话框,单击 确定,停用用户。

说明

  • 被停用的用户将无法进行登录。
  • 被停用的用户账号信息仍保留,支持启用。
5.4.4. 任务流程管理

背景信息

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持拥有特殊权限的用户(拥有公共资源管控台权限的管理员)定义变更任务流程,其他只读权限的用户可根据所定义的任务流程发起 变更任务

拥有该特殊权限的用户可在公共资源管控台内修改/查看/停用变更任务流程。

任务流程图

管理任务流程

公共资源管控台-任务流程

进入 公共资源管控台 页面后,在左导航栏中单击 任务流程,进入 任务流程管理 页面。

任务流程管理 页面中,任务流程信息以列表的形式进行显示:

  • 通过刷新按钮可刷新列表信息。

  • 通过列表右上角的搜索栏搜索目标任务流程。

  • 勾选复选框复选框 ,支持批量删除。

    任务流程管理列表

    任务流程管理列表中的基本信息如下所示,且列表中的每一列均提供筛选器以供按列筛选任务流程。

信息项说明
任务流程名称显示任务流程名称。
任务类型显示任务类型。 单击筛选图标筛选,可筛选任务类型(导入/导出/模拟数据/数据库变更)。
风险等级数显示设置的风险等级数。 默认风险等级数为 1,可自定义,最大值为 10。
创建人显示任务发起人。 单击搜索图标搜索,可搜索和筛选创建人。
状态显示任务流程状态。 单击筛选图标筛选,可筛选所属任务状态(启用/停用)。
创建时间显示上一次对任务流程操作的时间。
操作显示 查看编辑停用/启用 功能键。 查看:查看当前任务流程详情; 编辑:修改当前任务流程详情; 停用:直接修改任务流程的状态

查看任务流程

任务流程-查看

单击连接信息 操作 项下的 查看 按钮,以弹出 任务流程详情 面板。

信息项说明
任务流程基本信息显示 任务流程名称任务类型风险等级数审批有效期执行等待有效期执行有效期备注 信息。
等级显示任务等级,包括审批节点、审批角色和可审批人。
创建人显示任务发起人。
创建时间显示上一次对任务流程操作的时间。

编辑任务流程

任务流程-编辑

单击连接信息 操作 项下的 编辑 按钮,以弹出 编辑任务流程 面板。

信息项说明
任务流程名称同组织架构下任务流程名称不可重复,由数字、中文、英文字母组成,最大不可超过 110 个字符。
任务类型目前仅数据库变更支持自定义任务流程,其它类型变更不支持自定义。数据库变更的任务子类包括:Update/Delete/Insert/Select/Create/Drop/Alter/其它 允许的变更操作类型,如用户要发起的变更操作不在任务流程定义允许的范围内,则不允许发起任务。
风险等级数默认风险等级数为 1,可自定义,最大值为 10(推荐设置为 3)。
任务审批流程默认风险等级数为 1,只有一个等级,该等级: 包含用户选择的所有任务子类。 不对变更的数据量做限制。 默认需管理员审批,可自定义该等级的审批节点(节点数和审批角色)。 按如果风险等级数不为1,各等级可分别定义,定义项包括:任务子类变更的 SQL 数量范围设置审批节点
流程有效期定义审批有效时间,如超过定义的时间长度,审批自动终止; 默认 24h(1天),可自定义,最大值 240h(10天)。 审批有效期:审批超时,任务将过期。 执行等待有效期:手动执行前等待超时,任务将过期。 执行有效期:执行超时,任务将过期。
任务流程状态选择 启用停用 任务流程状态(已停用的变更流程不可再发起任务)。
备注填写对该流程的说明,最大不超过 200 个字符。

停用任务流程

单击目标连接 操作 项下的 停用 按钮会弹出是否停用任务流程对话框,单击 确定,停用任务流程。

说明

被停用的自定义任务流程,在任务发起页面不会再显示该任务流程(即不可再发起关于该任务流程的任务)。

5.4.5. 操作记录管理

本文档旨在介绍如何在 OceanBase 开发者中心(OceanBase Developer Center,ODC)的公共资源管控台上管理操作事件的历史记录。

操作记录列表

说明

拥有系统角色(system_admin)的用户可管理操作记录。

操作记录当前永久保留。

进入 公共资源管控台 页面后,在左导航栏中单击 操作记录,进入 操作记录 页面。

公共资源管控台-操作记录

  • 通过列表上方的刷新按钮刷新,可刷新列表信息。

  • 通过 执行时间 筛选时间,可支持查看最近 7 天/最近 15 天/最近 30 天/最近半年以及自定义时间段查看。

    操作记录列表中显示并提供基本信息如下所示。

信息项说明
序号操作记录序号。
事件类型操作事件类型,包括个人设置、密码管理、连接管理、脚本管理、数据库操作、组织配置、成员管理、资源组管理、模拟数据、数据库变更、导入、导出和任务流程等。 单击筛选图标筛选,可筛选事件类型。
事件操作显示操作事件信息。 单击筛选图标筛选,可筛选事件操作。
IP 来源显示 IP 来源。 单击搜索图标搜索,可搜索 IP。
执行人显示操作执行人。 单击搜索图标搜索,可搜索执行人。
执行时间显示操作执行的时间。 默认操作记录列表按执行时间排序,最新的执行记录显示在最前。 单击图标升序降序,可升序或降序。
执行结果显示执行结果,包括 成功失败。 单击筛选图标筛选,可筛选执行结果。
操作显示 查看 功能键。

查看操作记录

在操作记录列表中,单击 操作 项下的 查看 按钮,以弹出 记录详情 面板。

公共资源管控台-操作记录-查看

记录详情中可查看 事件类型事件操作所属连接IP 来源执行细则执行人执行时间执行结果 信息。

导出操作记录

在操作记录列表右上角,单击导出图标导出,弹出 导出操作记录 面板。

导出操作记录列表中显示并提供基本信息如下所示。

公共资源管控台-导出操作记录

信息项说明
执行时间范围选择开始日期和结束日期。
事件操作筛选需查看的事件操作。
所属连接操作所属的连接名。 筛选所属连接(默认选择全部)。
执行人筛选操作执行人。
执行结果筛选执行结果。
导出格式选择导出格式:Excel 格式 或 CSV 格式。
5.4.6. 系统设置

在系统设置中,管理员可设置全局的功能。其他用户可在在个人设置页面中进行相同的功能设置,个人设置的优先级高于管理员操作的系统设置。

进入 公共资源管控台 页面后,在左导航栏中单击 系统设置 以进入 系统设置 页面。

Image 874

系统设置

单击页面右上角的 编辑 按钮以进入编辑状态,系统设置中支持进行以下设置:

设置说明
SQL 窗口 Session 模式设置 SQL 窗口的 Session 模式。
界定符设置设置在 SQL 窗口内运行 PL 语句时默认使用的 Delimiter 符号。目前支持设置 ;///\$\$\$ 等 5 种形式的界定符。
Oracle 事务提交模式设置 Oracle 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
MySQL 事务提交模式设置 MySQL 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
结果集查询条数限制设置 SQL 窗口内执行 SQL 语句默认返回的结果行数。
对象拖放生成语句类型设置拖放表/视图对象时默认生成的语句类型。

5.5. 使用工作台

5.5.1. 概述

工作台是 OceanBase 开发者中心(OceanBase Developer Center,ODC)为您提供的进行数据库开发工作的主要功能模块。

进入对应的数据库连接后,在上方导航栏中单击 工作台 标签在弹出的列表中工作台模块提供了以下功能:

  • SQL 窗口:数据库开发者编辑 SQL 和 PL 语句的工作区,在 SQL 窗口中 ODC 还提供 代码片段 功能。
  • 匿名块窗口:数据库开发者编辑匿名块脚本的工作区。
  • 命令行窗口:集成了 OceanBase 客户端(OBClient)到命令行窗口,可在命令行窗口中更直接灵活的执行 SQL 或 PL 语句并实时查看结果。
  • 已保存的脚本:数据库开发者可以在这里打开之前在 ODC 中保存过的脚本。

注意

只有 Oracle 模式下支持创建匿名块窗口。

本章节将分篇介绍工作台提供的功能:

5.5.2. SQL 窗口

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,在顶部导航栏单击 工作台 标签,在弹出下拉菜单中单击 SQL 窗口 以完成新建。

SQL 窗口中提供可编辑脚本的 SQL 编辑区域,显示运行结果的执行记录页签与结果页签,同时 SQL 窗口也支持运行 PL 语句。

Image 461

SQL 编辑区域

在 SQL 窗口的编辑区域可体验更多细节:

操作说明
提供输入自动提示功能在 SQL 编辑区编写脚本时提供输入自动提示功能以提升编辑 SQL 语句效率。 例如:权限账户进行 SQL 语句编辑时,支持自动补全表名功能(跨库查询支持补全表名)
标识关键字和智能识别代码窗口中会对数据库的关键字进行不同颜色的标识并可智能识别代码。
右键单击编辑区 SELECT 语句中的表、视图和函数名称右键单击编辑区 SELECT 语句中的表、视图和函数名称时将提供常见操作键,同时将鼠标放置在表的名称上会显示字段信息。
拖拽对象列表至 SQL 编辑区在对象列表中可将目标对象直接拖放至 SQL 编辑区中,以方便在语句中填充对象名。 如为表 / 视图对象,拖放对象名 SQL 编辑区时,在 快速生成 弹窗中,可选择快速生成的 SQL 语句(在登录账号的 个人设置 > 对象拖放生成语句类型 中,可设置拖放表 / 视图对象时默认生成的语句类型)。 除表/视图外的其它对象,拖拽对象名直接将对象名拖拽至 SQL/PL 窗口。 SQL 窗口-拖拽表对象快速生成不同类型
支持独立 session单击 +,支持同一个连接内添加多个 SQL 窗口。
支持特殊符号异常识别SQL 窗口的编辑区支持特殊符号异常识别,异常符号会被黄色波浪下划线进行标识。

说明

ODC 中共享 Session,相同连接只有一个 Session。ODC Oracle 模式下自动提交默认设置为开,如需手动提交事务,可在 SQL 窗口中的设置 > 会话变量 或在 会话属性 页面修改变量 autocommit

的值进行设置,详细操作请参见 会话管理

事务手动提交模式下,需设置变量 ob_trx_idle_timeout

大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout

设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

用户指南-SQL 窗口-SQL 编辑区域

除编辑 SQL 语句时可体验上述细节,编辑区的工具栏中同时提供以下功能键:

功能说明
运行单击该按钮运行当前 SQL 窗口中所有的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
运行当前语句单击该按钮运行当前您选中的所有 SQL 语句或当前光标所在行的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
提交Oracle 模式下自动提交(autocommit)默认设置为关(OFF),因此需单击该按钮以手动提交当前事务。单击提交时会提示当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。 MySQL 模式下自动提交(autocommit)默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。 说明 可通过 SQL 窗口中的设置 > 会话变量 或 顶部导航栏中的 工具 > 会话属性,修改自动提交(autocommit)属性。
回滚Oracle 模式下自动提交(autocommit)默认设置为关(OFF),单击该按钮以回滚当前事务。单击时会提示您当前连接采用共享 Session,回滚操作会对所有窗口生效,单击 确认 后回滚生效。 MySQL 模式下自动提交(autocommit)默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
终止单击该按钮终止正在运行的语句。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。
设置Delimiter:在下拉列表中选择您想要的符号以完成界定符的设置。目前支持设置 ;///\$\$\$ 等 5 种形式的界定符。 查询结果限制:设置查询结果返回的条数,默认值为 1000 行。 会话变量:可编辑、刷新和搜索变量。
保存单击该按钮保存当前窗口中的脚本。之后您再次进入工作台可以直接打开保存好的脚本。每个用户只能看到自己保存的 SQL 脚本,且脚本名不允许重复。打开已保存的脚本后,您可以继续对该脚本进行编辑。
执行计划查看选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(EXPLAINPLAN 操作的结果),展示的执行数据可能与实际执行语句后的数据略有不同,您可以使用该功能评估 SQL 语句。 单击 执行计划 按钮,在 计划详情 页签中,单击 查看格式化信息 切换至格式化展示页面。
代码片段提供内置语法片段和自定义语法片段供您查看和引用。详情请查看 代码片段

运行 PL 语句

SQL 窗口中支持编辑 PL 语句,在编辑区中编写 PL 语句完毕后使用选择的界定符作为结尾。

ODC 目前支持通过以下方式完成界定符的设置:

  • 在 SQL 编辑区的工具栏中单击 设置 按钮,在弹窗中的 Delimiter 选择框中选择所需设定的界定符。

  • 个人设置 页面中的 界定符设置 选择框中选择所需的界定符。

    注意

    自 ODC V2.4.1 之后版本,可在编辑区中使用 DELIMITER

    语句直接定义界定符,设置 中的 Delimiter 项会回显所设置的界定符。

    • 可直接使用 / 分隔 PL 语句(如 PL 语句内包含 /,则仍需设置自定义界定符)。

      在 SQL 中运行 PL 语句后,结果页签支持 DBMS 输出。

      Image 693

      执行记录页签

      用户指南-SQL 窗口-执行结果页签

      在执行记录页签中您可以查看当前连接进程中每次执行 SQL 语句的记录,包括 状态时间SQL 语句结果TRACE ID、耗时执行详情(即执行计划)等信息。

功能说明
复选框勾选列表前的复选框复选框后单击 删除,可批量选中并清理多条执行记录。
TRACE ID执行记录 ID。 注意 如 TRACE ID 为空,请确保该语句运行时 enable_sql_audit 系统参数及 ob_enable_trace_log 变量值均为 ON。 单击 会话 > 会话属性 > 会话变量,分别搜索 enable_sql_audit 和 ob_enable_trace_log 参数; 单击值列表下的 OFF 后,单击 编辑 图标,选择 ON 值后确定。 打开系统参数: obclient> alter system set enable_sql_audit='True'; Query OK, 0 rows affected (0.06 sec)
耗时ODC 中 耗时 信息由三部分组成,分别为: 网络耗时:请求在网络传输上所花费的时间。 ODC 耗时:请求经过 ODC 处理所花费的时间。 DB 耗时:请求经数据库处理所花费的时间。 可将鼠标箭头放置在 耗时 信息后的提示图标上,弹出的提示信息将分段展示目标请求的三段耗时信息。
执行详情默认展示文本计划。 在 执行详情 项下,单击 查看,可在 执行详情 页面查看 基本信息耗时统计I/O 统计执行的 SQL 语句

日志页签

在该页签可查看当前 SQL 窗口的执行记录。

结果页签

在该页签可查看当前 SQL 语句的执行结果。结果页签中显示的结果集支持进行以下交互操作以方便日常开发工作:

操作说明
鼠标选中目标范围返回的结果集支持通过鼠标选中目标范围后直接通过快捷键复制至外部文件,可单击字段名称或行号直接选中整行或整列。 亦可通过工具栏中的 导出 工具将结果集中的数据导出到本地文件。
选择多行/多列按 Shift 键,可选择连续多行/多列; 按 Ctrl/Command 键,可选择不连续的多行/多列。
右键单击单元格提供 复制行/复制/输出到剪切板 功能键以直接将数据复制到外部文件中。
右键单击行序号提供 复制行/冻结此行/解除全部冻结行 功能。 复制行:复制选中的行; 冻结此行:将选中行置顶并冻结,冻结行和表头固定下方内容可垂直滚动;支持冻结多行; 解除全部冻结行:将所有冻结行恢复。
放大图标当单元格中的数据过长导致无法全部显示时,可通过放大图标查看单元格中的全部数据: 将鼠标箭头放置在目标单元格上; 单击单元格右侧出现的放大图标放大按钮,在弹出的大字段展示弹窗中可查看单元格中的全部数据。 说明 如为大字段,默认按文本展示大字段内容,可切换至十六进制查看同时支持下载打字段内容至本地。
BLOB 大对象支持查看 BLOB、CLOB、RAW 类数据。
右键单击结果页签的标签名 (如 结果1)在弹出的列表中单击 固定 可使当前结果页签保持展示状态,当执行一条新的查询时当前结果不会被覆盖而是生成一个新的结果展示页签,以方便对比不同的查询结果。 单击 解除固定 以取消目标结果页签的固定状态。
筛选、排序和搜索按钮结果集中每个字段名称后提供筛选、排序和搜索按钮,可对单列的数据直接进行筛选、排序和搜索。
拖动列名支持在结果集中直接拖动列名以调整各字段的顺序。

Image 697

同时,结果页签的导航栏中提供以下工具:

工具说明
列模式以表格的形式展示一行选中的数据。在 列模式 页面可以进行上一行、下一行的切换展示,对于列数量比较多场景,列模式 比较方便行数据的查看。参考步骤如下: 选中需查看的数据后,单击 列模式列模式按钮 按钮; 在弹出的 列模式 页面中,可单击左右按钮查看上下行列值; 鼠标移动至某值字段,单击 放大按钮放大按钮,可查看该列字段详情; 在 列模式 列表中,可通过 备注 查看表中对应的列注释信息。修改备注信息步骤如下: 在左侧导航栏的表列表中,右键单击目标表,选择 查看表结构,进入表属性管理页签; 在属性页签的左导航栏中单击 标签; 选择字段名,单击编辑图标,弹出 编辑字段 弹窗; 在 字段注释 中,填写字段注释后,单击 确定; 在 SQL 确认 弹窗,单击 执行,完成修改备注信息; 在 列模式 中即会显示修改的备注信息。
列管理筛选在页面中展示的列。
回到开始跳转至第一页。
上一页向上翻页。
下一页向下翻页。
跳至底部跳转至最后一页。
编辑单击 编辑 按钮开启对当前展示的结果集的编辑状态,编辑态中提供 添加一行复制当前行删除取消确认修改(当自动提交设置为开时,单击该按钮事务被自动提交) 和 修改并提交(自动提交设置为关时显示该按钮) 等编辑操作。同时可在编辑态下双击目标数据直接进行修改,或是通过上述操作按钮进行快捷操作。 在编辑态中右键单元格,弹出的菜单中提供 复制设置为 Null 两个操作键。 说明 通过结果集是否支持编辑预判断功能,在 SQL 执行时获取到 ResultMetaData 信息,可在 SQL 执行结果出来时同步判断结果集是否可编辑: 如当前结果集不支持编辑,编辑按钮隐藏,且提示当前结果集不可编辑; 如当前结果集支持编辑,编辑按钮呈可点击态,可点击进入结果集编辑页面(支持编辑场景:单表/单视图查询)。 目前不支持包含 SET 类型和 ENUM 类型的结果集编辑。
导出将查询结果导出为 CSV 或 SQL 文件: 导出 SQL 文件:选择导出的 文件名称、文件格式、文件编码GBKUTF8)和 行数限制; 导出 CSV 文件:选择导出的 文件名称、文件格式、文件编码GBKUTF8、行数限制CSV 设置 导出 EXCEL 文件:选择导出的(GBKUTF8UTF16GB2312BIG5)。
计划查看当前 SQL 语句执行后的实际资源消耗及执行计划,可快速判断 SQL 语句的优劣。

操作工具箱

说明

本视频以 ODC V3.2.0 版本为例。

5.5.3. 匿名块窗口

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,单击顶部导航栏中的 工作台 标签,在弹出下拉菜单中选择 匿名块窗口 以新建窗口。

匿名块窗口中提供 PL 编辑区域PL 运行结果和 DBMS 输出页签 以及 调试页面

Image 460

PL 编辑区域

在匿名块窗口的编辑区域,可体验到较多的细节功能,如当新建一个匿名块窗口时:

  • 会自动生成引导代码方便编写脚本;

  • 窗口中会对数据库的关键字进行不同颜色的标识;

  • 支持格式化等功能以提升编辑 PL 语句的效率。

    除编辑 PL 语句时可体验到上述细节功能外,编辑区域的工具栏中同时提供以下功能键:

功能说明
运行单击该按钮运行代码区中的语句。
终止单击该按钮终止正在运行的语句。
调试单击该按钮进入调试页面,并对代码区内的匿名块对象进行调试。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
保存单击该按钮保存当前窗口中的脚本。 保存后,再次进入工作台可直接打开已保存的脚本。 说明 每个用户只能查看自己保存的 SQL 脚本,且脚本名不允许重复。 打开已保存的脚本后,可继续对该脚本进行编辑。

PL 运行结果和 DBMS 输出页签

在匿名块编辑区域的工具栏单击运行图标运行后,会运行编辑区域中的匿名块脚本,可在编辑区域下方查看 运行结果DBMS 输出 页签:

  • 运行结果:展示脚本运行的结果,如运行无误则显示 运行成功,如运行有误则展示错误提示信息。

  • DBMS 输出:如子程序中包含 PL 输出语句则展示其调用后的输出结果(例如 dbms_output.put_line

    )。

    调试页面

    在匿名块的编辑区域,单击 调试 按钮后可进入调试页面。

    进入调试页面后可对当前窗口中的匿名块进行调试。

注意

  • 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。

  • ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。

  • 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。

  • 在调试前请确保连接的数据库中已安装 DBMS_DEBUG 和 DBMS_OUTPUT 等调试包。

    调试

    在调试模式下,编辑区的工具栏中提供以下功能键:

功能说明
批量执行批量运行至最近断点,如果无断点直接运行至结尾语句。
单步执行单步执行,不会进入子程序。
跳入单步执行,如当前行是调用已定义的存储过程或函数,则会进入被调用的子程序。
跳出在子程序内,执行跳出操作后,返回到上层调用位置的下一行;主程序内运行跳出,效果与 自动调试 相同。
终止调试继续运行直到结束,会跳过设置的断点。
重新调试对当前调试对象发起新一轮的调试,与 调试 的区别在于:无需新建调试连接。
退出调试关闭调试连接,并退出调试交互窗口。

在调试模式下,除编辑区外,同时提供以下页签:

  • 参数:参数页签展示该调试对象所有的参数定义信息(参数名、模式和类型)及对应的值,其中对应的值会根据调试过程作出相应的变化。

  • 堆栈和变量:展示当前栈上的变量与其对应的值。

  • DBMS 输出:如子程序中包含 PL 输出语句则展示其调用后的输出结果(例如 dbms_output.put_line

    )。

  • 断点:在编辑区单击行号设置断点(再次单击取消断点)。在断点页签可查看设置的所有断点,列表默认按照断点执行顺序进行排序,在列表中选中多个断点后可批量取消。每一行断点信息的操作栏中同时提供 取消(取消该断点)和 查看(在编辑区光标会跳转至该断点所处的位置)两个操作。

  • 调试日志:展示调试开始、调试结束、断点添加、断点取消等信息和错误日志。

5.5.4. 命令行窗口

OceanBase 开发者中心(OceanBase Developer Center,ODC)集成了命令行工具 OceanBase 客户端(OBClient) 到命令行窗口,OBClient 是推荐的 OceanBase 数据库黑屏客户端工具。现在您无需再单独下载安装 OBClient,使用命令行窗口就可更直接灵活的执行 SQL 或 PL 语句并实时查看结果,还可以通过 SOURCE

命令运行上传在服务器中的文件。

新建命令行窗口

登录 ODC 单击目标连接进入对应的数据库连接后,单击上方导航栏中的 工作台 标签,在弹出的下拉菜单中选择 命令行窗口 以新建一个命令行窗口。打开的窗口会自动连接到当前实例并显示一段默认代码展示连接的 ID、版本信息和帮助信息。

注意

最多可同时新建 3 个命令行窗口,以保持其连接状态。

当连接提示断开时,命令行窗口的右上角会出现 重新连接 按钮,单击该按钮重建连接。

Image 510

脚本管理

如果您在开发过程中需要引用脚本,可使用 命令行窗口 提供的 脚本管理 功能导入脚本后引用。

引用脚本的操作步骤如下:

  1. 进入脚本管理面板。

    在命令行窗口的右上角单击 脚本管理 标签以弹出 脚本管理 面板。

  2. 导入被引用的脚本。

    单击 导入脚本 标签下的文件池进入文件资源管理器选择要引用的脚本或者直接将脚本文件拖入文件池中完成上传。导入的文件最大不能超过 250 M。

  3. 获取文件路径。

    脚本上传成功后,可以在面板的 脚本列表 中查看被上传脚本的 脚本路径脚本名称文件大小上传时间 等信息。可单击操作列中的 复制路径 按钮,然后在命令行窗口中的语句中粘贴路径信息以引用脚本。

  4. 删除脚本文件。

    上传的脚本文件只有上传者可以查看,文件上传 30 分钟后会被自动清理以防止占用过多空间,您也可以通过单击操作栏中的 删除 按钮清除文件。

    Image 161

5.5.5. 已保存的脚本

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,单击顶部导航栏中的 工作台 标签,在弹出的下拉菜单中选择并单击 已保存的脚本 以进入之前在 SQL 窗口和匿名块窗口中保存的脚本。

概述

Image 560

在下拉菜单展示的脚本列表中单击脚本名以继续编辑或运行该脚本,如脚本为 SQL 脚本则自动生成 SQL 窗口以展示脚本,若是匿名块脚本则自动生成匿名块窗口以展示脚本。在脚本列表中,脚本名后还提供了以下功能键:

信息项说明
编辑单击编辑,修改脚本的名称和脚本内容。
删除单击删除,删除该脚本。
脚本管理单击设置脚本管理,编辑/导入/下载/删除脚本。

管理脚本

编辑脚本

已保存的脚本-管理脚本-编辑

  1. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  2. 已保存的脚本 的下拉列表中,选择脚本并单击编辑进入编辑脚本面板(或单击设置脚本管理,在脚本管理面板中,选择脚本并单击编辑)。

  3. 编辑脚本 面板中,编辑 脚本名称脚本内容 后,单击 保存

    删除脚本

  4. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  5. 已保存的脚本 的下拉列表中,选择脚本并单击删除,删除脚本。

    脚本管理

    已保存的脚本-管理脚本

  6. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  7. 已保存的脚本 的下拉列表中,或单击设置脚本管理,进入脚本管理面板。

  8. 在导入脚本上传框中,通过单击或拖拽文件可导入多个脚本。

    说明

    • 单个上传文件大小限制:250M。
    • 支持上传 .sql/.pl/.txt 后缀的文件。
  9. 在脚本列表中,支持如下功能。

    • 单击刷新,可刷新脚本列表。
    • 通过搜索框直接查找脚本名称。
    • 单击复选框复选框,支持选择多个脚本,可批量下载/批量删除。
    • 单击 复制路径,复制脚本路径。
    • 单击 编辑,编辑脚本。
    • 单击 下载,下载脚本。
    • 单击 删除,删除脚本。
5.5.6. 代码片段

OceanBase 开发者中心(OceanBase Developer Center,ODC)作为企业级数据库开发平台,为您提供代码片段模块以供在 ODC 中进行数据库开发工作。如在开发过程中遗忘某些语句的具体用法,可直接在 ODC 提供的代码片段模块中进行查询。代码片段模块会根据当前连接的数据库模式(Oracle 或 MySQL)提供对应的代码片段。除内置的代码片段外,同时可自定义代码片段以记录常用代码方便下次使用,仅创建者可查看自定义代码片段。

在 SQL 窗口、匿名块窗口和 PL 对象编辑页面的工具栏中,单击 代码片段 按钮弹出代码片段面板。

Image 225

查看代码片段

在代码片段面板中以卡片列表的形式展示代码片段,每个卡片上直接展示了代码片段名称、代码片段描述和代码片段类型等信息。将鼠标放置在卡片代码片段名称后的提示图标代码片段提示标上,会浮现提示窗展示目标代码片段的全部代码信息。

在卡片列表的上方 ODC 提供了搜索框,可借助搜索功能直接查找具体的代码片段。在搜索框的下方提供按类型进行筛选的筛选器。筛选器中默认选中全部类型,可单击筛选器选择筛选出 常规DMLDDL流程控制语句全部类型 的代码片段。

新建代码片段

在代码片段列表的右上角,单击 +新建 按钮弹出 新建代码片段 面板。在面板中需指定以下信息:

  • 代码片段名称:指定代码片段的名称。名称可由英文字母、数字和下划线组成,长度不超过 60 字符,必填项。

  • 代码片段类型:选择代码的类型。支持选择 常规DMLDDL流程控制语句 等类型,默认为 常规 类型。

  • 代码片段:在 代码片段 标签下的编辑框中输入代码片段的具体代码内容,长度不能超过 2000 字符,必填项。与 SQL 窗口类似,编辑区的工具栏中还提供了格式化、查找/替换、撤销、重做、大小写、缩进和注释等工具,且提供代码高亮和联想等功能。

  • 代码片段描述:对代码片段内容的补充说明,长度不能超过 200 个字符,非必填项。

    说明

    代码片段描述中,如有描述则展示描述的内容,如无内容则会展示代码片段中具体内容的前 30 个字符。

    Image 224

    引用代码片段

    创建好的代码片段除了供您在编辑脚本的时候查看代码的具体内容外,还支持直接将内容直接引用进脚本。引用代码片段有以下三种方法:

  • 方法一:您可以直接将列表中的卡片拖拽进编辑区中,该代码片段指定的代码内容将被粘贴进编辑区。

  • 方法二:在目标代码片段的卡片上,单击卡片右下角的复制图标以复制代码内容,在编辑区中通过快捷键 Ctrl+V 或 Cmd + V 将代码内容粘贴进编辑区。

  • 方法三:SQL 窗口的编辑区支持代码联想功能,当您在编辑区中编辑脚本时,创建好的代码片段会出现在代码联想的提示窗中,您可以通过代码联想的提示查看和引用代码片段。

    管理代码片段

    自定义的代码片段提供 编辑删除 两个管理操作,您无法对内置的代码片段进行管理。

  • 编辑:单击目标代码卡片右上角的管理图标(···)在弹出的列表中单击 编辑 按钮进入 编辑代码片段 面板。面板中展示新建代码片段时指定的 代码片段名称代码片段类型代码片段代码片段描述 等信息,可按需进行修改。

  • 删除:单击目标代码卡片右上角的管理图标(···)在弹出的列表中单击 删除 按钮以删除当前代码片段。

5.6. 使用工具

5.6.1. 数据导出和导入

######## 5.6.1.1. 概述

为了让数据库开发者更方便的维护数据库内的数据,OceanBase 开发者中心(OceanBase Developer Center,ODC)提供整库导入导出和单表导入导出功能。通过整库导入导出用户可以批量选择数据库中的表以导入或导出其中的数据,通过单表导入导出,用户可以导入导出目标表中的数据和结构。

创建导入或导出任务后,ODC 提供导入导出任务页签功能。页签中会显示当前的导入或导出任务列表,您还可以查看目标任务的任务详情和日志等信息。

注意

  • OceanBase V2.2.30 版本之前仅支持字符编码 UTF8。

  • 在 ODC V2.2.1 及之前的低版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,直连时 ODC 不支持导入导出功能。

  • ODC V2.4.1 版本后,您可以选择配置 sys 租户账号以提升导出导入速度。同时,导出时如果勾选了表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

    本章节将分篇介绍以下导入导出的相关功能:

  • 导出导入格式

  • 批量导出与导入

  • 单表导出与导入

######## 5.6.1.2. 导出导入格式

OceanBase 开发者中心(OceanBase Developer Center,ODC)数据导出与导入支持导出的内容有导出结构和数据、仅导出数据和仅导出结构等三种模式。其中结构是指被导出对象的结构定义(DDL)文件,数据是对象中实际保存的数据文件。根据您选择的导出导入格式不同,其中结构和数据文件的类型也不同。

目前 ODC 支持的数据导出格式有 SQL 格式和 CSV 格式,支持的导入文件格式有 ZIP 压缩文件、SQL 文件(批量导入)和 CSV 文件(单表导入)。

导出文件格式

ODC 导出工具会将导出数据到以 .zip 结尾的压缩文件包中,压缩包中包含元数据文件 MANIFEST.bin 和 Schema 下导入导出对象的结构定义文件和数据文件。

创建导出任务时,如果您指定 数据格式SQL 格式,那文件包中的结构定义文件是以 对象名-schema.sql

命名的 SQL 文本,数据文件是以 对象名.sql

命名的 SQL 文本,其中对象名与数据库实际对象名保持一致。

Image 445

如果您指定 数据格式CSV 格式,那文件包中的结构定义文件是以 对象名-schema.sql

命名的 SQL 文本,数据文件是以 对象名.csv

命名的 CSV 文本,其中对象名与数据库实际对象名保持一致。

Image 444

导入文件格式

ODC 导入工具支持导入 ZIP 压缩文件(批量导入和单表导入)、SQL 文件(批量导入)和 CSV 文件(单表导入)。

其中,ZIP 压缩文件是以 .zip 结尾的压缩包。创建导入任务时在面板中的 导入内容 项中选择了 ZIP 压缩文件 后还需在 数据格式 项中选择压缩包中的数据格式是 CSV 格式SQL 格式。对应数据格式的导入压缩文件内容可参考 导出文件格式 中导出 CSV 格式和 SQL 格式数据所产生的压缩包内容。

批量导入时支持导入 SQL 文件,SQL 文件是以 .sql 结尾包含可直接在数据库中执行的 SELECT

、INSERT

、UPDATE

、DELETE

、CREATE

和 DROP

语句的文件。

单表导入时支持导入 CSV 文件,CSV 文件是 .csv 或 .txt 结尾的支持自定义分割符的数据文件。

######## 5.6.1.3. 批量导出与导入

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持批量导出和导入数据库对象的结构和数据。

进入数据库连接后,单击上方导航栏中的 工具 标签,在弹出的下拉菜单中单击 导出导入 标签进入导出设置与导入设置面板。

OceanBase 开发者中心(ODC)对导出与导入数据大小和保留时间的要求如下:

要求说明
ODC 对导入与导出的数据大小有限制对导入上传的文件,最大支持导出 2GB 的数据(压缩后),超出部分无法上传。如需导入大量数据,请使用导数工具 OBLOADER。 对导出的数据,最大支持导出 2GB 的数据(压缩前),超出部分无法导出。如需导出大量数据,请使用导数工具 OBDUMPER。
服务器上文件保留时间任务的状态(成功,失败,取消等)不影响文件的生命周期; 任务本身只会保留 24 h,24 h 后任务被清理后,与任务相关的文件同时会被清除; 如通过任务操作中的 删除 按钮删除任务,与任务相关的文件同时会被删除。

批量导出

导出设置 面板中,您可以选择同时导出多个数据库对象的结构和数据到指定格式的文件中。

Image 446

操作步骤

  1. 指定 任务名

    进入导出设置面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  2. 选择 导出内容

    ODC 目前支持 仅导出数据仅导出结构导出结构和内容 三种方式其中导出结构指是否要导出目标对象的定义语句。您需要在 导出内容 标签下的选择框中选择需要导出的内容。

  3. 选择 数据格式

    ODC 目前支持将数据导出为 CSV 格式SQL 格式。当 导出内容仅导出结构 时,只支持导出数据为 SQL 格式。具体格式信息,请参见 导出导入格式

  4. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需要在 文件编码 下拉框中选择需要的编码格式。

  5. 选择 导出对象

    导出对象 标签下的表格中勾选您想要导出的对象。表格中会展示 对象名称对象类型 信息,支持通过 对象类型 进行筛选和使用搜索框直接进行搜索(MySQL 模式下支持导出函数和存储过程)。

  6. 进行 导出数据设置。

    导出内容 为仅导出结构时无需进行导出数据设置,该项包含以下设置项:

    • 使用全局快照:勾选该项后 ODC 将导出全局中指定表的最新快照点中的数据,勾选该项可以保证全局数据的一致性。

      批量提交数量 (SQL 格式):单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。选择 数据格式 为 SQL 格式时,通过指定批量提交数量,可在导出文件中导出指定数量数据时添加一句 COMMIT

      命令。

    • 不导出的数据类型:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导出数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

    • 指定 CSV 格式信息。当 数据格式 为 CSV 格式且 导出内容 不为仅导出结构时,单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

      • 包含列头:该项默认勾选,选择导出数据为 CSV 格式时是否包含列头。
      • 空字符串转为空值:该项默认勾选,选择导出数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
      • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
      • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
      • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  7. 进行 导出结构设置

    在该项下选择是否 添加删除对象语句。勾选后在导出对象结构文件时,在对象的 CREATE

    语句前都会添加对应的 DROP

    语句。

  8. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导出速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置好该项后会使用 sys 租户的权限进行导出,可提升导出的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 导出时如勾选表和视图之外的其它对象,须配置该项使用 sys 租户账号进行导出。

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  9. 生成导出任务。

    指定好所有信息后,单击面板右下角的 导出 按钮以生成导出任务。

  10. 查看导出任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息并下载导出的数据结构文件。详情请参见 导出任务

    批量导入

    导入设置 面板中,您可以选择同时导入结构和数据到多个数据库对象中。

    Image 447

    操作步骤

  11. 指定 任务名

    进入导入设置面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  12. 选择 导入格式

    ODC 目前支持批量导入 SQL 文件ZIP 压缩文件。您需要在 导入格式 标签下的下拉框中选择需要的文件格式。具体格式信息,请参见 导出导入格式

  13. 上传 导入文件

    单击文件池进入文件资源管理器选择要导入的文件,或者直接将文件拖入文件池中以完成文件上传。上传的文件格式需要与您选择的导入文件格式相同,ZIP 压缩文件支持上传 .zip 结尾的文件。SQL 文件支持上传 .sql 文件。

  14. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需要在 文件编码 下拉框中选择需要的编码格式。

  15. 选择 导入内容

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持 仅导入数据仅导入结构导入数据和结构 三种方式其中导入结构指是否要导入对象的定义语句。您需要在 导入内容 标签下的选择框中选择需要导入的内容。

  16. 选择 数据格式

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持导入 CSV 格式SQL 格式 的数据。具体格式信息,请参见 导出导入格式。当 导入内容仅导入结构导入文件SQL 文件 时,无需选择数据格式。

  17. 进行 导入数据设置。

    导入格式 为 ZIP 压缩文件且 导入内容 不为仅导入结构时需进行导入数据设置。该项包含以下设置项:

    • 导入前清空数据:勾选该项后,导入数据时将首先清空目标对象中原有的数据。

      批量提交数量:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。通过指定批量提交数量,可在导入文件中导入指定数量数据时添加一句 COMMIT

      命令。

    • 跳过的数据类型:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导入数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  18. 进行 导入结构设置

    导入内容 为仅导入数据时,该项不可被指定。在该项下选择当对象结构已存在时的操作。选择 跳过 操作则在导入时跳过导入文件中的结构定义语句直接导入数据,该项会保留对象中的原数据。选择 替换 操作时则执行导入文件中的结构定义语句以重新创建并替换原对象,该项会清空对象中的原数据。

  19. 选择 任务错误处理 方式。

    ODC 提供 停止任务忽略错误继续任务 两种错误处理方式。您需要在 任务错误处理 标签下选择需要的处理方式。

  20. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导入速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导入,可提升导入的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  21. 生成导入任务。

    指定好所有信息后,单击面板右下角的 导入 按钮以生成导入任务。

  22. 查看导入任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息,详情请参见 导入任务

######## 5.6.1.4. 单表导出与导入

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持对指定表导出和导入结构和数据。

进入数据库连接后,左导航栏中单击 标签查看表列表,在表列表中右键目标表名,在弹出的列表中您可以选择使用 单表导出单表导入 功能以导出或导入当前表中的数据和结构。

OceanBase 开发者中心(ODC)对导出与导入数据大小和保留时间的要求如下:

要求说明
ODC 对导入与导出的数据大小有限制对导入上传的文件,最大支持导出 2GB 的数据(压缩后),超出部分无法上传。如需导入大量数据,请使用导数工具 OBLOADER。 对导出的数据,最大支持导出 2GB 的数据(压缩前),超出部分无法导出。如需导出大量数据,请使用导数工具 OBDUMPER。
服务器上文件保留时间任务的状态(成功,失败,取消等)不影响文件的生命周期; 任务本身只会保留 24 h,24 h 后任务被清理后,与任务相关的文件同时会被清除; 如通过任务操作中的 删除 按钮删除任务,与任务相关的文件同时会被删除。

Image 564

单表导出

单表导出的操作页面如下所示批量导出 的操作基本一致。

Image 566操作步骤

  1. 指定 任务名

    进入单表导出面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  2. 选择 导出内容

    ODC 目前支持 仅导出数据仅导出结构导出结构和内容 三种方式其中导出结构指是否要导出目标对象的定义语句。您需要在 导出内容 标签下的选择框中选择需要导出的内容。

  3. 选择 数据格式

    ODC 目前支持将数据导出为 CSV 格式SQL 格式。当 导出内容仅导出结构 时,只支持导出数据为 SQL 格式。具体格式信息,请参见 导出导入格式

  4. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需要在 文件编码 下拉框中选择需要的编码格式。

  5. 查看 导出对象

    导出对象 标签下的表格中会展示当前表的 对象名称对象类型 信息。

  6. 进行 导出数据设置。

    导出内容 为仅导出结构时无需进行导出数据设置,该项包含以下设置项:

    • 使用全局快照:勾选该项后 ODC 将导出全局中指定表的最新快照点中的数据,勾选该项可以保证全局数据的统一性。

      单表提交数量 (SQL 格式):单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。选择 数据格式 为 SQL 格式时,通过指定单表提交数量,可在导出文件中导出指定数量数据时添加一句 COMMIT

      命令。

    • 不导出的数据类型:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导出数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

    • 指定 CSV 格式信息。当 数据格式 为 CSV 格式且 导出内容 不为仅导出结构时,单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

      • 包含列头:该项默认勾选,选择导出数据为 CSV 格式时是否包含列头。
      • 空字符串转为空值:该项默认勾选,选择导出数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
      • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
      • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
      • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  7. 进行 导出结构设置

    在该项下选择是否 添加删除对象语句。勾选后在导出对象结构文件时,在对象的 CREATE

    语句前都会添加对应的 DROP

    语句。

  8. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导出速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导出,可提升导出的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 导出时如勾选表和视图之外的其它对象,须配置该项使用 sys 租户账号进行导出。

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  9. 生成导出任务。

    指定好所有信息后,单击面板右下角的 导出 按钮以生成导出任务。

  10. 查看导出任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息并下载导出的数据结构文件。详情请参见 导出任务

    单表导入

    单表导入的操作页面如下所示,与 批量导入 的操作基本一致:

    Image 565操作步骤

  11. 指定 任务名

    进入单表导入面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  12. 选择 导入格式

    ODC 目前支持单表导入 CSV 文件ZIP 压缩文件。您需要在 导入格式 标签下的下拉框中选择需要的文件格式。具体格式信息,请参见 导出导入格式

  13. 上传 导入文件

    单击文件池进入文件资源管理器选择要导入的文件,或者直接将文件拖入文件池中以完成文件上传。上传的文件格式需要与您选择的导入文件格式相同,ZIP 压缩文件支持上传 .zip 结尾的文件。SQL 文件支持上传 .sql 文件。

  14. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需要在 文件编码 下拉框中选择需要的编码格式。

  15. 选择 导入内容

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持 仅导入数据仅导入结构导入结构和内容 三种方式其中导入结构指是否要导入对象的定义语句。您需要在 导入内容 标签下的选择框中选择需要导入的内容。

  16. 选择 数据格式

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持导入 CSV 格式SQL 格式 的数据。具体格式信息,请参见 导出导入格式。当 导入内容仅导入结构导入文件SQL 文件 时,无需选择数据格式。

  17. 进行 导入数据设置。

    导入格式 为 ZIP 压缩文件且 导入内容 为仅导入结构时无需进行导入数据设置。该项包含以下设置项:

    • 导入前清空数据:勾选该项后,导入数据时将首先清空目标对象中原有的数据。

      单表提交数量:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。通过指定单表提交数量,可在导入文件中导入指定数量数据时添加一句 COMMIT

      命令。

    • 跳过的数据类型:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导入数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  18. 指定 CSV 格式信息。

    导入格式 为 CSV 文件时,单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

    • 包含列头:该项默认勾选,选择导入数据为 CSV 格式时是否包含列头。
    • 空字符串转为空值:该项默认勾选,选择导入数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
    • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
    • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
    • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  19. 选择 任务错误处理 方式。

    ODC 提供 停止任务忽略错误继续任务 两种错误处理方式。您需要在 任务错误处理 标签下选择需要的处理方式。

  20. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导入速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导入,可提升导入的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  21. 生成导入任务。

    指定好所有信息后,单击面板右下角的 导入 按钮以生成导入任务。

  22. 查看导入任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息,详情请参见 导入任务

5.6.2. 模拟数据

OceanBase 开发者中心(OceanBase Developer Center,ODC)提供模拟数据功能供您在测试数据库性能或者验证功能等需要大量模拟数据的场景下,能够快速根据表中的字段类型生成数据。

Image 171

使用模拟数据功能生成数据的步骤如下:

  1. 进入 模拟数据 面板。

    进入 ODC 单击目标连接进入对应的数据库对象管理页面后,单击上方导航栏中的 工具 标签,在弹出的下拉菜单中选择 模拟数据 以弹出 模拟数据 面板。

  2. 查看 所属连接

    显示目标任务所在的数据库连接名称。

  3. 指定 所属库

    选择需变更的数据库。

  4. 指定生成数据的表。

    在模拟数据面板的 标签下的下拉列表中选择要在其中生成数据的表。下拉列表中会展示当前实例中所有存在的表。

  5. 指定生成的数据量。

    在模拟数据面板的 模拟生成数据量 标签下的文本框中输入您需要生成的数据量。默认会生成 1000 条数据,最多生成不超过 1000000 行数据,所以您可以在文本框中输入 1~1000000 间的任意正整数。

  6. 指定批量处理数据的大小。

    在模拟数据面板的 批处理大小 标签下的文本框中指定每生成多少条数据进行一次提交(COMMIT

    命令)操作。默认每生成 200 条数据进行一次提交,最大不超过 500 条,所以您可以在文本框中输入 1~500 间的任意正整数。

  7. 选择在表中插入模拟数据时是否清空表。

    在模拟数据面板的 插入模拟数据清空表 标签下的单选列表中选择当在表中插入模拟数据时是否清空表中原有的数据。

  8. 选择数据冲突处理方式。

    在模拟数据面板的 数据冲突处理方式 标签下的单选列表中选择当生成的数据有冲突时处理的方式。ODC 提供以下处理方式:

    • 忽略:默认为忽略,若数据有冲突则冲突数据不被插入。
    • 覆盖:若数据有冲突则删除原数据插入新数据。
    • 终止:若数据有冲突则停止生成数据终止整个模拟数据任务。
  9. 设置数据生成规则。

    在模拟数据面板的 规则设置 标签下的表格会根据您在第 2 步选择的表展示表的 字段名称字段类型 信息。您可以在 规则细则 列中针对目标字段设置模拟数据生成的规则。 其中 规则 列中会根据字段类型提供一些内置的对应规则,您可以按需进行选择。细则 列会根据您选择的规则展示具体的规则信息,您可以单击细则信息后的编辑图标对细则信息进行修改。

  10. 提交信息,生成模拟数据任务。

    单击模拟数据面板右下角的 提交 按钮生成模拟数据任务。您可以在 任务中心 面板查看任务详情,详情请参见 模拟数据任务

5.6.3. 数据库变更

概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)SQL 窗口中的语句是同步执行的,当语句运行时间过长时可能会出现执行超时的问题。可使用数据库变更工具来运行耗时较高的 SQL 语句以避免语句执行超时。

Image 441

操作步骤

新建数据库变更的步骤如下:

  1. 进入 数据库变更 面板。

    1. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面;
    2. 单击顶部导航栏中的 工具 标签;
    3. 在弹出的下拉菜单中选择 数据库变更 以弹出 新建数据库变更 面板。
  2. 查看 所属连接(当前连接,不可切换)。

  3. 选择 所属库(默认显示当前库)。

  4. 指定 SQL 内容

    数据库变更支持两种指定 SQL 内容的方式:

    1. SQL 录入:SQL 录入为默认方式,可在编辑区中直接录入 SQL 脚本。

      说明

单击 IN 值转化 按钮,可将批量复制的数据转化成 in('A','B')格式。

  • 列值分隔符号为换行符。

    • 行值分隔符为空格或 TAB 值。
    1. 上传附件:选择上传附件方式后,单击文件池进入文件资源管理器选择要导入的文件或者直接将导入文件拖入文件池中以完成文件上传。

      说明

      • 最多支持上传 500 个文件,总文件大小不超过不超过 256 MB。
      • 默认附件按上传的先后排序,可拖拽改变顺序,任务执行时按文件顺序执行。
      • 当前只支持上传 .sql 后缀的 SQL 文件。
  1. 指定 回滚方案

    回滚方案支持 SQL 文本录入及上传附件方式,具体参见“指定 SQL 内容”步骤。

  2. 分隔符:支持 delimiter 分隔符号。

  3. 查询结果限制:支持设置查询结果限制 (1-100w)。

  4. 指定 任务错误处理 方式。

    异步执行工具提供两种任务错误处理方式:

    1. 停止任务:停止任务为默认方式,运行脚本的过程中出现错误时会停止运行。
    2. 忽略错误继续任务:选择忽略错误继续任务方式,在运行脚本出现错后将跳过错误语句继续执行。
  5. 指定 执行超时时间

    执行超时时间 文本框中输入数字指定语句执行超时时间,单位为小时(默认超时时间为 48 小时,最大不超过 480 小时)。

  6. 指定 任务描述(选填)。

    可在 任务描述 文本框中输入不超过 200 个字符的描述信息,该项为选填项。

  7. 生成数据库变更任务。

    在面板中完成上述信息的指定后,单击右下角的 新建 按钮以提交信息生成数据库变更任务。

  8. 新建完成后,会自动转入 任务中心符号数据库变更 页面,可单击 查看 按钮,在任务详情页面查看 任务信息执行结果任务日志

5.7. 使用回收站

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击目标连接名后,进入对应的数据库对象管理页面后,单击右上角的 回收站 标签即可进入回收站页面。

回收站旨在短暂保存被删除的数据库对象,可帮助您轻松查询和还原被删除的数据库对象。

原理上,回收站是一个数据字典表,用于放置已删除的数据库对象信息。此处删除系指 DROP

操作,DELETE

操作删除的数据不会进入回收站。因此被 DROP

操作删除的对象并没有被数据库彻底删除,此类对象仍会占用空间,您可进行 PURGE

操作或在 ODC 中清空回收站以彻底释放空间。

如图所示,回收站页面展示以下信息:

回收站

信息说明
原名称显示被删除的对象的名称(用户创建对象时自定义的名称)。 单击 原名称,可升序或降序。
对象名称系统中为该对象命名的名称。 与原名称不同,对象名称由系统指定不会出现重复名称,可以作为对象的唯一标识。
对象类型显示被删除的对象的类型。
进入回收站时间显示该对象被删除的时间戳,以方便更具体的回溯被删除的对象。

回收站页面的导航栏中同时提供以下功能键:

操作键说明
清空单击清空,清空回收站中当前所有的被删除对象并释放空间。
刷新单击刷新,刷新回收站中被删除对象的列表。
清除单击清除,将当前选中的对象从回收站中立即删除并释放存储空间。
还原单击还原,将当前选中的对象从回收站中恢复到原来的位置。
搜索在搜索框中输入对象名称,搜索被删除的对象。
设置单击设置,选择是否启用回收站以及是否启用 Truncate Table。 启用回收站:删除的对象会送入回收站。 启用 Truncate Table:支持保留对象数据。
选择所有对象单击复选框图标复选框,选择所有对象或取消所有对象。 回收站-选择所有对象

5.8. 查看操作记录

本文档旨在介绍如何在 OceanBase 开发者中心(OceanBase Developer Center,ODC)上查看操作事件的历史记录。

背景信息

通过 ODC 查看操作记录,可满足以下需求:

  • 安全合规:数据库操作记录支持的多项功能协助用户完成安全合规建设,帮助用户满足安全合规要求。

  • 实时监测:数据库操作记录提供公共连接相关的业务操作记录功能。

  • 事件追溯:数据库操作记录可对数据库行为进行周期性对比,帮助用户快速定位异常点和异常行为,并提供风险检索能力,帮助用户追溯风险来源,并且可根据访问来源实现数据库的关联查询和关联分析,使数据库的访问行为有效定位到具体业务工作人员。

    操作记录列表

说明

所有用户均支持通过此入口查看自己的操作记录。

操作记录当前永久保留。

  1. 进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,在顶部导航栏单击 操作记录 标签。

    操作记录1

  2. 弹出 操作记录 标签。

    操作记录

    • 可通过列表上方的刷新按钮刷新可刷新列表信息。

    • 通过 执行时间 筛选时间,可支持查看最近7天/最近15天/最近30天/最近半年以及自定义时间段查看。

      操作记录列表中展示并提供基本信息如下所示。

信息项说明
事件类型显示操作事件类型,包括个人设置、密码管理、连接管理、脚本管理、数据库操作、组织配置、成员管理、资源组管理、模拟数据、数据库变更、导入、导出和任务流程等。 单击筛选图标筛选,可筛选事件类型。
事件操作显示操作事件信息。 单击筛选图标筛选,可筛选事件操作。
所属连接显示操作所属的连接名。 单击搜索图标搜索,可搜索所属连接。
IP 来源显示 IP 来源。 单击搜索图标搜索,可搜索 IP。
执行时间显示操作执行的时间。 默认操作记录列表按执行时间排序,最新的执行记录显示在最前。 单击图标升序降序,可升序或降序。
执行结果显示执行结果,包括 成功失败。 单击筛选图标筛选,可筛选执行结果。
操作显示 查看 功能键。

查看操作记录

在操作记录列表中,单击 操作 项下的 查看 按钮,以弹出 记录详情 面板。

前台-操作记录-查看

记录详情中可查看 事件类型事件操作IP 来源执行细则执行人执行时间执行结果 信息。

相关信息

有关管理操作记录,请参见公共资源管控台 操作记录管理

5.9. 任务管理

5.9.1. 概述

使用 OceanBase 开发者中心(OceanBase Developer Center,ODC)提供的各种 工具 功能会生成对应的任务,可在任务中心查看对应的任务状态和任务详情信息。

登录 ODC 进入目标连接后,单击上方导航栏中的 任务 按钮会弹出 任务中心 面板,在面板中可查看对应任务的详细信息。

本章节将分篇介绍以下任务管理的相关功能:

5.9.2. 导入任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建批量导入和单表导入任务后,您可以在 任务中心 面板的 导入 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 导入 页签展示任务列表。

说明

最大支持 3 个导入任务并行运行,后续任务在队列中等待运行。

任务列表

Image 453进入导入任务页签后,任务列表会展示最近 48 小时内的任务。列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看重试终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
重试任务失败时,单击该按钮重新发起该任务。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息、导入文件信息和导入对象信息。

  • 任务基本信息:展示 任务名连接名模式名任务类型创建时间重试次数重试时间 等信息。

  • 导入文件信息:展示了创建导入导出任务时您选择的 导入文件格式导入文件文件编码导入内容数据格式导入数据设置导入结构设置、任务错误处理sys 租户账号配置 等信息。

  • 导入对象信息:展示了该任务中您选择的对象在导出或导入数据时的完成情况,包括

    对象名称对象类型结构处理状态 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

5.9.3. 导出任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建批量导出和单表导出任务后,您可以在 任务中心 面板的 导出 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 导出 页签展示任务列表。

说明

最大支持 3 个导出任务并行运行,后续任务在队列中等待运行。

任务列表

Image 454

进入导出任务页签后,任务列表会展示最近 48 小时内的任务。列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看下载重试终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
下载任务成功时,单击该按钮下载导出文件至本地。
重试任务失败时,单击该按钮重新发起该任务。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息、导出文件信息和导出对象信息。

  • 任务基本信息:展示 任务名连接名模式名任务类型创建时间重试次数重试时间 等信息。

  • 导出文件信息:展示了创建导出任务时您选择的 导出内容数据格式文件编码导出数据设置导出结构设置、任务错误处理sys 租户账号配置 等信息。

  • 导出对象信息:展示了该任务中您选择的对象在导出或导出数据时的完成情况,包括

    对象名称对象类型结构处理状态数据总记录数数据已处理数数据处理状态 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

5.9.4. 模拟数据任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建异步执行任务后,您可以在 任务中心 面板的 模拟数据 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 模拟数据 页签展示任务列表。

任务列表

Image 455

进入模拟数据任务页签后,列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看下载终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
下载任务成功时,单击该按钮下载模拟数据对应的 SQL 文件至本地。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息和模拟数据设置信息。

  • 任务基本信息:展示 任务名称连接名称模式名任务类型创建时间 等信息。

  • 模拟数据设置信息:展示了创建模拟数据任务时您选择的 目标表模拟生成数据量批处理大小插入模拟数据前清空表数据冲突处理方式实际插入记录冲突记录忽略插入清除记录规则设置展示 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

5.9.5. 数据库变更任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建异步执行任务后,您可以在 任务中心 面板的 异步执行 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 异步执行 页签显示任务列表。

任务列表

Image 456

进入异步执行任务页签后,列表中会显示以下信息并且支持筛选和排序:

信息项说明
所属连接显示目标任务所在的数据库连接名称。
任务名显示新建任务时指定的任务名。
创建时间显示该任务生成的具体日期和时间。
任务状态显示任务的当前状态,有 准备中运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
操作提供 查看终止删除 等任务管理操作。 查看:单击该按钮进入任务详情页面以查看目标任务的 任务信息任务日志。 终止:任务未完成时,单击该按钮终止任务。 删除:任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务信息

任务-异步执行-任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板中单击 任务信息 标签查看任务基本信息和异步执行设置信息。

信息项说明
任务基本信息显示 任务名创建时间SQL 内容分隔符、查询结果限制、任务错误处理执行超时时间任务描述 等信息。
任务执行信息显示任务的 执行结果执行失败记录 等信息。 说明 如任务中包含 SELECT 语句,在完成时任务详情里提供 查询结果下载查询结果 按钮。 查询结果:单击查询结果,跳转至 SQL 窗口页,展示结果集。 下载查询结果:支持将单条或多条 SELECT 的查询结果( CSV 格式的文件)打包成一个压缩文件,下载至本地。

任务日志

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

信息项说明
全部日志全部日志显示任务的 INFOERRORWARN 日志等全量信息。 单击 查找下载复制 按钮,可查找信息、下载或复制全部日志信息。
告警日志告警日志单独显示任务的 ERRORWARN 日志。当任务失败时,可通过告警日志查看错误信息。 单击 查找下载复制 按钮,可查找信息、下载或复制告警日志信息。

5.10. 会话管理

应用与数据库的连接被称为一个会话,在 OceanBase 开发者中心(OceanBase Developer Center,ODC)会话管理页面您可以查看连接到当前数据库所有会话的详细信息。同时在会话属性页面 ODC 提供了可视化界面使您可以清晰直观的查看和修改当前数据库支持的会话变量和全局变量。

进入 ODC 对应的数据库连接后,单击页面上方导航栏的 会话 按钮,可选择进入 会话属性会话管理##k9Jrr页面。

Image 186

会话属性

会话管理2

会话属性即数据库变量,OceanBase 中有会话变量和全局变量:

  • 会话变量:当客户端连接到数据库后,数据库会复制全局变量以自动生成会话变量。会话变量的修改只对当前会话生效。
  • 全局变量:数据库实例共享全局变量。这意味着不同用户共享这些全局变量,且数据库会保存您对全局变量做出的更改,断开连接并再次进入数据库时,更改依旧有效。

说明

  • 当前版本的 ODC 中不支持编辑全局变量,可对会话变量进行修改。

  • ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,所以您需要手动提交事务。您可以修改变量 autocommit 的值进行设置。

  • 事务手动提交模式下,需要设置 ob_trx_idle_timeout 大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout 设置的时间,连接会终止。同时需要注意 ob_trx_idle_timeout 设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    ODC 提供了可视化界面使您可以清晰直观的查看与修改当前数据库支持的变量。对于变量值的修改:

  • 针对会话变量,当前版本 ODC 区分了查看态和编辑态,选中需修改的变量后,单击工具栏中的编辑按钮以进入编辑弹窗进行修改。编辑完成后单击 确定 按钮,在弹出的 SQL 确认 页面中单击 执行,修改生效。

  • 如变量的值为字符或数字类型,可在变量编辑页面中直接输入修改值。

  • 如变量的值为枚举类型,ODC 会在变量值的编辑框中列举出该变量支持的值的集合,可在不使用准确记忆变量名和值的情况下通过可视化界面完成修改,此方式可降低用户记忆变量的成本并提高变量修改的效率。

    会话管理

    与当前数据库的连接被称为一个会话,在会话管理页面您可以查看连接到当前数据库的所有会话和以下会话信息:

会话信息说明
会话 ID展示当前会话的 ID,是会话的唯一标识。
用户会话登录使用的数据库用户名。
来源发起会话的地址。
数据库名当前会话访问的数据库名称。
状态展示当期会话的状态,有 SLEEP(休眠)和 ACTIVE(活跃)两种状态。
命令会话当前执行的命令类型。
执行时间(s)会话当前执行 SQL 所花的时间。
SQL会话当前执行 SQL 的具体内容。
OBProxy会话访问的代理地址。

管理会话

会话管理页面的导航栏中提供了以下功能键供您管理会话:

  • 刷新:刷新会话列表。
  • 关闭会话:终止当前会话。
  • 关闭会话当前查询:终止当前会话正在进行的 SQL 执行进程。

5.11. 数据库对象

5.11.1. 表对象

######## 5.11.1.1. 概述

表由行(Row)和列(Column)组成的。每列称为一个字段,每列的标题称为字段名。行包括了若干列信息项,一行数据称为一个或一条记录。一张数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于唯一地确定一条记录。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击表标签可以查看表列表。在表列表中双击表名进入表管理页面,您可以在表管理页面的数据页签查看和修改表的数据,或在属性页签查看表的基本信息、列、分区、索引、约束和 DDL 等属性信息。

注意

分区信息查看依赖 root@sys 账号,所以您需要在创建连接的高级配置中设置 root@sys 用户。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V1.4.1 及以上。

本章节将分篇介绍以下 ODC 中表对象的相关操作:

######## 5.11.1.2. 新建表

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左侧导航栏中单击 标签可查看表列表。在表列表的右上角,单击 + 创建表,或在顶部导航栏中单击 新建 以创建所需的对象。

新建表

如上图所示,创建表包含以下 6 个步骤:

  1. 设置基本信息

  2. 设置列

  3. 设置分区规则

  4. 设置索引

  5. 设置约束

  6. 点击 提交 按钮,等待表生成。

    操作步骤

    步骤一:设置基本信息

    指定 表名称 和表的 描述(可选)。

说明

在 MySQL 模式下,还需指定 默认字符集默认排序规则

步骤二:设置列

如下图所示,添加一列时需指定以下信息:

image

信息项说明
字段名称指定字段(列)的名称。
数据类型指定字段(列)的数据类型。
非空是否限制该字段(列)的值不能为空。
自增(MySQL 模式下)选择是否为自增列。
缺省值该字段(列)的默认值。
字段注释对该字段的说明。

设置列页面同时提供三个功能键:

功能项说明
+新建添加一下新字段。
编辑对选定的字段进行编辑或直接双击单元格进行编辑。
删除删除当前选中的字段。

步骤三:设置分区规则

image

  • OceanBase 中 MySQL 模式支持六种分区方法:keyHashRangeRange_columsListList_columns

  • Oracle 模式支持三种分区方法:ListRangeHash

    由于在 MySQL 模式和 Oracle 模式下分区的定义不同,所以以下信息在不同模式下的意义略有不同,请根据所选的分区方法按其定义指定以下信息:

信息项说明
分区方法指定分区方法。 MySQL 模式和 Oracle 模式下支持的分区方法不同。
字段选择的字段将成为分区键。
表达式根据表达式的返回值进行分区(Oracle 模式不支持分区表达式)。
分区根据所选的 分区方法,可能需要指定 分区名称分区数量区间上限值值枚举 等信息。 可添加多个分区,并拖动它们进行排序。

步骤四:设置索引

如下图所示,需指定以下信息:

image

信息项说明
索引名为改索引指定的名字。
索引范围默认值是 GLOBAL(全局索引),只有在设置分区的表后方可指定索引范围是否为 LOCAL(局部索引)。
索引类型索引类型目前只支持 BTree。
可选字段选择建索引所在的列,需注意索引列的顺序。
唯一是否唯一索引,即通过索引的方式保证唯一性约束。

设置索引页面同时提供三个功能键:

功能项说明
+新建添加一下新索引。
编辑对选定的索引进行编辑或直接双击单元格进行编辑。
删除删除当前选中的索引。

步骤五:设置约束

image

ODC 中支持设置的表级约束包括以下 4 种:

  • 主键约束:定义一个主键来唯一标识表中的每一行数据。主键约束可为一个字段或是一组字段,一张表中只能设置一个主键约束,且设置完成后不支持编辑。
  • 唯一约束:保证在一个字段或者一组字段里的数据在表中是唯一的,一张表中可设置多个唯一约束。
  • 外键约束:在两个表的数据之间建立连接(可为一列或多列),旨在保持关联表之间数据的一致性、完整性。设置完成后不支持新增和编辑。
  • 检查约束:在编辑数据库数据时,按照设置的检查规则进行校验,校验通过才允许数据修改操作(仅在 Oracle 模式下支持 检查约束)。由于 OceanBase 数据库中 MySQL 模式和 Oracle 模式支持的约束不同,而不同约束所需的信息也略有不同,因此请根据所选的约束方法按页面上的要求指定所需信息:
信息项说明
约束名称指定约束的名称。
列信息选择一个字段或是一组字段作为约束。
是否启用指定创建的约束是否生效。有些情况下,可能需要约束暂不生效,例如导入大量数据时,通过禁用约束可提高效率。
可延迟状态支持设置三种延迟状态 立即验证不可延迟延迟验证
关联schema(Oracle 模式下)使用 外键约束 时需指定关联表(父表)所在的 Schema。
关联数据库(MySQL 模式下)使用 外键约束 时需指定关联表(父表)所在的数据库。
关联表使用 外键约束 时需指定关联表(父表)。
关联字段使用 外键约束 时需指定关联表(父表)。
删除指定当关联表(父表)中的数据被删除时,当前表(子表)对应的动作。可指定 CASCADENO ACTION、RESTRICTSET NULL 等四种对应的动作。 MySQL 和 Oracle 模式下所支持的外键动作不同: MySQL 模式下,OceanBase 可指定 CASCADE、NO ACTION、RESTRICT 和 SET NULL; Oracle 模式下,OceanBase 可指定 CASCADE、NO ACTION 和 SET NULL。 注意 OceanBase 暂不支持 SET NULL 动作。 相关语法,请参考 OceanBase 或 MySQL/Oracle 官网文档。
更新指定当关联表(父表)中的数据被更新时,当前表(子表)对应的动作。可指定 CASCADENO ACTIONRESTRICTSET NULL 等四种对应的动作。 MySQL 和 Oracle 模式下所支持的外键动作不同: MySQL 模式下,OceanBase 可指定 CASCADE、NO ACTION、RESTRICT 和 SET NULL; Oracle 模式下,OceanBase 可指定 NO ACTION。 注意 OceanBase 暂不支持 SET NULL 动作。 相关语法,请参考 OceanBase 或 MySQL/Oracle 官网文档。
检查条件指定执行 检查约束 时校验数据的检查规则。

设置约束页面同时提供三个功能键:

功能项说明
+新建添加一下新约束。
编辑对选定的约束进行编辑或直接双击单元格进行编辑。
删除删除当前选中的约束。

######## 5.11.1.3. 表列表

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 标签可查看表列表。表列表中展示当前连接的数据库中存在的表对象,可在表列表中查看该对象的结构树或右键目标对象以进行管理操作。

结构树

如下图所示,在表列表中单击目标表名前的下弹标志会在弹出的下拉列表中展示其结构树,对象表的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作中的 管理操作键表

Image 188

管理操作

鼠标右键单击架构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键以供快速管理目标对象。

下述为管理操作键表:

操作键说明
查看表结构进入表属性页签,全量查看表的基本信息、列、索引、约束和 DDL 等信息。
查看 DDL进入表属性页签,查看定义当前表的 SQL 语句。
查看表数据进入表数据页签,查看表中的数据。
新建表进入新建表页面,根据步骤创建新的表对象。
模拟数据进入 模拟数据 面板。
单表导入向当前表中导入数据,具体信息请查看本手册文档 单表导出与导入
单表导出导出当前表中的数据,具体信息请查看本手册文档 单表导出与导入
打开 SQL 窗口新建一个 SQL 窗口。
复制复制表名、select 语句、insert 语句、update 语句或 delete 语句。
重命名重命名当前表对象。
删除删除当前表对象。
刷新对当前表对象进行一些管理操作后,刷新结构树以展示最新信息。
查看列/索引/约束进入表属性页签的列/索引/约束信息部分,查看表对象中列/索引/约束的具体信息。
新建列/索引/约束弹出新建列/索引/约束页面。

######## 5.11.1.4. 表属性管理

概述

数据库对象-表对象-表属性管理-概述

  1. 在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页单击连接名,进入连接;

  2. 在左侧导航栏中单击 标签可查看表列表;

  3. 在表列表中双击表名进入表管理页面;

  4. 在表管理页面,单击上方导航栏中的 属性 按钮进入属性页签。

    在属性页签中,可查看当前表中以下属性信息:

信息项说明
表名称显示当前表的名字,同时可在此修改表的名字。
默认字符集当前表所用的字符集。
默认排序规则当前表所用的排序规则。
描述显示创建表时所添加的描述,同时可在此修改对表的描述。

列信息

表信息_列.png

在属性页签的左导航栏中单击 标签查看当前表中所包含的列,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个字段(列)。
编辑编辑当前选中的字段,在弹出的编辑窗口中可修改 数据类型主键非空值缺省值字段注释 等信息(字段名称 不可修改)。或双击单元格直接对其内容进行修改。
删除删除当前选中的字段。
刷新刷新字段信息。
筛选字段名称 右侧,单击筛选按钮,筛选或搜索字段。

索引信息

表信息_索引.png

在属性页签的左导航栏中单击 索引 标签查看当前表中包含的索引,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个索引。
删除删除当前选中的索引。

说明

目前暂不支持修改表中已创建的索引。

约束信息

表信息_约束.png

在属性页签左导航栏单击的 约束 标签查看当前表中包含的约束信息,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个约束。
编辑编辑当前选中约束。
删除删除当前选中的约束。
刷新刷新约束列表。

说明

  • 不同约束方法支持的功能键不同,当导航栏中功能键为灰色或不存在时,表明该约束方法暂不支持该操作。

    外键约束:OceanBase Oracle 模式支持通过 all_constraints

    查询外键;OceanBase MySQL 模式自 OBServer V2.2.6 版本起,支持通过 information_schema.key_column_usage 查询外键。。

    分区信息

    表信息_分区.png

    在属性页签的左导航栏中单击 分区 标签查看当前表中所包含的 分区名称顺序分区方法表达式(Oracle 模式下展示分区键)、区间上限值值枚举 等信息(不同分区方法展示的分区信息不同)。且导航栏中提供以下功能键:

操作键说明
新建即从未定义的区间范围划分出一个新分区。
编辑编辑选中的分区的分区信息。
分裂对已定义的分区进行拆分,使分区的粒度变小。
删除删除选中的分区,分区的数据也随之销毁。
刷新刷新分区列表。

DDL 信息

Image 702

可在 属性 页签中单击左导航栏中的 DDL 标签,查看当前表的 DDL 语句(即查看定义当前表的 SQL 语句,不支持编辑)。工具栏中提供 格式化 工具以方便查看语句。

######## 5.11.1.5. 表数据管理

在OceanBase开发者中心(OceanBase Developer Center,ODC)点击连接名进入连接后,在左导航栏中点击 标签可以查看表列表。在表列表中双击表名进入表管理页面,点击上方导航栏中的 数据 按钮进入数据页签,在该页签可对当前表中的数据进行查看、新增、修改和删除操作。

注意

ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,所以您需要手动提交事务。您可以在 会话属性 页面修改变量 autocommit 的值进行设置,详细操作请参见 管理会话

查看数据

进入数据页签后,ODC 以表格的形式展示表中的数据,并导航栏中提供了以下功能键供您查看和管理表中的数据:

  • 开启编辑:进入编辑态,以供您直接修改表中的数据。

  • 提交:Oracle 模式下自动提交默认设置为关(OFF),所以您需要单击该按钮以手动提交当前事务。单击时会提示您当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

  • 回滚:Oracle 模式下自动提交默认设置为关(OFF),单击该按钮以回滚当前事务。单击时会提示您当前连接采用共享 Session,回滚操作会对所有窗口生效,单击 确认 后回滚生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

  • 刷新:刷新表中数据。

  • 列模式:以表格的形式展示当前被选中行的数据。在 列模式 页面可以进行上一行、下一行的切换展示,在列数量比较多的场景下,列模式 比较方便查看单行数据。

  • 列管理:筛选在页面中展示的列。

  • 回到开始:跳转至第一页。

  • 上一页:向上翻页。

  • 下一页:向下翻页。

  • 跳至底部:跳转至最后一页。

  • 展示数据量:设置在页面中展示的行数。

  • 导出:将表中数据导出,可以选择导出的文件类型(CSV 或 SQL)、字符集(GBK 或 UTF8)和行数。结果集最多导出 10000 行数据。

    编辑数据

    如下图所示,在数据页签导航栏中单击 开启编辑 可进入编辑态。ODC 中用颜色标识您对表中数据的操作,新增的数据用绿色标识,删除的数据用红色标识,修改后的数据用橙色标识。

    编辑态下,导航栏提供了以下操作键功能编辑表中的数据:

  • 添加行:单击该功能键将在表中插入一个空行。双击单元格以插入数据,ODC 提供了校验和工具来帮助您更快捷方便的插入数据。例如,当前单元格在日期类型的列中,ODC 会为您提供一个日历窗口来帮助您直接选择要插入的日期值。

  • 删除行:在表中删除当前选中的行。

  • 复制当前行:在表中复制当前选中的行。

  • 列模式:以表格的形式展示当前被选中行的数据。在 列模式 页面可以进行上一行、下一行的切换展示,在列数量比较多的场景下,列模式 比较方便查看单行数据。

  • 列管理:筛选在页面中展示的列。

  • 回到开始:跳转至第一页。

  • 上一页:向上翻页。

  • 下一页:向下翻页。

  • 跳至底部:跳转至最后一页。

  • 展示数据量:限制在页面中展示的行数。

  • 取消:退出编辑态。

  • 确认修改:生成对应操作的 SQL 语句,确认语句无误后,单击 执行 使修改生效。当自动提交设置为开(ON)时,单击该按钮事务被自动提交。

  • 修改并提交:Oracle 模式下自动提交默认设置为关(OFF),所以您需要单击该按钮以手动提交当前事务。单击时会提示您当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

5.11.2. 视图对象

######## 5.11.2.1. 概述

视图是基于一个或多个表(或视图)而创建的虚拟表,视图基于的表称为基表。视图本身不包含数据,通过它可以对基表里面的数据进行查询和修改。所以视图的定义存在数据字典中,但是与此定义相关的数据并没有再存一份于数据库中。视图看上去非常像数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据,相反地,基表数据的改变也会反映在由基表产生的视图中。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击视图标签可以查看视图列表。在视图列表中双击视图名进入视图管理页面,您可以在视图管理页面的数据页签查看视图的数据,或在属性页签查看视图的基本信息、列和 DDL 等属性信息。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V1.4.1 及以上。

本章节将分篇介绍以下 ODC 中视图对象的相关操作:

######## 5.11.2.2. 新建视图

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 视图 标签可以查看视图列表。在视图列表的右上角,单击 + 创建视图,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

新建视图需要进行以下 4 步操作:

  1. 指定基本信息

  2. 基表选择(选填)

  3. 字段选择(选填)

  4. 确认 SQL

    Image 192

    指定基本信息

    在新建视图页面,第一步需要指定基本信息。基本信息 页签中包含以下信息项:

  • 视图名称:为视图指定一个名称。

  • 检查项:检查项是对写入数据的约束检查,OceanBase 暂时不支持,默认值为

    完成基本信息的指定后,单击页签左下角的 确认 按钮,完成当前步骤。您可以直接单击页面下方的 下一步:确认 SQL 按钮进入第四步 确认 SQL,也可按需进入第二步进行基表选择的操作。

    基表选择(选填)

    指定基本信息后,您可以按需继续进行第二步基表选择的操作,该步骤可跳过。

    基表选择 页签中,左侧的列表按 Schema->库->表/视图的层级关系展示了可被选择的基表,列表支持搜索。在基表列表中选中目标表或视图,单击列表旁的添加按钮(>)将选中的表或视图添加进页签右侧的表操作区中。

    在表操作区中,可对选择的基表进行以下操作:

  • 设置别名:为选中的基表设置一个别名,可选操作。在表操作区中单击表名后的 \<别名> 标签在文本框中输入别名。

  • 设置关联关系:表操作区中存在两个或两个以上的表时可通过下拉框选择表与表之间的关联关系,默认值为 JOIN,最后一张表无需设置关联关系。单击别名标签后的下拉列表标签()进行选择,可选 JOININNERJOINLEFTJOINRIGHTJOINCROSSJOINFULLJOINUNIONUNIONALLINTERSECTMINUSLEFTOUTERJOINRIGHTOUTERJOINFULLOUTERJOIN 等关联关系。

  • 调整关联顺序:可直接在表操作区中拖动选择的基表进行顺序的调整。当将选中的表拖动为最后一张表时该表之前设置的关联关系会被清空。

  • 删除基表:在表操作区中单击每张表后的删除按钮,可将该表从表操作区中删除,删除表会附带删除当前表与下一张表的关系。

    完成基表的选择和设置后,单击页签左下角的 确认 按钮,完成当前步骤。

    字段选择(选填)

    完成基表选择后,您可以进行第三步字段选择的操作。若您跳过第二步基表选择将无法进行字段选择。

    字段选择 页签中,左侧的列表按 Schema->库->表/视图的层级关系展示了在第二步被选择的基表所包含的字段,列表支持搜索。在字段列表中选中目标字段,单击列表旁的添加按钮(>)将选中的字段添加进页签右侧的字段操作区中。

    在字段操作区中,可对选择的字段进行以下操作:

  • 设置别名:为选中的字段设置一个别名,可选操作。在字段操作区中单击字段名后的 \<别名> 标签在文本框中输入别名。

  • 调整关联顺序:可直接在字段操作区中拖动选择的字段进行顺序的调整。

  • 删除字段:在字段操作区中单击每个字段后的删除按钮,可将该字段从字段操作区中删除。

  • 自定义字段:单击字段操作区右上角的 +自定义 标签会在字段操作区中添加一个字段,您需要为新增的字段指定字段名称和别名。

    完成字段的选择和设置后,单击页签左下角的 确认 按钮,完成当前步骤。

    确认 SQL

    完成上述所有信息的指定后,单击页面上 下一步:确认 SQL 按钮以进入语句编辑页面。

    在语句编辑页面中会根据 基本信息基表选择字段选择 页签中指定的信息生成对应的视图定义语句,您需要按需补齐语句。补齐视图创建语句后,单击页面右上角的 创建 按钮,完成视图的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
上一步回到 新建触发器 页面,您可以继续编辑或修改 基本信息高级设置 页签中的指定的值。

######## 5.11.2.3. 管理视图

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 视图 标签可查看视图列表,在视图列表中展示了当前连接的数据库中存在的视图对象。

可在视图列表中查看该对象的 结构树 或右键目标对象以进行 管理操作。或在视图列表中双击目标视图名进入视图管理页面,可在视图管理页面的 属性和数据页签

结构树

如下图所示,在视图列表中单击目标视图名前的下弹标志会在弹出的下拉列表中展示其结构树,对象视图的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 193

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看视图属性进入 属性 页签,全量查看视图的基本信息、列和代码等信息。
查看视图数据进入 数据页签,查看视图中的数据。
新建视图进入新建视图页面,根据步骤创建新的视图对象。
删除删除当前视图对象。

属性和数据页签

  • 属性页签:

    • 基本信息:查看 视图名称检查项创建人 等信息。
    • :查看视图对应基表的 字段名称数据类型字段注释 等信息。
    • 代码:当前视图的定义脚本。
  • 数据页签:展示视图中包含的字段名(列)。

    Image 818

5.11.3. 函数对象

######## 5.11.3.1. 概述

函数即定义了一组 SQL 脚本的集合,可以在SQL语句中对函数进行调用以返回一个指定的结果。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击函数标签可以查看函数列表。在函数列表中双击函数名进入函数管理页面,您可以在函数管理页面查看函数的基本信息、参数和 DDL 等信息。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V2.0.0 及以上。

本章节将分篇介绍以下 ODC 中函数对象的相关操作:

######## 5.11.3.2. 新建函数

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 函数 标签可以查看函数列表。在函数列表的右上角,单击 + 创建函数,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。创建函数需要输入以下信息:

参数说明

信息项说明
函数名称指定函数的名称。
返回类型函数返回值的数据类型。
参数参数即调用函数时传入的信息,需指定参数信息: Oracle 模式:需指定参数的 名称模式类型默认值。 MySQL 模式: 需指定参数的 名称模式类型长度说明 通过 弹窗引导 辅助菜单,可添加、删除、上下移动参数。 单击表序号,选中整行,显示辅助菜单(删除、上/下移动)。 右键操作: 拖动鼠标选中整行,右键单击鼠标,进行复制。 选择单元格,右键单击鼠标,进行复制。 单击并选中表序号,可拖动整行参数以调整顺序 单击 确定 进入 SQL 创建确认页面。

参数类型

参数 中需指定的 模式 指参数类型。

MySQL 模式下不支持设定参数模式,Oracle 模式下支持三种参数模式 IN(输入)、OUT(输出)、INOUT(输入输出):

参数类型
IN输入参数,调用函数时将参数的值传入函数供执行函数时使用。
OUT输出参数,调用函数时,函数会忽略输出参数本身的值并传入一个空值,在函数体中可以修改输出参数并将修改结果返回给输出参数所代表的实参。
INOUT输入输出参数,即同时具备输入参数和输出参数的功能。

参数设置

属性是否必填默认模式
名称必填Oracle/MySQL
模式必填INOracle/MySQL
类型必填VARCHAROracle/MySQL
长度必填45Oracle/MySQL
默认值非必填Oracle/MySQL

######## 5.11.3.3. 管理函数

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 函数 标签可以查看函数列表,在函数列表中展示了当前连接的数据库中存在的函数对象。

可在函数列表中查看该对象的 结构树 或右键目标对象以进行一些 管理操作。或者,在函数列表中双击目标函数名进入 函数管理页面

结构树

如下图所示,在函数列表中单击目标函数名前的下弹标志会在弹出的下拉列表中展示其结构树,对象函数的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 194

管理操作

右键鼠标单击结构树中的目标项,通过弹出的管理操作列表,可快速管理和操作目标对象。

管理操作键表如下所示:

操作键说明
查看进入 函数管理页面,全量查看当前函数的基本信息、参数和代码等信息。
新建进入新建函数页面,根据步骤创建新的函数对象。
编辑函数管理页面##fRXPX中展示定义当前函数的语句,您可以在窗口中继续编辑该函数。
编译编译目标函数。
调试进入调试页面以对当前函数进行调试。 说明 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。 ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。
运行运行当前函数。
删除删除当前函数。
刷新对当前函数对象进行一些管理操作后,刷新结构树以展示最新信息。

函数管理页面

Image 817

在函数列表中双击目标函数名进入函数管理页面。可在函数管理页面查看以下信息:

功能说明
基本信息显示 函数名称返回类型创建人 等信息。
参数显示参数 名称顺序模式数据类型默认值 等信息。单击刷新图标,可刷新参数。
DDL显示定义函数的脚本,同时提供 编辑查找刷新 功能键。 说明 单击 编辑 图标,会跳转至 PL 对象编辑窗口。

函数编辑页面

在函数列表中右键目标项,在提供的操作键中单击 编辑 可进入函数编辑页面,在编辑页面的代码区会展示该函数的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新您本次修改。
编译编译当前页面中的语句。
运行单击该按钮运行代码区中的语句。
调试单击该按钮进入调试页面,并对代码区内的 PL 对象进行调试。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。
5.11.4. 存储过程对象

######## 5.11.4.1. 概述

存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的 SQL 语句集,它存储在数据库中,一次编译后永久有效。

函数和存储过程的定义类似,都是 SQL 脚本的集合,但是二者主要区别如下:

  • 函数一般只返回一个变量,而存储过程没有返回值。

    函数是可以嵌入在 SQL 语句中使用,比如,可以在 SELECT

    语句中调用函数,但是存储过程一般是作为一个独立的部分被执行。

  • 函数限制比较多,而存储过程的限制相对就比较少。一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

    在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 存储过程 标签可以查看存储过程列表。在存储过程列表中双击存储过程名进入存储过程管理页面,您可以在存储过程管理页面查看存储过程的基本信息、参数和 DDL 等信息。

    数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V2.0.0 及以上。

本章节将分篇介绍以下 ODC 中存储过程对象的相关操作:

######## 5.11.4.2. 新建存储过程

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 存储过程 标签可以查看存储过程列表。在存储过程列表的右上角,单击 + 创建存储过程,或是在上方导航栏中单击 新建 > 存储过程 以创建所需的对象。创建存储过程需输入以下信息:

数据库对象-新建存储对象

参数说明

信息项说明
名称指定存储过程的名称。
参数参数即调用存储过程时传入的信息,需指定参数: Oracle 模式:需指定参数名称模式类型默认值。 MySQL 模式:需指定参数 名称、模式、类型长度说明 可拖动参数以调整顺序。 通过 弹窗引导 辅助菜单,可添加、删除、上下移动参数。 单击表序号,选中整行,显示辅助菜单(删除、上/下移动)。 右键操作: 拖动鼠标选中整行,右键单击鼠标,进行复制。 选择单元格,右键单击鼠标,进行复制。 单击并选中表序号,可拖动整行参数以调整顺序。 单击 确定 进入 SQL 创建确认页面。

参数类型

参数 需指定的 模式 指参数类型。支持 IN(输入)、OUT(输出)、INOUT(输入输出)三种类型:

参数类型
IN输入参数,调用存储过程时将参数的值传入存储过程供执行存储过程时使用。
OUT输出参数,调用存储过程时,存储过程会忽略输出参数本身的值并传入一个空值,执行结束后,输出参数会被赋予存储过程对它修改的值。一般用输出参数获取存储过程的执行结果数据。
INOUT输入输出参数,即同时具备输入参数和输出参数的功能。

参数设置

属性是否必填默认模式
名称必填Oracle/MySQL
模式必填INOracle/MySQL
类型必填VARCHAROracle/MySQL
长度必填45Oracle/MySQL
默认值非必填Oracle/MySQL

######## 5.11.4.3. 管理存储过程

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页单击连接名进入连接后,在左导航栏中单击 存储过程 标签可查看存储过程列表,在存储过程列表中显示当前连接的数据库中存在的存储过程对象。

在存储过程列表中,可查看该对象的 结构树 或右键目标对象以进行 管理操作。或者,在存储过程列表中双击目标存储过程名进入 存储过程管理页面

结构树

如下图所示,在存储过程列表中,单击目标存储过程名左侧的下拉图标下拉按钮2,在弹出的下拉列表中会展示其结构树。

对象存储过程的结构树最深包含三层,右键单击结构树中不同层级中的项,提供对该项的操作键选项,具体操作请参见 管理操作 中的 管理操作键表

Image 195

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中,ODC 提供操作键选项以快速管理目标对象。

下述为管理操作键表:

操作键说明
查看进入 存储过程管理页面全量查看当前存储过程的基本信息、参数和代码等信息。
新建进入新建存储过程页面,根据步骤创建新的存储过程对象。
编辑存储过程编辑页面中展示定义当前存储过程的语句,可以窗口中继续编辑该存储过程。
编译编译目标存储过程。
调试进入 调试页面https://yuque.antfin.com/wb-lsr691788/rfnh3y/kp8fzg##VFrxv以对当前存储过程进行调试。
运行运行当前存储过程。
删除删除当前存储过程。
刷新对当前存储过程对象进行管理操作后,刷新结构树以显示最新信息。 说明 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。 ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。

存储过程管理页面

数据库对象-管理存储对象-参数

在函数列表中,双击目标存储过程对象名进入存储过程管理页面。可在存储过程管理页面查看以下信息:

功能说明
基本信息显示 存储过程名称创建人创建时间最近修改时间 等信息。
参数显示参数 名称模式数据类型长度默认值 等信息。单击刷新图标,可刷新参数。
DDL显示定义存储过程的脚本,同时提供 编辑查找、格式化刷新 功能键。 说明 单击 编辑 图标,会跳转至 PL 对象编辑窗口。

存储过程编辑页面

在存储过程列表中右键目标项,在提供的操作键中单击 编辑 可进入存储过程编辑页面,在编辑页面的代码区会显示该存储过程的定义语句, 可继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新本次修改。
编译编译当前页面中的语句。 说明 编译过程中,如存在引用无效的外部对象时 对象名所在行高亮 编译完成后,编译结果 中会显示编译状态(如存在告警,会显示告警详情)。
运行单击该按钮运行运行代码区中的语句。
调试单击该按钮调试进入调试模式,并对代码区内的 PL/SQL 对象进行调试。 调试完成后,可直接关闭调试窗口。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,旨在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,旨在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。

储存过程运行结果页面

存储过程-运行结果

存储过程执行完毕后,可查看 运行结果DBMS 输出 信息。

功能说明
运行结果在运行结果页签中,可查看存储过程运行状态、参数、类型、值、返回类型和返回值。
DBMS 输出在 DBMS 输出页签中,可查看存储过程 DBMS 输出信息。
5.11.5. 序列对象

######## 5.11.5.1. 概述

序列(Sequence)是指在数据库中按照一定规则自增的一种数字序列。因为自增所以不会出现重复的值,所以通常用来做为表的主键或唯一键。

注意

连接 V2.1.0 及之后版本 OceanBase 数据库 Oracle 模式支持创建序列对象,MySQL 模式暂不支持。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击序列标签可以查看序列列表。在序列列表中双击序列名进入序列管理页面,您可以在序列管理页面查看序列的基本信息、参数和 DDL 等信息。

本章节将分篇介绍以下 ODC 中序列对象的相关操作:

######## 5.11.5.2. 新建序列

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击 序列 标签可以查看序列列表。在序列列表的右上角,单击 + 创建序列,或是在 ODC 上方导航栏中单击 新建 > 序列 以创建所需的对象。创建序列有以下两个步骤:

  1. 设置 基本信息:需指定 序列名称当前用户(根据当前连接账号自动填充)。
  2. 设置列(可选)。在该步骤需指定以下信息:
信息项说明
起始于指定序列的起始值,要保证不小于属性 最小值
增量指定序列值自增时的步长,可以为负数。
最小值指定序列可获取的最小值,数据库支持的最小值为-1026。
最大值指定序列可获取的最大值,数据库支持的最大值为 1027。
缓存设置指定序列缓存的大小,合理设置缓存值可以提高序列取值的执行性能,也可设置 无缓存
是否排序指定序列的取值是否有序,有序取值场景下,序列的取值性能不如无序。
是否循环指定序列取值超过指定的 最大值 后,是否重新从最小值开始取值。
  1. 单击 下一步:确认 SQL 按钮后,进入SQL创建确认页面。

    数据库对象-新建序列-确认创建

  2. 根据您指定的信息会预生成一个 SQL 脚本,检查 SQL 脚本无误后,单击页面右上角的 创建 按钮,开始执行脚本并生成序列。

######## 5.11.5.3. 管理序列

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击 序列 标签可以查看序列列表。

您可以在序列列表中右键目标对象以进行一些 管理操作。或者,在序列列表中双击目标序列名进入 序列管理页面

Image 196

管理操作

在序列列表中右键目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
新建序列进入新建序列页面,根据步骤创建新的序列对象。
查看序列进入 序列管理页面全量查看当前序列的基本信息、属性和 DDL 等信息。
修改进入 序列管理页面 的属性部分修改当前序列的信息。
删除删除当前序列。
刷新对当前序列对象进行一些管理操作后,刷新列表以展示最新信息。

序列管理页面

您可以在序列管理页面查看以下信息:

  • 基本信息:展示 序列名称用户名 等信息。

  • 属性:展示属性 下一个缓冲值增量最小值最大值缓存设置是否排序是否循环 等信息。其中 下一个缓冲值 展示的是序列视图中 last_number

    的值,该值仅做展示不允许修改。

  • DDL:展示定义序列的脚本。

5.11.6. 程序包对象

######## 5.11.6.1. 概述

程序包(Package)是由一组相关的函数、过程、变量和游标等 PL 程序设计元素的组合。程序包类似于 Java 中的类,变量类似于类中的成员变量,函数和过程类似 Java 类中的方法。其主要作用是把相同或相似的东西归类,方便维护和管理,提高开发效率,提高性能。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建触发器对象,MySQL 模式暂不支持。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击程序包标签可以查看程序包列表。在程序包列表中双击程序包名进入程序包管理页面,您可以在程序包管理页面查看包头和包体的的基本信息和代码等信息。

本章节将分篇介绍以下 ODC 中程序包对象的相关操作:

######## 5.11.6.2. 新建程序包

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 程序包 标签可以查看程序包列表。在程序包列表的右上角,单击 + 创建程序包,或是在上方导航栏中单击 新建 以创建您需要的对象。新建程序包需要分别创建包头和创建包体。

创建包头

在程序包列表单击右上角的 + 或是在 ODC 导航栏中单击 新建 以进入新建程序包页面指定包头。

程序包对象-新建程序包

在新建程序包页面中指定程序包名称后,单击 下一步:确认 SQL 按钮进入包头定义页面。

如下图所示,ODC 会为您自动生成模板语句,在包头定义页面的导航栏中,ODC 提供了功能键 格式化 方便您规范语句格式。完成包头定义语句后单击页面右上角的 创建 按钮生成包头:

Image 197

创建包体

创建包头后,新建的程序包就会出现在程序包列表中,在列表中找到刚刚创建好的程序包,右键目标程序包名,单击 新建包体 以进入包体定义页面。如下图所示,和包头定义页面相似,ODC 会为您自动生成模板语句并在导航栏中提供功能键 格式化 方便您规范语句格式。完成包体定义语句后单击页面右上角的 创建 按钮生成包体:

Image 198

######## 5.11.6.3. 管理程序包

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 程序包 标签可以查看程序包列表,在程序包列表中展示了当前连接的数据库中存在的程序包对象。

您可以在程序包列表中查看该对象的 结构树 或右键目标对象以进行一些 管理操作。或者,在程序包列表中双击目标程序包名进入程序包管理页面,程序包管理页面提供了 包头页签包体页签

结构树

如下图所示,在程序包列表中单击目标程序包名前的下弹标志会在弹出的下拉列表中展示其结构树,对象程序包的结构树最深有六层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 227

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。下述为管理操作键表:

操作键说明
新建程序包进入新建程序包页面,根据步骤创建新的程序包包头。
新建包体进入包体定义页面以新建包体。
编辑包头包体同时打开 包头/包体编辑页面,您可以在窗口中继续编辑包头和包体。
删除程序包删除当前程序包。
刷新对当前程序包对象进行一些管理操作后,刷新结构树以展示最新信息。
查看进入 包头页签 或是 包体页签全量查看当前程序包的基本信息和代码等信息。
编辑包头/包体编辑页面 中展示定义包头/包体的语句,您可以在窗口中继续编辑包头/包体。
编译编译目标程序包。
调试进入调试页面以对当前程序包进行调试。PL 对象调试仅支持连接 OBServer V2.2.70、V3.0.00 及以后版本。
运行运行程序包体子程序中的存储过程或函数。
删除删除当前程序包包体。

包头页签

在程序包管理页面,单击导航栏中的 包头 标签会展示以下信息:

  • 基本信息:展示 程序包名称创建人创建时间最近修改时间 等程序包信息。

  • 代码:展示包头的定义代码,还提供了 编辑(进入包头编辑页面)和 查找 两个功能键。

    包体页签

    在程序包管理页面,单击导航栏中的 包体 标签会展示以下信息:

  • 基本信息:和包头页签相同,展示 程序包名称创建人创建时间最近修改时间 等程序包信息。

  • 代码:展示包体的定义代码,还提供了 编辑(进入包体编辑页面)和 查找 两个功能键。

    包头/包体编辑页面

    在程序包列表中右键目标项,在提供的操作键中单击 编辑 可进入程序包编辑页面,在编辑页面的代码区会展示该程序包的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新您本次修改。
编译编译当前页面中的语句。只有包体编辑页面提供该功能键。
终止单击该按钮终止正在运行的语句。
调试进入调试页面以对当前程序包进行调试。PL 对象调试仅支持连接 OBServer V2.2.70、V3.0.00 及以后版本。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
5.11.7. 触发器对象

######## 5.11.7.1. 概述

触发器(Trigger)是一种特殊类型的存储过程,它不能被显式的调用,而是由事件来触发。所以,触发器用于监视某种情况并触发某种操作。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击触发器标签可以查看触发器列表。单击列表右上角的 + 按钮可进入触发器新建页面,在触发器列表中双击触发器名进入触发器管理页面,您可以在触发器管理页面查看触发器的基本信息和代码。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建触发器对象,MySQL 模式暂不支持。

本章节将分篇介绍以下 ODC 中触发器对象的相关操作:

######## 5.11.7.2. 新建触发器

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 触发器 标签可以查看触发器列表。在触发器列表的右上角,单击 + 创建触发器,或是在上方导航栏中单击 新建 以创建您需要的对象。

创建触发器需要进行以下 3 步操作:

  1. 指定基本信息

  2. 设置高级设置信息

  3. 确认 SQL

    Image 228

    指定基本信息

    在新建触发器页面,第一步需要指定基本信息。基本信息 页签中包含以下信息项:

  • 触发器名称:为触发器指定一个名称。

  • 基准对象模式:触发器作用的对象所在的 Schema。

  • 基准对象类型:触发器作用的对象的类型,当前版本只支持 TABLE 表对象。

  • 基准对象名称:触发器作用的对象的名称。

  • 触发器状态:指定当前触发器为 启用禁用

    设置高级设置信息

    指定基本信息后,第二步需要指定一些高级设置信息。高级设置 页签包含以下信息项:

  • 触发器类型:选择触发器的类型,当前版本只支持创建 SIMPLE 简单触发器。

  • 触发:指定触发时间,即该触发器是在触发事件发生之前(BEFORE)或之后(AFTER)触发。

  • 级别:指定触发器的级别。当前版本只支持行级别触发器(Row-level)。

  • 事件:指定会触发此触发器的操作,支持选择 INSERTUPDATEDELETE 事件。

  • 列(选填):指定 事件 作用的范围,在 事件 中选择 SELECT 事件后展示该项。当前版本只支持在表对象中创建行级触发器,所以这里要选择事件作用的列。

    引用旧值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING OLD

    的值。

    引用新值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING NEW

    的值。

  • 子句条件(选填):指定一个逻辑表达式,只有当该表达式的值为 True 时,遇到触发事件才会自动执行触发器指定的操作。

    确认 SQL

    完成 基本信息高级设置 页签上所有信息的指定后,单击页面上 下一步:确认 SQL 按钮以进入语句编辑页面。

    在语句编辑页面中会根据 基本信息高级设置 中指定的信息生成对应的触发器定义语句,您需要补齐语句中触发器触发后需执行的操作,即触发体。补齐触发体语句后,单击页面右上角的 创建 按钮,完成触发器的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
上一步回到 新建触发器 页面,您可以继续编辑或修改 基本信息高级设置 页签中的指定的值。

######## 5.11.7.3. 管理触发器

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 触发器 标签可以查看触发器列表。在触发器列表中展示了当前连接的数据库中存在的触发器对象,您可以在触发器列表中右键目标对象以进行一些管理操作。或者,在触发器列表中双击目标触发器名进入触发器管理页面。

Image 200

管理操作

右键列表中的目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看触发器进入 触发器管理页面查看当前触发器的基本信息、参数和代码等信息。
新建触发器进入新建触发器页面,根据引导步骤创建新的触发器。
编辑触发器编辑页面 中展示当前触发器的定义语句,您可以在窗口中继续编辑该触发器。
启用启用当前触发器。
禁用禁用当前触发器。
删除删除当前触发器。
刷新对当前触发器对象进行一些管理操作后,刷新以展示最新信息。

触发器管理页面

在触发器列表中双击目标触发器名进入触发器管理页面,页面中提供以下 3 个页签:

  • 基本信息:展示触发器的 名称所有者是否启用 等信息。

  • 基准对象:展示该触发器基准对象的 名称所有者类型 等信息。

  • DDL:展示定义触发器的脚本,还提供了 编辑(进入触发器页面)、查找刷新 等功能键。

    触发器编辑页面

    在触发器列表中右键目标项,在提供的操作键中单击 编辑 可进入触发器编辑页面,或者在触发器管理页面的 DDL 页签中单击 编辑 按钮也可进入触发器编辑页面。在编辑页面的代码区会展示该触发器的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
确认修改单击以更新您本次修改。
5.11.8. 类型对象

######## 5.11.8.1. 概述

在数据库中可以创建自定义的对象类型(Type)。数据库的对象类型和 Java 中的类相似,可以包含属性和方法(函数和存储过程)。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个连接后,在左导航栏中单击类型标签可以查看类型列表。单击列表右上角的 + 按钮可进入类型新建页面,在类型列表中双击类型名进入类型管理页面,您可以在类型管理页面查看类型的的基本信息和代码。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建类型对象,MySQL 模式暂不支持。

本章节将分篇介绍以下 ODC 中类型对象的相关操作:

######## 5.11.8.2. 新建类型

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 类型 标签可以查看类型列表。在类型列表的右上角,单击 + 创建类型,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

单击 新建 按钮后,在弹出的 新建类型 弹窗中指定以下信息:

  • 名称:指定新建的对象的名称。

  • 类型:指定新建的类型对象为 对象类型数组类型表类型

    Image 154

    指定上述信息后,单击 下一步 按钮,进入语句编译页面,在语句编辑页面中会根据您在 新建类型 弹窗中指定的信息生成对应的类型定义语句,您需要根据需求补齐语句。补齐语句后,单击页面右上角的 创建 按钮,完成类型的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

######## 5.11.8.3. 管理类型

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 类型 标签可以查看类型列表。在类型列表中展示了当前连接的数据库中存在的类型对象,您可以在类型列表中右键目标对象以进行一些管理操作。或者,在类型列表中双击目标类型名进入类型管理页面。

结构树

如下图所示,在类型列表中单击目标类型名前的下弹标志会在弹出的下拉列表中展示其结构树,对象类型的结构树最深有五层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 201

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看类型进入 类型管理页面查看当前类型的基本信息和代码。
新建类型进入新建类型页面,根据引导步骤创建新的类型。
编辑主体若类型中包含子程序,该项可用。单击后在 类型编辑页面 中展示当前类型的定义语句,您可以在窗口中继续编辑该类型。
删除删除当前类型。
刷新对当前类型对象进行一些管理操作后,刷新以展示最新信息。

类型管理页面

在类型列表中双击目标类型名进入类型管理页面,页面中提供以下 2 个页签:

  • 基本信息:展示类型的 名称所有者类型创建时间修改时间 等信息。

  • DDL:展示定义类型的脚本,还提供了 编辑(进入类型页面)、查找刷新 等功能键。

    类型编辑页面

    在类型列表中右键目标项,在提供的操作键中单击 编辑 可进入类型编辑页面,或者在类型管理页面的 DDL 页签中单击 编辑 按钮也可进入类型编辑页面。在编辑页面的代码区会展示该类型的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
确认修改单击以更新您本次修改。
5.11.9. 同义词对象

######## 5.11.9.1. 概述

同义词(synonyms)是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。同义词有两种类型,分别是公用同义词和普通同义词。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个连接后,在左导航栏中单击同义词标签可以查看同义词列表。单击列表右上角的 + 按钮可进入同义词新建页面,在同义词列表中双击同义词名进入同义词管理页面,您可以在同义词管理页面查看同义词的的基本信息和代码。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.2.0 及以上。
OceanBase 数据库 MySQL 模式V2.2.0 及以上。

本章节将分篇介绍以下 ODC 中同义词对象的相关操作:

######## 5.11.9.2. 新建同义词

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 同义词 标签可以查看同义词列表,同义词列表按类型分为普通同义词列表和公用同义词列表。在同义词列表的右上角,单击 + 创建同义词,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

单击 新建 按钮后,在弹出的 新建同义词 弹窗中指定以下信息:

  • 同义词名称:指定同义词的名称。名称不能为空,长度需小于 128 个字符。

  • 对象所有者:在下拉列表中选择同义词所属的 Schema。不允许为空。

  • 对象类型:在下拉列表中选择同义词所代表的对象的类型。当前支持为 TABLE(表) 和 VIEW(视图) 类型的对象创建同义词。不允许为空。

  • 对象名称:指定同义词所代表的对象。不允许为空。

  • 同义词类型:在下拉列表中选择同义词的类型为 普通同义词公用同义词。不允许为空。

    Image 157

    指定上述信息后,单击 下一步 按钮,进入语句编译页面,在语句编辑页面中会根据您在 新建同义词 弹窗中指定的信息生成对应的同义词定义语句,您需要直接修改语句。确认语句后,单击页面右上角的 创建 按钮,完成同义词的创建。同义词创建后不支持修改。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

######## 5.11.9.3. 管理同义词

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 同义词 标签可以查看同义词列表,同义词列表按类型分为普通同义词列表和公用同义词列表。在同义词列表中展示了当前连接的数据库中存在的同义词对象,您可以在同义词列表中右键目标对象以进行一些管理操作。或者,在列表中双击目标同义词名进入同义词管理页面。

管理操作

右键列表中的目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看同义词进入 同义词管理页面查看当前同义词的基本信息和代码。
新建同义词进入 新建同义词 页面,根据引导步骤创建新的同义词。
删除删除当前同义词。
刷新对当前同义词对象进行一些管理操作后,刷新以展示最新信息。

同义词管理页面

在同义词列表中双击目标同义词名进入同义词管理页面,页面中提供以下 2 个页签:

  • 基本信息:展示同义词的 名称对象所有者对象名称创建时间修改时间 等信息。
  • DDL:展示定义同义词的脚本。同义词创建后不支持修改。

5.12. 帮助中心

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页的顶部导航栏中,通过 帮助,可查看 新功能介绍浏览帮助文档 并在 关于开发者中心意见反馈 页签获取产品信息与服务邮箱。

Image 909

产品功能介绍

首次访问 ODC 时,会自动弹出 产品功能介绍 弹窗,弹窗内容包括当前版本的特性和核心功能以快速了解 ODC。

关闭弹窗后,可单击 帮助 下拉列表中的 产品功能介绍 标签再次打开弹窗。

说明

同一版本内不同权限的用户查看产品功能介绍时,弹窗内的内容可能会有所不同。

浏览帮助文档

帮助 下拉列表中,单击 浏览帮助文档 标签:

  • Web 版 ODC:在浏览器的新页签中展示对应版本的 HTML 格式文档;

  • 客户端版 ODC:弹出文档浏览窗。

    如需查看最新或历史版本的产品文档,请至 OceanBase 文档中心 浏览。

    关于开发者中心

    帮助 下拉列表中,单击 关于开发者中心 标签,在弹出的窗口中可获得产品名称、版本号、发版日期、官网地址和版权等信息。

    Image 910

    意见反馈

    帮助 下拉列表中,单击 意见反馈 标签:

  • Web 版 ODC:获取 ODC 的支持邮箱(odcsupport@service.alipay.com),通过邮箱可与联系 ODC 技术支持并反馈意见。

  • 客户端版 ODC:获取 ODC 的支持邮箱并提供一键下载反馈包功能(在弹窗中单击 Generate information package,ODC 则会将前后端日志和系统环境等信息打包至反馈包中)。

    Image 911

6.用户指南(客户端版 ODC)

6.1. 安装 ODC

除在 OceanBase 中直接进入 Web 版 OceanBase 开发者中心(OceanBase Developer Center,ODC)以外,同时可下载客户端版本的 ODC 进行数据库的管理。与 Web 版 ODC 相比,客户端版 ODC 无登录入口,而是通过使用一个默认用户进行标识,因此只需安装客户端并 创建连接

推荐安装环境

环境要求
系统版本Windows:Win 7/Win 10 Mac:10.13.6(17G65)
Java 环境JDK 1.8.0_242 及以上版本。
端口号ODC V2.3.0 后采用动态侦测端口技术,无需再预留 8989 端口。
CPUX86 64 位处理器 2 核及以上配置。
内存4GB 及以上 。

安装步骤

  1. 下载 客户端版 ODC

  2. 下载完成后,双击安装文件开始安装。

  3. 进入安装向导后,提示您选择安装路径。

    安装 ODC

  4. 安装完成后,启动程序时会检查环境,当环境不符合要求时会弹出对应的错误信息并提示您继续启动应用或是关闭进程修复环境。若环境检查无误,应用将正常打开,您就可进入客户端版 ODC 并开始创建连接了。

    注意

    • 自 ODC V3.2.0 版本起,客户端版 ODC V3.2.0 安装包中已附加 JRE 安装包(包含Mac 和 Win 64 位平台),可根据需求自行安装。
    • 如安装或启动失败,请参见 常见问题 符号带底纹 客户端 ODC 安装问题。

6.2. ODC 首页

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)后会进入 ODC 首页。

可在 ODC 首页上方的导航栏中查看 任务操作记录帮助、进行数据库连接管理、语言切换、个人设置、修改账户密码和退出登录等操作,同时可在首页查看使用指南、相关工具和相关资源等信息。

Image 905

数据库连接管理

首页中可查看 个人连接 页签,页签中以列表的形式展示所创建的个人连接信息。

个人连接 列表中,可通过 全部模式 筛选 MySQL 或 Oracle 模式。更多详情,请参见 管理连接

语言切换

在 ODC 首页的右上角会显示应用的显示语言,默认为 简体中文,单击该标签可切换应用的显示语言。目前 ODC 支持 English(英文)、简体中文繁体中文 三种显示语言。

个人设置

进入客户端版 ODC 后,在顶部导航栏的右上角单击 账户 按钮在弹出的下拉菜单中选择 个人设置 以弹出 编辑个人设置 面板。

在面板中可全局统一修改支持自定义的功能设置。同时可在每个连接中分别对这些功能进行独立设置,独立设置仅对当前连接生效。个人设置的优先级低于每个连接中的独立设置且持久保存。

Image 908

面板中支持进行以下全局设置:

设置说明
SQL 窗口 Session 模式设置 SQL 窗口的 Session 模式。
界定符设置设置在 SQL 窗口内运行 PL 语句时默认使用的 Delimiter 符号。目前支持设置 ;///\$\$\$ 等 5 种形式的界定符。
Oracle 事务提交模式设置 Oracle 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
MySQL 事务提交模式设置 MySQL 模式下事务的默认提交模式。可设置事务手动提交或自动提交。
结果集查询条数限制设置 SQL 窗口内执行 SQL 语句默认返回的结果行数。
对象拖放生成语句类型设置拖放表/视图对象时默认生成的语句类型。

设置应用密码

客户版 ODC 无需登录,打开时使用一个默认用户进行标识。出于安全考虑,客户版 ODC 支持设置应用密码。设置后在系统中打开客户端版 ODC 应用时,需首先输入密码才能进入 ODC 首页,如密码输入错误超过 3 次,则会提示尝试重置数据,重置后 ODC 中的连接信息将被清空。

单击 ODC 首页导航栏右上角的 账户 按钮在弹出的列表中单击 应用密码。在弹出的弹窗中指定一个密码即可,应用密码支持进行删除和修改操作。

Image 490

使用帮助

使用帮助 页签中,可直接查看 ODC 常用操作的教程文档,以及当前版本的新增功能与常见问题等信息。

在页签中单击 浏览帮助文档,可查看帮助文档。

相关工具

相关工具 页签中,可查看 OceanBase 产品家族中其它相关的产品介绍。在页签中单击需查看的工具,在弹出的窗口中会展示该工具的介绍信息与官网跳转链接。

相关资源

相关资源 页签中,可查看 OceanBase 运营的或包含 OceanBcean 信息的相关资源。

目前在页签中可访问 OceanBase 官网OceanBase 社区OceanBase 阿里云OceanBase 学院 等资源。

6.3. 连接数据库

6.3.1. 创建连接

登录 OceanBase 开发者中心(OceanBase Developer Center,ODC)进入 ODC 首页后,可在连接的右上角单击 新建连接 按钮进行连接配置操作,新建连接完成后,当再次登录 ODC 时,可在首页的连接列表中查看已保存的数据库连接。

Image 907

注意

  • 自 ODC V2.3.0 之后版本,导入导出功能需在创建连接的高级配置中设置 root@sys 用户,否则会提示无法使用导入导出功能,因自该版本起,导入导出功能查询视图信息时依赖 root@sys 账号。

  • 分区信息查看同样依赖 root@sys 账号,因此亦需在创建连接的高级配置中设置 root@sys 用户。

  • Oracle 连接为共享 Session 设计,当主动触发提交或回滚操作,或通过产品功能创建、修改、删除数据库对象和执行 DDL 语句被动触发提交操作时,事务的提交或回滚会在所有窗口生效。第一次进入 Oracle 连接时,将显示相关提示。

    事务手动提交模式下,需设置 ob_trx_idle_timeout

    大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

    设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout

    设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    创建连接的操作步骤如下所示:

  1. 进入 ODC 后,单击页面中的 创建连接 按钮。
  2. 在创建连接页签需填写或选择以下信息,如已拥有 OceanBase 数据库连接串,则以下信息均可从连接串中直接获取(mysql -h 主机名 -P 端口号 -u 数据库用户名@租户名##集群名 -D 默认数据库 -p '数据库密码')或直接使用页签中提供的智能解析工具进行填充:
信息项说明
数据库类型选择 物理库逻辑库。 物理库:普通数据库。 逻辑库:ODP (Sharding)。
所属区域选择连接示例所在的区域 公有云(阿里云上的数据库实例) 或 独立部署/专有云(在自己环境中搭建的数据库实例)。
连接模式选择 MySQLOracle
连接名称指定该连接的名称。
设置标签通过标签,可为连接增加提示说明类信息。 单击 连接名称 文本框后的 设置标签 按钮为当前连接指定标签,在弹出的下拉列表中可进行设置标签和管理标签的操作: 设置标签:在下拉列表中选择目标标签完成设置。若列表为空请先新建标签。 管理标签:单击列表最下方的 新建标签 按钮或者单击列表上方的设置图标以弹出 标签管理 窗口。在标签管理窗口可对创建好的标签进行编辑和删除操作。也可单击上方的 新建标签 按钮指定新标签的名称和图标颜色。
智能解析在文本框中粘贴连接串信息,ODC 会自动识别连接串并在窗口中填充各项连接信息。
连接地址主机名:连接的数据库所在服务器的 IP 信息。 端口号:连接的数据库所在服务器的端口号信息。 集群:连接的数据库所在集群的名称。 租户:连接的数据库所在租户的名称。 说明 主机名和端口号可从连接的数据库所在租户信息页面获取,如在公有云或 OCP 上创建的租户。
默认数据库连接 MySQL 租户中的数据库时,需填写该连接要使用的默认数据库(连接 Oracle 租户中的数据库时则无需填写该项)。 说明 MySQL 模式下,如不指定默认库,则默认连接 information_schema 库。 如 information_schema 库连接失败,请将默认数据库设置为该用户有权限的库。
数据库账号数据库用户名:在租户中创建的账号(MySQL 模式下,该账户必须具有访问默认数据库的权限)。 数据库密码:在租户中创建的账号的密码。单击数据库密码框后的 测试连接 按钮,测试是否能够连接到目标数据库。 保存数据库密码: 关闭该项,连接信息中将不保存数据库密码信息。每次进入连接或测试连接时,需在弹出的密码弹窗中输入数据库密码以进入连接。 开启该项,连接信息将保存数据库密码信息,每次进入连接无需输入数据库密码。 说明 如配置信息有误,会出现异常提示,例如用户或密码不对、网络异常等。 用户只可连接本租户下的数据库,否则会报出测试失败的错误。
SQL 查询超时时间支持自定义 SQL 超时时间,SQL 超过指定的时间时查询自动终止(默认 60s)。
查询 sys 租户视图请输入拥有查询 sys 租户视图权限的账号和密码,当 连接地址 中已指定 租户 为 sys 时,该项被自动填充。 账户:拥有 sys 租户视图查看权限的账号。 密码:账号对应的密码。 输入账户和密码信息后,单击密码框后的 测试连接 按钮测试账户信息是否正确。ODC V2.3.0 后使用数据导入导出和查看分区信息功能时,需在此项配置 root@sys 账号。 说明 自 ODC V2.3.0 之后版本,导入导出功能需在创建连接的高级配置中设置 root@sys 用户。 自 ODC V2.4.1 之后版本,导入导出功能查询视图信息时取消 root@sys 账号强依赖。
  1. 单击页面下方的 保存 按钮,即可将当前的配置信息持久保存在 ODC 连接列表中。再次登录 ODC 时,可在连接配置列表中直接选择该连接,保存连接配置时不要求测试连接一定成功。
  2. 在页签下方,ODC 同时提供 复制连接串 按钮。单击该按钮,ODC 会将当前编辑的连接信息复制为连接串格式以方便获取当前配置的连接信息。
  3. 如无需保存当前的连接配置,可单击页签下方的 取消 按钮,ODC 会弹出弹窗以确认是否退出当前新建连接窗口。
6.3.2. 管理连接

概述

所创建并保存的连接配置会直接显示在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页的 个人连接 页签中。

个人连接 页签以列表的形式显示所创建的所有连接以供查看和管理连接信息。

Image 905

查看连接

个人连接 页签,连接信息以列表的形式显示:

  • 可通过列表上方的刷新按钮刷新列表信息。

  • 通过 全部模式 筛选 MySQL 或 Oracle 模式。

  • 同时可通过搜索框直接查找目标连接。

  • 支持调整连接列表的列宽。

    个人连接列表中显示如下连接信息:

信息项说明
连接名显示连接的名称、主机名/端口号和集群/租户等信息,单击连接名称可进入数据库连接。 其中连接名称前会通过图标显示该连接的状态,蓝色图标表示有效连接,红色图标表示失效连接,灰色图标表示连接未保存数据库密码信息。
集群显示集群信息。 单击筛选图标筛选,可筛选所属集群信息(勾选 ,可筛选出无所属集群的连接)
租户显示租户信息。 单击筛选图标筛选,可筛选所属租户信息(勾选 ,可筛选出无所属租户的连接)。
标签列表中支持自定义标签内容并将标签指派给目标连接,每个连接只能设置一个标签。
操作时间显示对连接进行 编辑 操作的时间,如未编辑连接则显示的时间为创建连接时间。
操作提供 打开编辑复制删除 功能。

查看历史记录

在连接列表的右上角,单击 历史记录 标签以弹出 历史打开窗口 面板。

客户端-历史记录

面板显示如下信息:

信息项说明
连接名显示已访问的连接名称。
库名/Schema显示访问连接后,进入的数据库或 Schema 名称。
最近打开时间最近一次访问该连接的时间。
SQL/PL 窗口显示此次访问创建的工作台窗口,将数据放置在对应窗口名上,将显示在窗口中编辑过的脚本。
操作提供 打开 操作键,单击该按钮在新窗口中恢复当前连接,同时恢复对应的工作台窗口和其中的内容。

说明

面板中的历史记录信息默认保存 48 个小时,您可通过该入口快速恢复未保存的 SQL 窗口的内容。

设置标签

ODC 支持自定义标签并将标签指派给目标连接,每个连接只能设置一个标签。

  • 新建标签:通过两种方式新建标签

    • 新建连接面板新建:新建连接时,在 新建连接 面板单击 连接名称 文本框后的 设置标签 按钮进行设置。
    • 连接列表中新建:将鼠标放置在目标连接的标签项上,单击浮现的 设置标签 按钮,在弹出的下拉列表中,单击 新建标签 按钮。在弹出的 标签管理 页面中指定标签的名称和颜色,完成指定后单击对勾图表完成新建。
  • 设置标签:弹出的下拉列表会显示所有已创建的标签,在下拉列表中选择目标标签完成设置。

  • 管理标签:在弹出的下拉列表中,单击右上角的设置图标弹出 标签管理 窗口。在标签管理窗口可对已创建的标签进行编辑和删除操作。

    置顶连接

    连接列表默认以创建连接时间进行排序,最新创建的连接显示在列表最上方。可将常用的连接进行置顶(暂不支持自定义排序)。

    在连接列表中,单击目标连接名称后的旗标首页-顶置连接名可将连接置顶,置顶后旗标将被点亮为黄色,再次单击旗标取消置顶。

    编辑连接

    单击目标连接 操作 项下的 编辑 按钮弹出 编辑连接 面板,面板与 新建连接 面板的结构相同并显示当前连接的配置信息。可在 编辑连接 面板中直接对显示的信息进行修改。

    修改 数据库密码 时,需先单击密码框后的 修改密码 按钮,方可修改密码。修改过程中如想放弃本次修改,则继续单击密码框后的 取消修改 按钮,密码框的内容就会被重置回修改前的状态。

    复制连接

    单击目标连接 操作 项下的 复制 按钮会弹出 新建连接 面板,且面板中会自动填充当前连接的配置信息,旨在已有的信息基础上,简单修改连接信息以快速新建连接。

    使用复制功能可有助于快捷创建类似连接信息的数据库连接。

    删除连接

    单击目标连接 操作 项下的 删除 按钮以删除当前的连接配置。

    例如连接的数据库已不存在或后续不再继续访问该数据库时,可直接删除当前的连接配置。

    其它操作

    个人连接 页签中提供的上述管理操作,在进入数据库连接后,工作台顶部导航栏的主页菜单主页菜单按钮同时会提供以下与连接相关的操作:

  • 新窗口打开连接:在弹出的连接列表中单击需进入的连接,ODC 会生成一个新窗口并进入目标连接。

  • 连接管理:生成新窗口并进入 ODC 首页以查看和管理所有的连接配置信息。

  • 重新加载:重新加载当前页面。

  • 退出连接:退出当前连接并跳转至 ODC 首页。

    Image 031

    在工作台顶部导航栏的左上方,会显示连接名称和 Schema(Oracle 模式)或数据库名称(MySQL 模式)等信息。

  • 将鼠标放置在上方导航栏的连接名称上,弹出的信息框会显示 连接模式主机名/端口集群/租户数据库用户名 等信息。

  • 单击显示 Schema 名称或数据库名称的下拉弹窗,在弹出的列表中会显示当前数据库用户可进入的 Schema 或数据库,在列表中单击 Schema 或数据库的名称,可切换至目标 Schema 或数据库中。

    管理个人连接-其它操作

6.4. 使用工作台

6.4.1. 概述

工作台是 OceanBase 开发者中心(OceanBase Developer Center,ODC)为您提供的进行数据库开发工作的主要功能模块。

进入对应的数据库连接后,在上方导航栏中单击 工作台 标签在弹出的列表中工作台模块提供了以下功能:

  • SQL 窗口:数据库开发者编辑 SQL 和 PL 语句的工作区,在 SQL 窗口中 ODC 还提供 代码片段 功能。
  • 匿名块窗口:数据库开发者编辑匿名块脚本的工作区。
  • 命令行窗口:集成了 OceanBase 客户端(OBClient)到命令行窗口,可在命令行窗口中更直接灵活的执行 SQL 或 PL 语句并实时查看结果。
  • 已保存的脚本:数据库开发者可以在这里打开之前在 ODC 中保存过的脚本。

注意

只有 Oracle 模式下支持创建匿名块窗口。

本章节将分篇介绍工作台提供的功能:

  • SQL 窗口
  • 匿名块窗口
  • 命令行窗口
  • 已保存的脚本
  • 代码片段
6.4.2. SQL 窗口

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,在顶部导航栏单击 工作台 标签,在弹出下拉菜单中单击 SQL 窗口 以完成新建。

SQL 窗口中提供可编辑脚本的 SQL 编辑区域,显示运行结果的执行记录页签与结果页签,同时 SQL 窗口也支持运行 PL 语句。

Image 461

SQL 编辑区域

在 SQL 窗口的编辑区域可体验更多细节:

操作说明
提供输入自动提示功能在 SQL 编辑区编写脚本时提供输入自动提示功能以提升编辑 SQL 语句效率。 例如:权限账户进行 SQL 语句编辑时,支持自动补全表名功能(跨库查询支持补全表名)
标识关键字和智能识别代码窗口中会对数据库的关键字进行不同颜色的标识并可智能识别代码。
右键单击编辑区 SELECT 语句中的表、视图和函数名称右键单击编辑区 SELECT 语句中的表、视图和函数名称时将提供常见操作键,同时将鼠标放置在表的名称上会显示字段信息。
拖拽对象列表至 SQL 编辑区在对象列表中可将目标对象直接拖放至 SQL 编辑区中,以方便在语句中填充对象名。 如为表 / 视图对象,拖放对象名 SQL 编辑区时,在 快速生成 弹窗中,可选择快速生成的 SQL 语句(在登录账号的 个人设置 > 对象拖放生成语句类型 中,可设置拖放表 / 视图对象时默认生成的语句类型)。 除表/视图外的其它对象,拖拽对象名直接将对象名拖拽至 SQL/PL 窗口。 SQL 窗口-拖拽表对象快速生成不同类型
支持独立 session单击 +,支持同一个连接内添加多个 SQL 窗口。
支持特殊符号异常识别SQL 窗口的编辑区支持特殊符号异常识别,异常符号会被黄色波浪下划线进行标识。

说明

ODC 中共享 Session,相同连接只有一个 Session。ODC Oracle 模式下自动提交默认设置为开,如需手动提交事务,可在 SQL 窗口中的设置 > 会话变量 或在 会话属性 页面修改变量 autocommit

的值进行设置,详细操作请参见 会话管理

事务手动提交模式下,需设置变量 ob_trx_idle_timeout

大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout

设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout

设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

用户指南-SQL 窗口-SQL 编辑区域

除编辑 SQL 语句时可体验上述细节,编辑区的工具栏中同时提供以下功能键:

功能说明
运行单击该按钮运行当前 SQL 窗口中所有的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
运行当前语句单击该按钮运行当前您选中的所有 SQL 语句或当前光标所在行的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
提交Oracle 模式下自动提交(autocommit)默认设置为关(OFF),因此需单击该按钮以手动提交当前事务。单击提交时会提示当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。 MySQL 模式下自动提交(autocommit)默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。 说明 可通过 SQL 窗口中的设置 > 会话变量 或 顶部导航栏中的 工具 > 会话属性,修改自动提交(autocommit)属性。
回滚Oracle 模式下自动提交(autocommit)默认设置为关(OFF),单击该按钮以回滚当前事务。单击时会提示您当前连接采用共享 Session,回滚操作会对所有窗口生效,单击 确认 后回滚生效。 MySQL 模式下自动提交(autocommit)默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。
终止单击该按钮终止正在运行的语句。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。
设置Delimiter:在下拉列表中选择您想要的符号以完成界定符的设置。目前支持设置 ;///\$\$\$ 等 5 种形式的界定符。 查询结果限制:设置查询结果返回的条数,默认值为 1000 行。 会话变量:可编辑、刷新和搜索变量。
保存单击该按钮保存当前窗口中的脚本。之后您再次进入工作台可以直接打开保存好的脚本。每个用户只能看到自己保存的 SQL 脚本,且脚本名不允许重复。打开已保存的脚本后,您可以继续对该脚本进行编辑。
执行计划查看选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(EXPLAINPLAN 操作的结果),展示的执行数据可能与实际执行语句后的数据略有不同,您可以使用该功能评估 SQL 语句。 单击 执行计划 按钮,在 计划详情 页签中,单击 查看格式化信息 切换至格式化展示页面。
代码片段提供内置语法片段和自定义语法片段供您查看和引用。详情请查看 代码片段

运行 PL 语句

SQL 窗口中支持编辑 PL 语句,在编辑区中编写 PL 语句完毕后使用选择的界定符作为结尾。

ODC 目前支持通过以下方式完成界定符的设置:

  • 在 SQL 编辑区的工具栏中单击 设置 按钮,在弹窗中的 Delimiter 选择框中选择所需设定的界定符。

  • 个人设置 页面中的 界定符设置 选择框中选择所需的界定符。

    注意

    自 ODC V2.4.1 之后版本,可在编辑区中使用 DELIMITER

    语句直接定义界定符,设置 中的 Delimiter 项会回显所设置的界定符。

    • 可直接使用 / 分隔 PL 语句(如 PL 语句内包含 /,则仍需设置自定义界定符)。

      在 SQL 中运行 PL 语句后,结果页签支持 DBMS 输出。

      Image 693

      执行记录页签

      用户指南-SQL 窗口-执行结果页签

      在执行记录页签中您可以查看当前连接进程中每次执行 SQL 语句的记录,包括 状态时间SQL 语句结果TRACE ID、耗时执行详情(即执行计划)等信息。

功能说明
复选框勾选列表前的复选框复选框后单击 删除,可批量选中并清理多条执行记录。
TRACE ID执行记录 ID。 注意 如 TRACE ID 为空,请确保该语句运行时 enable_sql_audit 系统参数及 ob_enable_trace_log 变量值均为 ON。 单击 会话 > 会话属性 > 会话变量,分别搜索 enable_sql_audit 和 ob_enable_trace_log 参数; 单击值列表下的 OFF 后,单击 编辑 图标,选择 ON 值后确定。 打开系统参数: obclient> alter system set enable_sql_audit='True'; Query OK, 0 rows affected (0.06 sec)
耗时ODC 中 耗时 信息由三部分组成,分别为: 网络耗时:请求在网络传输上所花费的时间。 ODC 耗时:请求经过 ODC 处理所花费的时间。 DB 耗时:请求经数据库处理所花费的时间。 可将鼠标箭头放置在 耗时 信息后的提示图标上,弹出的提示信息将分段展示目标请求的三段耗时信息。
执行详情默认展示文本计划。 在 执行详情 项下,单击 查看,可在 执行详情 页面查看 基本信息耗时统计I/O 统计执行的 SQL 语句

日志页签

在该页签可查看当前 SQL 窗口的执行记录。

结果页签

在该页签可查看当前 SQL 语句的执行结果。结果页签中显示的结果集支持进行以下交互操作以方便日常开发工作:

操作说明
鼠标选中目标范围返回的结果集支持通过鼠标选中目标范围后直接通过快捷键复制至外部文件,可单击字段名称或行号直接选中整行或整列。 亦可通过工具栏中的 导出 工具将结果集中的数据导出到本地文件。
选择多行/多列按 Shift 键,可选择连续多行/多列; 按 Ctrl/Command 键,可选择不连续的多行/多列。
右键单击单元格提供 复制行/复制/输出到剪切板 功能键以直接将数据复制到外部文件中。
右键单击行序号提供 复制行/冻结此行/解除全部冻结行 功能。 复制行:复制选中的行; 冻结此行:将选中行置顶并冻结,冻结行和表头固定下方内容可垂直滚动;支持冻结多行; 解除全部冻结行:将所有冻结行恢复。
放大图标当单元格中的数据过长导致无法全部显示时,可通过放大图标查看单元格中的全部数据: 将鼠标箭头放置在目标单元格上; 单击单元格右侧出现的放大图标放大按钮,在弹出的大字段展示弹窗中可查看单元格中的全部数据。 说明 如为大字段,默认按文本展示大字段内容,可切换至十六进制查看同时支持下载打字段内容至本地。
BLOB 大对象支持查看 BLOB、CLOB、RAW 类数据。
右键单击结果页签的标签名 (如 结果1)在弹出的列表中单击 固定 可使当前结果页签保持展示状态,当执行一条新的查询时当前结果不会被覆盖而是生成一个新的结果展示页签,以方便对比不同的查询结果。 单击 解除固定 以取消目标结果页签的固定状态。
筛选、排序和搜索按钮结果集中每个字段名称后提供筛选、排序和搜索按钮,可对单列的数据直接进行筛选、排序和搜索。
拖动列名支持在结果集中直接拖动列名以调整各字段的顺序。

Image 697

同时,结果页签的导航栏中提供以下工具:

工具说明
列模式以表格的形式展示一行选中的数据。在 列模式 页面可以进行上一行、下一行的切换展示,对于列数量比较多场景,列模式 比较方便行数据的查看。参考步骤如下: 选中需查看的数据后,单击 列模式列模式按钮 按钮; 在弹出的 列模式 页面中,可单击左右按钮查看上下行列值; 鼠标移动至某值字段,单击 放大按钮放大按钮,可查看该列字段详情; 在 列模式 列表中,可通过 备注 查看表中对应的列注释信息。修改备注信息步骤如下: 在左侧导航栏的表列表中,右键单击目标表,选择 查看表结构,进入表属性管理页签; 在属性页签的左导航栏中单击 标签; 选择字段名,单击编辑图标,弹出 编辑字段 弹窗; 在 字段注释 中,填写字段注释后,单击 确定; 在 SQL 确认 弹窗,单击 执行,完成修改备注信息; 在 列模式 中即会显示修改的备注信息。
列管理筛选在页面中展示的列。
回到开始跳转至第一页。
上一页向上翻页。
下一页向下翻页。
跳至底部跳转至最后一页。
编辑单击 编辑 按钮开启对当前展示的结果集的编辑状态,编辑态中提供 添加一行复制当前行删除取消确认修改(当自动提交设置为开时,单击该按钮事务被自动提交) 和 修改并提交(自动提交设置为关时显示该按钮) 等编辑操作。同时可在编辑态下双击目标数据直接进行修改,或是通过上述操作按钮进行快捷操作。 在编辑态中右键单元格,弹出的菜单中提供 复制设置为 Null 两个操作键。 说明 通过结果集是否支持编辑预判断功能,在 SQL 执行时获取到 ResultMetaData 信息,可在 SQL 执行结果出来时同步判断结果集是否可编辑: 如当前结果集不支持编辑,编辑按钮隐藏,且提示当前结果集不可编辑; 如当前结果集支持编辑,编辑按钮呈可点击态,可点击进入结果集编辑页面(支持编辑场景:单表/单视图查询)。 目前不支持包含 SET 类型和 ENUM 类型的结果集编辑。
导出将查询结果导出为 CSV 或 SQL 文件: 导出 SQL 文件:选择导出的 文件名称、文件格式、文件编码GBKUTF8)和 行数限制; 导出 CSV 文件:选择导出的 文件名称、文件格式、文件编码GBKUTF8、行数限制CSV 设置 导出 EXCEL 文件:选择导出的(GBKUTF8UTF16GB2312BIG5)。
计划查看当前 SQL 语句执行后的实际资源消耗及执行计划,可快速判断 SQL 语句的优劣。

操作工具箱

说明

本视频以 ODC V3.2.0 版本为例。

6.4.3. 匿名块窗口

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,单击顶部导航栏中的 工作台 标签,在弹出下拉菜单中选择 匿名块窗口 以新建窗口。

匿名块窗口中提供 PL 编辑区域PL 运行结果和 DBMS 输出页签 以及 调试页面

Image 460

PL 编辑区域

在匿名块窗口的编辑区域,可体验到较多的细节功能,如当新建一个匿名块窗口时:

  • 会自动生成引导代码方便编写脚本;

  • 窗口中会对数据库的关键字进行不同颜色的标识;

  • 支持格式化等功能以提升编辑 PL 语句的效率。

    除编辑 PL 语句时可体验到上述细节功能外,编辑区域的工具栏中同时提供以下功能键:

功能说明
运行单击该按钮运行代码区中的语句。
终止单击该按钮终止正在运行的语句。
调试单击该按钮进入调试页面,并对代码区内的匿名块对象进行调试。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
保存单击该按钮保存当前窗口中的脚本。 保存后,再次进入工作台可直接打开已保存的脚本。 说明 每个用户只能查看自己保存的 SQL 脚本,且脚本名不允许重复。 打开已保存的脚本后,可继续对该脚本进行编辑。

PL 运行结果和 DBMS 输出页签

在匿名块编辑区域的工具栏单击运行图标运行后,会运行编辑区域中的匿名块脚本,可在编辑区域下方查看 运行结果DBMS 输出 页签:

  • 运行结果:展示脚本运行的结果,如运行无误则显示 运行成功,如运行有误则展示错误提示信息。

  • DBMS 输出:如子程序中包含 PL 输出语句则展示其调用后的输出结果(例如 dbms_output.put_line

    )。

    调试页面

    在匿名块的编辑区域,单击 调试 按钮后可进入调试页面。

    进入调试页面后可对当前窗口中的匿名块进行调试。

注意

  • 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。

  • ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。

  • 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。

  • 在调试前请确保连接的数据库中已安装 DBMS_DEBUG 和 DBMS_OUTPUT 等调试包。

    调试

    在调试模式下,编辑区的工具栏中提供以下功能键:

功能说明
批量执行批量运行至最近断点,如果无断点直接运行至结尾语句。
单步执行单步执行,不会进入子程序。
跳入单步执行,如当前行是调用已定义的存储过程或函数,则会进入被调用的子程序。
跳出在子程序内,执行跳出操作后,返回到上层调用位置的下一行;主程序内运行跳出,效果与 自动调试 相同。
终止调试继续运行直到结束,会跳过设置的断点。
重新调试对当前调试对象发起新一轮的调试,与 调试 的区别在于:无需新建调试连接。
退出调试关闭调试连接,并退出调试交互窗口。

在调试模式下,除编辑区外,同时提供以下页签:

  • 参数:参数页签展示该调试对象所有的参数定义信息(参数名、模式和类型)及对应的值,其中对应的值会根据调试过程作出相应的变化。

  • 堆栈和变量:展示当前栈上的变量与其对应的值。

  • DBMS 输出:如子程序中包含 PL 输出语句则展示其调用后的输出结果(例如 dbms_output.put_line

    )。

  • 断点:在编辑区单击行号设置断点(再次单击取消断点)。在断点页签可查看设置的所有断点,列表默认按照断点执行顺序进行排序,在列表中选中多个断点后可批量取消。每一行断点信息的操作栏中同时提供 取消(取消该断点)和 查看(在编辑区光标会跳转至该断点所处的位置)两个操作。

  • 调试日志:展示调试开始、调试结束、断点添加、断点取消等信息和错误日志。

6.4.4. 命令行窗口

OceanBase 开发者中心(OceanBase Developer Center,ODC)集成了命令行工具 OceanBase 客户端(OBClient) 到命令行窗口,OBClient 是推荐的 OceanBase 数据库黑屏客户端工具。现在您无需再单独下载安装 OBClient,使用命令行窗口就可更直接灵活的执行 SQL 或 PL 语句并实时查看结果,还可以通过 SOURCE

命令运行上传在服务器中的文件。

新建命令行窗口

登录 ODC 单击目标连接进入对应的数据库连接后,单击上方导航栏中的 工作台 标签,在弹出的下拉菜单中选择 命令行窗口 以新建一个命令行窗口。打开的窗口会自动连接到当前实例并显示一段默认代码展示连接的 ID、版本信息和帮助信息。

注意

最多可同时新建 3 个命令行窗口,以保持其连接状态。

当连接提示断开时,命令行窗口的右上角会出现 重新连接 按钮,单击该按钮重建连接。

Image 510

脚本管理

如果您在开发过程中需要引用脚本,可使用 命令行窗口 提供的 脚本管理 功能导入脚本后引用。

引用脚本的操作步骤如下:

  1. 进入脚本管理面板。

    在命令行窗口的右上角单击 脚本管理 标签以弹出 脚本管理 面板。

  2. 导入被引用的脚本。

    单击 导入脚本 标签下的文件池进入文件资源管理器选择要引用的脚本或者直接将脚本文件拖入文件池中完成上传。导入的文件最大不能超过 250 M。

  3. 获取文件路径。

    脚本上传成功后,可以在面板的 脚本列表 中查看被上传脚本的 脚本路径脚本名称文件大小上传时间 等信息。可单击操作列中的 复制路径 按钮,然后在命令行窗口中的语句中粘贴路径信息以引用脚本。

  4. 删除脚本文件。

    上传的脚本文件只有上传者可以查看,文件上传 30 分钟后会被自动清理以防止占用过多空间,您也可以通过单击操作栏中的 删除 按钮清除文件。

    Image 161

6.4.5. 已保存的脚本

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,单击顶部导航栏中的 工作台 标签,在弹出的下拉菜单中选择并单击 已保存的脚本 以进入之前在 SQL 窗口和匿名块窗口中保存的脚本。

概述

Image 560

在下拉菜单展示的脚本列表中单击脚本名以继续编辑或运行该脚本,如脚本为 SQL 脚本则自动生成 SQL 窗口以展示脚本,若是匿名块脚本则自动生成匿名块窗口以展示脚本。在脚本列表中,脚本名后还提供了以下功能键:

信息项说明
编辑单击编辑,修改脚本的名称和脚本内容。
删除单击删除,删除该脚本。
脚本管理单击设置脚本管理,编辑/导入/下载/删除脚本。

管理脚本

编辑脚本

已保存的脚本-管理脚本-编辑

  1. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  2. 已保存的脚本 的下拉列表中,选择脚本并单击编辑进入编辑脚本面板(或单击设置脚本管理,在脚本管理面板中,选择脚本并单击编辑)。

  3. 编辑脚本 面板中,编辑 脚本名称脚本内容 后,单击 保存

    删除脚本

  4. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  5. 已保存的脚本 的下拉列表中,选择脚本并单击删除,删除脚本。

    脚本管理

    已保存的脚本-管理脚本

  6. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面后,单击 工作台 > 已保存的脚本

  7. 已保存的脚本 的下拉列表中,或单击设置脚本管理,进入脚本管理面板。

  8. 在导入脚本上传框中,通过单击或拖拽文件可导入多个脚本。

    说明

    • 单个上传文件大小限制:250M。
    • 支持上传 .sql/.pl/.txt 后缀的文件。
  9. 在脚本列表中,支持如下功能。

    • 单击刷新,可刷新脚本列表。
    • 通过搜索框直接查找脚本名称。
    • 单击复选框复选框,支持选择多个脚本,可批量下载/批量删除。
    • 单击 复制路径,复制脚本路径。
    • 单击 编辑,编辑脚本。
    • 单击 下载,下载脚本。
    • 单击 删除,删除脚本。
6.4.6. 代码片段

OceanBase 开发者中心(OceanBase Developer Center,ODC)作为企业级数据库开发平台,为您提供代码片段模块以供在 ODC 中进行数据库开发工作。如在开发过程中遗忘某些语句的具体用法,可直接在 ODC 提供的代码片段模块中进行查询。代码片段模块会根据当前连接的数据库模式(Oracle 或 MySQL)提供对应的代码片段。除内置的代码片段外,同时可自定义代码片段以记录常用代码方便下次使用,仅创建者可查看自定义代码片段。

在 SQL 窗口、匿名块窗口和 PL 对象编辑页面的工具栏中,单击 代码片段 按钮弹出代码片段面板。

Image 225

查看代码片段

在代码片段面板中以卡片列表的形式展示代码片段,每个卡片上直接展示了代码片段名称、代码片段描述和代码片段类型等信息。将鼠标放置在卡片代码片段名称后的提示图标代码片段提示标上,会浮现提示窗展示目标代码片段的全部代码信息。

在卡片列表的上方 ODC 提供了搜索框,可借助搜索功能直接查找具体的代码片段。在搜索框的下方提供按类型进行筛选的筛选器。筛选器中默认选中全部类型,可单击筛选器选择筛选出 常规DMLDDL流程控制语句全部类型 的代码片段。

新建代码片段

在代码片段列表的右上角,单击 +新建 按钮弹出 新建代码片段 面板。在面板中需指定以下信息:

  • 代码片段名称:指定代码片段的名称。名称可由英文字母、数字和下划线组成,长度不超过 60 字符,必填项。

  • 代码片段类型:选择代码的类型。支持选择 常规DMLDDL流程控制语句 等类型,默认为 常规 类型。

  • 代码片段:在 代码片段 标签下的编辑框中输入代码片段的具体代码内容,长度不能超过 2000 字符,必填项。与 SQL 窗口类似,编辑区的工具栏中还提供了格式化、查找/替换、撤销、重做、大小写、缩进和注释等工具,且提供代码高亮和联想等功能。

  • 代码片段描述:对代码片段内容的补充说明,长度不能超过 200 个字符,非必填项。

    说明

    代码片段描述中,如有描述则展示描述的内容,如无内容则会展示代码片段中具体内容的前 30 个字符。

    Image 224

    引用代码片段

    创建好的代码片段除了供您在编辑脚本的时候查看代码的具体内容外,还支持直接将内容直接引用进脚本。引用代码片段有以下三种方法:

  • 方法一:您可以直接将列表中的卡片拖拽进编辑区中,该代码片段指定的代码内容将被粘贴进编辑区。

  • 方法二:在目标代码片段的卡片上,单击卡片右下角的复制图标以复制代码内容,在编辑区中通过快捷键 Ctrl+V 或 Cmd + V 将代码内容粘贴进编辑区。

  • 方法三:SQL 窗口的编辑区支持代码联想功能,当您在编辑区中编辑脚本时,创建好的代码片段会出现在代码联想的提示窗中,您可以通过代码联想的提示查看和引用代码片段。

    管理代码片段

    自定义的代码片段提供 编辑删除 两个管理操作,您无法对内置的代码片段进行管理。

  • 编辑:单击目标代码卡片右上角的管理图标(···)在弹出的列表中单击 编辑 按钮进入 编辑代码片段 面板。面板中展示新建代码片段时指定的 代码片段名称代码片段类型代码片段代码片段描述 等信息,可按需进行修改。

  • 删除:单击目标代码卡片右上角的管理图标(···)在弹出的列表中单击 删除 按钮以删除当前代码片段。

6.5. 使用工具

6.5.1. 数据导出和导入

######## 6.5.1.1. 概述

为了让数据库开发者更方便的维护数据库内的数据,OceanBase 开发者中心(OceanBase Developer Center,ODC)提供整库导入导出和单表导入导出功能。通过整库导入导出用户可以批量选择数据库中的表以导入或导出其中的数据,通过单表导入导出,用户可以导入导出目标表中的数据和结构。

创建导入或导出任务后,ODC 提供导入导出任务页签功能。页签中会显示当前的导入或导出任务列表,您还可以查看目标任务的任务详情和日志等信息。

注意

  • OceanBase V2.2.30 版本之前仅支持字符编码 UTF8。

  • 在 ODC V2.2.1 及之前的低版本中使用导入导出功能时必须通过 OBProxy 连接至目标实例,直连时 ODC 不支持导入导出功能。

  • ODC V2.4.1 版本后,您可以选择配置 sys 租户账号以提升导出导入速度。同时,导出时如果勾选了表和视图之外的其它对象,必须配置该项以使用 sys 租户账号进行导出。

    本章节将分篇介绍以下导入导出的相关功能:

  • 导出导入格式

  • 批量导出与导入

  • 单表导出与导入

######## 6.5.1.2. 导出导入格式

OceanBase 开发者中心(OceanBase Developer Center,ODC)数据导出与导入支持导出的内容有导出结构和数据、仅导出数据和仅导出结构等三种模式。其中结构是指被导出对象的结构定义(DDL)文件,数据是对象中实际保存的数据文件。根据您选择的导出导入格式不同,其中结构和数据文件的类型也不同。

目前 ODC 支持的数据导出格式有 SQL 格式和 CSV 格式,支持的导入文件格式有 ZIP 压缩文件、SQL 文件(批量导入)和 CSV 文件(单表导入)。

导出文件格式

ODC 导出工具会将导出数据到以 .zip 结尾的压缩文件包中,压缩包中包含元数据文件 MANIFEST.bin 和 Schema 下导入导出对象的结构定义文件和数据文件。

创建导出任务时,如果您指定 数据格式SQL 格式,那文件包中的结构定义文件是以 对象名-schema.sql

命名的 SQL 文本,数据文件是以 对象名.sql

命名的 SQL 文本,其中对象名与数据库实际对象名保持一致。

Image 445

如果您指定 数据格式CSV 格式,那文件包中的结构定义文件是以 对象名-schema.sql

命名的 SQL 文本,数据文件是以 对象名.csv

命名的 CSV 文本,其中对象名与数据库实际对象名保持一致。

Image 444

导入文件格式

ODC 导入工具支持导入 ZIP 压缩文件(批量导入和单表导入)、SQL 文件(批量导入)和 CSV 文件(单表导入)。

其中,ZIP 压缩文件是以 .zip 结尾的压缩包。创建导入任务时在面板中的 导入内容 项中选择了 ZIP 压缩文件 后还需在 数据格式 项中选择压缩包中的数据格式是 CSV 格式SQL 格式。对应数据格式的导入压缩文件内容可参考 导出文件格式 中导出 CSV 格式和 SQL 格式数据所产生的压缩包内容。

批量导入时支持导入 SQL 文件,SQL 文件是以 .sql 结尾包含可直接在数据库中执行的 SELECT

、INSERT

、UPDATE

、DELETE

、CREATE

和 DROP

语句的文件。

单表导入时支持导入 CSV 文件,CSV 文件是 .csv 或 .txt 结尾的支持自定义分割符的数据文件。

######## 6.5.1.3. 批量导出与导入

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持批量导出和导入数据库对象的结构和数据。

进入数据库连接后,单击上方导航栏中的 工具 标签,在弹出的下拉菜单中单击 导出导入 标签进入导出设置与导入设置面板。

批量导出

导出设置 面板中,您可以选择同时导出多个数据库对象的结构和数据到指定格式的文件中。

Image 446

操作步骤

  1. 指定 任务名

    进入导出设置面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  2. 选择 导出内容

    ODC 目前支持 仅导出数据、仅导出结构导出结构和数据 三种方式其中导出结构指是否要导出目标对象的定义语句。需在 导出内容 标签下的选择框中选择需导出的内容。

  3. 选择 数据格式

    ODC 目前支持将数据导出为 CSV 格式SQL 格式。当 导出内容仅导出结构 时,只支持导出数据为 SQL 格式。具体格式信息,请参见 导出导入格式

  4. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。需在 文件编码 下拉框中选择所需的编码格式。

  5. 选择 导出对象

    导出对象 标签下的表格中勾选需导出的对象。表格中会展示 对象名称对象类型 信息,支持通过 对象类型 进行筛选和使用搜索框直接进行搜索。

  6. 进行 导出数据设置。

    导出内容 为仅导出结构时无需进行导出数据设置,该项包含以下设置项:

    • 使用全局快照:勾选该项后 ODC 将导出全局中指定表的最新快照点中的数据,勾选该项可以保证全局数据的一致性。

      批量提交数量 (SQL 格式):单击 导出数据设置 标签右侧的 高级 按钮,在弹出的列表中可指定该项。选择 数据格式 为 SQL 格式时,通过指定批量提交数量,可在导出文件中导出指定数量数据时添加一句 COMMIT

      命令。

    • 不导出的数据类型:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导出数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

    • 指定 CSV 格式信息。当 数据格式 为 CSV 格式且 导出内容 不为仅导出结构时,单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

      • 包含列头:该项默认勾选,选择导出数据为 CSV 格式时是否包含列头。
      • 空字符串转为空值:该项默认勾选,选择导出数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
      • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
      • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
      • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  7. 进行 导出结构设置

    在该项下选择是否 添加删除对象语句。勾选后在导出对象结构文件时,在对象的 CREATE

    语句前都会添加对应的 DROP

    语句。

  8. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导出速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导入,可提升导入的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 导出时如勾选表和视图之外的其它对象,须配置该项使用 sys 租户账号进行导出。

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  9. 生成导出任务。

    所有信息指定完成后,单击面板右下角的 导出 按钮以生成导出任务。

  10. 查看导出任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心可查看任务信息并下载导出的数据结构文件。详情请参见 导出任务

    批量导入

    导入设置 面板中,您可以选择同时导入结构和数据到多个数据库对象中。

    Image 447

    操作步骤

  11. 指定 任务名

    进入导入设置面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  12. 选择 导入格式

    ODC 目前支持批量导入 SQL 文件ZIP 压缩文件。需在 导入格式 标签下的下拉框中选择所需的文件格式。具体格式信息,请参见 导出导入格式

  13. 上传 导入文件

    单击文件池进入文件资源管理器选择要导入的文件,或者直接将文件拖入文件池中以完成文件上传。上传的文件格式需与选择的导入文件格式相同,ZIP 压缩文件支持上传 .zip 结尾的文件。SQL 文件支持上传 .sql 文件。

  14. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。需在 文件编码 下拉框中选择所需的编码格式。

  15. 选择 导入内容

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持 仅导入数据、仅导入结构导入结构和数据 三种方式其中导入结构指是否要导入对象的定义语句。需在 导入内容 标签下的选择框中选择需导入的内容。

  16. 选择 数据格式

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持导入 CSV 格式SQL 格式 的数据。具体格式信息,请参见 导出导入格式。当 导入内容仅导入结构导入文件SQL 文件 时,无需选择数据格式。

  17. 进行 导入数据设置。

    导入格式 为 ZIP 压缩文件且 导入内容 不为仅导入结构时需进行导入数据设置。该项包含以下设置项:

    • 导入前清空数据:勾选该项后,导入数据时将首先清空目标对象中原有的数据。

      批量提交数量:单击 导入数据设置 标签右侧的 高级 按钮,在弹出的列表中可指定该项。通过指定批量提交数量,可在导入文件中导入指定数量数据时添加一句 COMMIT

      命令。

    • 不导入的数据类型:可通过该项指定导入数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  18. 进行 导入结构设置

    导入内容 为仅导入数据时,该项不可被指定。在该项下选择当对象结构已存在时的操作。

    • 选择 跳过 操作:导入时跳过导入文件中的结构定义语句直接导入数据,该项会保留对象中的原数据。
    • 选择 替换 操作:执行导入文件中的结构定义语句以重新创建并替换原对象,该项会清空对象中的原数据。
  19. 选择 任务错误处理 方式。

    ODC 提供 停止任务忽略错误继续任务 两种错误处理方式。需在 任务错误处理 标签下选择所需的处理方式。

  20. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导入速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导入,可提升导入的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  21. 生成导入任务。

    所有信息指定完成后,单击面板右下角的 导入 按钮以生成导入任务。

  22. 查看导入任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心可查看任务信息,详情请参见 导入任务

######## 6.5.1.4. 单表导出与导入

OceanBase 开发者中心(OceanBase Developer Center,ODC)支持对指定表导出和导入结构和数据。

进入数据库连接后,左导航栏中单击 标签查看表列表,在表列表中右键目标表名,在弹出的列表中您可以选择使用 单表导出单表导入 功能以导出或导入当前表中的数据和结构。

Image 448

单表导出

单表导出的操作页面如下所示批量导出的操作基本一致。

单表导出

操作步骤

  1. 指定 任务名

    进入单表导出面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  2. 选择 导出内容

    ODC 目前支持 仅导出数据仅导出结构导出结构和数据 三种方式其中导出结构指是否要导出目标对象的定义语句。您需在 导出内容 标签下的选择框中选择需要导出的内容。

  3. 选择 数据格式

    ODC 目前支持将数据导出为 CSV 格式SQL 格式。当 导出内容仅导出结构 时,只支持导出数据为 SQL 格式。具体格式信息,请参见 导出导入格式

  4. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需在 文件编码 下拉框中选择需要的编码格式。

  5. 查看 导出对象

    导出对象 标签下的表格中会展示当前表的 对象名称对象类型 信息。

  6. 进行 导出数据设置。

    导出内容 为仅导出结构时无需进行导出数据设置,该项包含以下设置项:

    • 使用全局快照:勾选该项后 ODC 将导出全局中指定表的最新快照点中的数据,勾选该项可以保证全局数据的统一性。

      单表提交数量 (SQL 格式):单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。选择 数据格式 为 SQL 格式时,通过指定单表提交数量,可在导出文件中导出指定数量数据时添加一句 COMMIT

      命令。

    • 不导出的数据类型:单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导出数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

    • 指定 CSV 格式信息。当 数据格式 为 CSV 格式且 导出内容 不为仅导出结构时,单击 导出数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

      • 包含列头:该项默认勾选,选择导出数据为 CSV 格式时是否包含列头。
      • 空字符串转为空值:该项默认勾选,选择导出数据为 CSV 格式时是否将表中的空字符串转换为空值 \N
      • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
      • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
      • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  7. 进行 导出结构设置

    在该项下选择是否 添加删除对象语句。勾选后在导出对象结构文件时,在对象的 CREATE

    语句前都会添加对应的 DROP

    语句。

  8. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导出速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导出,可提升导出的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 导出时如勾选表和视图之外的其它对象,须配置该项使用 sys 租户账号进行导出。

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  9. 生成导出任务。

    指定好所有信息后,单击面板右下角的 导出 按钮以生成导出任务。

  10. 查看导出任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息并下载导出的数据结构文件。详情请参见 导出任务

    单表导入

    单表导入的操作页面如下所示,与 批量导出与导入 的操作基本一致:

    Image 449

    操作步骤

  11. 指定 任务名

    进入单表导入面板后,ODC 会在 任务名 文本框中自动生成默认任务名(连接名模式名日期),您也可以在文本框中修改自动生成的任务名。

  12. 选择 导入格式

    ODC 目前支持单表导入 CSV 文件ZIP 压缩文件。您需在 导入格式 标签下的下拉框中选择需要的文件格式。具体格式信息,请参见 导出导入格式

  13. 上传 导入文件

    单击文件池进入文件资源管理器选择要导入的文件,或者直接将文件拖入文件池中以完成文件上传。上传的文件格式需要与您选择的导入文件格式相同,ZIP 压缩文件支持上传 .zip 结尾的文件。SQL 文件支持上传 .sql 文件。

  14. 选择 文件编码

    ODC 目前支持 ASCIIISO-8859-1GB2312GBKGB18030Unicode(UTF-8)Unicode(UTF-16)Unicode(UTF-32)BIG5 等编码格式。您需在 文件编码 下拉框中选择需要的编码格式。

  15. 选择 导入内容

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持 仅导入数据仅导入结构导入结构和数据 三种方式其中导入结构指是否要导入对象的定义语句。您需在 导入内容 标签下的选择框中选择需要导入的内容。

  16. 选择 数据格式

    导入格式 为 ZIP 压缩文件时需指定该项。ODC 目前支持导入 CSV 格式SQL 格式 的数据。具体格式信息,请参见 导出导入格式。当 导入内容仅导入结构导入文件SQL 文件 时,无需选择数据格式。

  17. 进行 导入数据设置。

    导入格式 为 ZIP 压缩文件且 导入内容 为仅导入结构时无需进行导入数据设置。该项包含以下设置项:

    • 导入前清空数据:勾选该项后,导入数据时将首先清空目标对象中原有的数据。

      单表提交数量:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。通过指定单表提交数量,可在导入文件中导入指定数量数据时添加一句 COMMIT

      命令。

    • 跳过的数据类型:单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定该项。您可以通过该项指定导入数据时要跳过的数据类型。MySQL 和 Oracle 下可跳过的类型不同,支持多选。

  18. 指定 CSV 格式信息。

    导入格式 为 CSV 文件时,单击 导入数据设置 标签后的 高级 按钮,在弹出的列表中可指定以下信息:

    • 包含列头:该项默认勾选,选择导入数据为 CSV 格式时是否包含列头。
    • 空字符串转为空值:该项默认勾选,选择导入数据为 CSV 格式时是否将表中的空字符串转换为空值 \N。
    • 字段分隔符:设置字段间的分隔符。支持选择 ,(逗号)、;(分号)和 :(冒号)作为字段分割符。同时支持自定义一个字符长度的字符作为分隔符。
    • 文本识别符:设置文本内容的识别符。支持选择 '(单引号)和 "(双引号)作为文本识别符。
    • 换行符号:设置换行符。支持选择 \n\r\r\n 作为换行符。
  19. 选择 任务错误处理 方式。

    ODC 提供 停止任务忽略错误继续任务 两种错误处理方式。您需在 任务错误处理 标签下选择需要的处理方式。

  20. 进行 sys 租户账号配置

    在该项下选择是否 使用 sys 租户账号提升导入速度。勾选后在弹出的 账户密码 文本框中填写 sys 租户下的用户名和对应的密码。设置完成后会使用 sys 租户的权限进行导入,可提升导入的速度。

    注意

    • sys 租户账号和密码 为集群租户下用户的账号和密码 (账号请勿填入“@sys##集群”)。如图所示:

      sys 租户账号配置

    • 如未配置 sys 租户账号,会导致导入导出缺注释和索引。

  21. 生成导入任务。

    指定好所有信息后,单击面板右下角的 导入 按钮以生成导入任务。

  22. 查看导入任务。

    任务生成后会自动弹出 任务中心 面板,在任务中心您可以查看任务信息,详情请参见 导入任务

6.5.2. 模拟数据

OceanBase 开发者中心(OceanBase Developer Center,ODC)提供模拟数据功能供您在测试数据库性能或者验证功能等需要大量模拟数据的场景下,能够快速根据表中的字段类型生成数据。

Image 171

使用模拟数据功能生成数据的步骤如下:

  1. 进入 模拟数据 面板。

    进入 ODC 单击目标连接进入对应的数据库对象管理页面后,单击上方导航栏中的 工具 标签,在弹出的下拉菜单中选择 模拟数据 以弹出 模拟数据 面板。

  2. 查看 所属连接

    显示目标任务所在的数据库连接名称。

  3. 指定 所属库

    选择需变更的数据库。

  4. 指定生成数据的表。

    在模拟数据面板的 标签下的下拉列表中选择要在其中生成数据的表。下拉列表中会展示当前实例中所有存在的表。

  5. 指定生成的数据量。

    在模拟数据面板的 模拟生成数据量 标签下的文本框中输入您需要生成的数据量。默认会生成 1000 条数据,最多生成不超过 1000000 行数据,所以您可以在文本框中输入 1~1000000 间的任意正整数。

  6. 指定批量处理数据的大小。

    在模拟数据面板的 批处理大小 标签下的文本框中指定每生成多少条数据进行一次提交(COMMIT

    命令)操作。默认每生成 200 条数据进行一次提交,最大不超过 500 条,所以您可以在文本框中输入 1~500 间的任意正整数。

  7. 选择在表中插入模拟数据时是否清空表。

    在模拟数据面板的 插入模拟数据清空表 标签下的单选列表中选择当在表中插入模拟数据时是否清空表中原有的数据。

  8. 选择数据冲突处理方式。

    在模拟数据面板的 数据冲突处理方式 标签下的单选列表中选择当生成的数据有冲突时处理的方式。ODC 提供以下处理方式:

    • 忽略:默认为忽略,若数据有冲突则冲突数据不被插入。
    • 覆盖:若数据有冲突则删除原数据插入新数据。
    • 终止:若数据有冲突则停止生成数据终止整个模拟数据任务。
  9. 设置数据生成规则。

    在模拟数据面板的 规则设置 标签下的表格会根据您在第 2 步选择的表展示表的 字段名称字段类型 信息。您可以在 规则细则 列中针对目标字段设置模拟数据生成的规则。 其中 规则 列中会根据字段类型提供一些内置的对应规则,您可以按需进行选择。细则 列会根据您选择的规则展示具体的规则信息,您可以单击细则信息后的编辑图标对细则信息进行修改。

  10. 提交信息,生成模拟数据任务。

    单击模拟数据面板右下角的 提交 按钮生成模拟数据任务。您可以在 任务中心 面板查看任务详情,详情请参见 模拟数据任务

6.5.3. 数据库变更

概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)SQL 窗口中的语句是同步执行的,当语句运行时间过长时可能会出现执行超时的问题。可使用数据库变更工具来运行耗时较高的 SQL 语句以避免语句执行超时。

Image 441

操作步骤

新建数据库变更的步骤如下:

  1. 进入 数据库变更 面板。

    1. 在 ODC 首页,单击目标连接进入对应的数据库对象管理页面;
    2. 单击顶部导航栏中的 工具 标签;
    3. 在弹出的下拉菜单中选择 数据库变更 以弹出 新建数据库变更 面板。
  2. 查看 所属连接(当前连接,不可切换)。

  3. 选择 所属库(默认显示当前库)。

  4. 指定 SQL 内容

    数据库变更支持两种指定 SQL 内容的方式:

    1. SQL 录入:SQL 录入为默认方式,可在编辑区中直接录入 SQL 脚本。

      说明

单击 IN 值转化 按钮,可将批量复制的数据转化成 in('A','B')格式。

  • 列值分隔符号为换行符。

    • 行值分隔符为空格或 TAB 值。
    1. 上传附件:选择上传附件方式后,单击文件池进入文件资源管理器选择要导入的文件或者直接将导入文件拖入文件池中以完成文件上传。

      说明

      • 最多支持上传 500 个文件,总文件大小不超过不超过 256 MB。
      • 默认附件按上传的先后排序,可拖拽改变顺序,任务执行时按文件顺序执行。
      • 当前只支持上传 .sql 后缀的 SQL 文件。
  1. 指定 回滚方案

    回滚方案支持 SQL 文本录入及上传附件方式,具体参见“指定 SQL 内容”步骤。

  2. 分隔符:支持 delimiter 分隔符号。

  3. 查询结果限制:支持设置查询结果限制 (1-100w)。

  4. 指定 任务错误处理 方式。

    异步执行工具提供两种任务错误处理方式:

    1. 停止任务:停止任务为默认方式,运行脚本的过程中出现错误时会停止运行。
    2. 忽略错误继续任务:选择忽略错误继续任务方式,在运行脚本出现错后将跳过错误语句继续执行。
  5. 指定 执行超时时间

    执行超时时间 文本框中输入数字指定语句执行超时时间,单位为小时(默认超时时间为 48 小时,最大不超过 480 小时)。

  6. 指定 任务描述(选填)。

    可在 任务描述 文本框中输入不超过 200 个字符的描述信息,该项为选填项。

  7. 生成数据库变更任务。

    在面板中完成上述信息的指定后,单击右下角的 新建 按钮以提交信息生成数据库变更任务。

  8. 新建完成后,会自动转入 任务中心符号数据库变更 页面,可单击 查看 按钮,在任务详情页面查看 任务信息执行结果任务日志

6.6. 使用回收站

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击目标连接名后,进入对应的数据库对象管理页面后,单击右上角的 回收站 标签即可进入回收站页面。

回收站旨在短暂保存被删除的数据库对象,可帮助您轻松查询和还原被删除的数据库对象。

原理上,回收站是一个数据字典表,用于放置已删除的数据库对象信息。此处删除系指 DROP

操作,DELETE

操作删除的数据不会进入回收站。因此被 DROP

操作删除的对象并没有被数据库彻底删除,此类对象仍会占用空间,您可进行 PURGE

操作或在 ODC 中清空回收站以彻底释放空间。

如图所示,回收站页面展示以下信息:

回收站

信息说明
原名称显示被删除的对象的名称(用户创建对象时自定义的名称)。 单击 原名称,可升序或降序。
对象名称系统中为该对象命名的名称。 与原名称不同,对象名称由系统指定不会出现重复名称,可以作为对象的唯一标识。
对象类型显示被删除的对象的类型。
进入回收站时间显示该对象被删除的时间戳,以方便更具体的回溯被删除的对象。

回收站页面的导航栏中同时提供以下功能键:

操作键说明
清空单击清空,清空回收站中当前所有的被删除对象并释放空间。
刷新单击刷新,刷新回收站中被删除对象的列表。
清除单击清除,将当前选中的对象从回收站中立即删除并释放存储空间。
还原单击还原,将当前选中的对象从回收站中恢复到原来的位置。
搜索在搜索框中输入对象名称,搜索被删除的对象。
设置单击设置,选择是否启用回收站以及是否启用 Truncate Table。 启用回收站:删除的对象会送入回收站。 启用 Truncate Table:支持保留对象数据。
选择所有对象单击复选框图标复选框,选择所有对象或取消所有对象。 回收站-选择所有对象

6.7. 查看操作记录

本文档旨在介绍如何在 OceanBase 开发者中心(OceanBase Developer Center,ODC)上查看操作事件的历史记录。

背景信息

通过 ODC 查看操作记录,可满足以下需求:

  • 安全合规:数据库操作记录支持的多项功能协助用户完成安全合规建设,帮助用户满足安全合规要求。

  • 实时监测:数据库操作记录提供公共连接相关的业务操作记录功能。

  • 事件追溯:数据库操作记录可对数据库行为进行周期性对比,帮助用户快速定位异常点和异常行为,并提供风险检索能力,帮助用户追溯风险来源,并且可根据访问来源实现数据库的关联查询和关联分析,使数据库的访问行为有效定位到具体业务工作人员。

    操作记录列表

说明

所有用户均支持通过此入口查看自己的操作记录。

操作记录当前永久保留。

  1. 进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,在顶部导航栏单击 操作记录 标签。

    操作记录1

  2. 弹出 操作记录 标签。

    操作记录

    • 可通过列表上方的刷新按钮刷新可刷新列表信息。

    • 通过 执行时间 筛选时间,可支持查看最近7天/最近15天/最近30天/最近半年以及自定义时间段查看。

      操作记录列表中展示并提供基本信息如下所示。

信息项说明
事件类型显示操作事件类型,包括个人设置、密码管理、连接管理、脚本管理、数据库操作、组织配置、成员管理、资源组管理、模拟数据、数据库变更、导入、导出和任务流程等。 单击筛选图标筛选,可筛选事件类型。
事件操作显示操作事件信息。 单击筛选图标筛选,可筛选事件操作。
IP 来源显示 IP 来源。 单击搜索图标搜索,可搜索 IP。
执行时间显示操作执行的时间。 默认操作记录列表按执行时间排序,最新的执行记录显示在最前。 单击图标升序降序,可升序或降序。
执行结果显示执行结果,包括 成功失败。 单击筛选图标筛选,可筛选执行结果。
操作显示 查看 功能键。

查看操作记录

在操作记录列表中,单击 操作 项下的 查看 按钮,以弹出 记录详情 面板。

前台-操作记录-查看

记录详情中可查看 事件类型事件操作IP 来源执行细则执行人执行时间执行结果 信息。

6.8. 任务管理

6.8.1. 概述

使用 OceanBase 开发者中心(OceanBase Developer Center,ODC)提供的各种 工具 功能会生成对应的任务,可在任务中心查看对应的任务状态和任务详情信息。

登录 ODC 进入目标连接后,单击上方导航栏中的 任务 按钮会弹出 任务中心 面板,在面板中可查看对应任务的详细信息。

本章节将分篇介绍以下任务管理的相关功能:

  • 导入任务
  • 导出任务
  • 模拟数据任务
  • 异步执行任务
6.8.2. 导入任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建批量导入和单表导入任务后,您可以在 任务中心 面板的 导入 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 导入 页签展示任务列表。

说明

最大支持 3 个导入任务并行运行,后续任务在队列中等待运行。

任务列表

Image 453进入导入任务页签后,任务列表会展示最近 48 小时内的任务。列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看重试终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
重试任务失败时,单击该按钮重新发起该任务。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息、导入文件信息和导入对象信息。

  • 任务基本信息:展示 任务名连接名模式名任务类型创建时间重试次数重试时间 等信息。

  • 导入文件信息:展示了创建导入导出任务时您选择的 导入文件格式导入文件文件编码导入内容数据格式导入数据设置导入结构设置、任务错误处理sys 租户账号配置 等信息。

  • 导入对象信息:展示了该任务中您选择的对象在导出或导入数据时的完成情况,包括

    对象名称对象类型结构处理状态 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

6.8.3. 导出任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建批量导出和单表导出任务后,您可以在 任务中心 面板的 导出 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 导出 页签展示任务列表。

说明

最大支持 3 个导出任务并行运行,后续任务在队列中等待运行。

任务列表

Image 454

进入导出任务页签后,任务列表会展示最近 48 小时内的任务。列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看下载重试终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
下载任务成功时,单击该按钮下载导出文件至本地。
重试任务失败时,单击该按钮重新发起该任务。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息、导出文件信息和导出对象信息。

  • 任务基本信息:展示 任务名连接名模式名任务类型创建时间重试次数重试时间 等信息。

  • 导出文件信息:展示了创建导出任务时您选择的 导出内容数据格式文件编码导出数据设置导出结构设置、任务错误处理sys 租户账号配置 等信息。

  • 导出对象信息:展示了该任务中您选择的对象在导出或导出数据时的完成情况,包括

    对象名称对象类型结构处理状态数据总记录数数据已处理数数据处理状态 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

6.8.4. 模拟数据任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建异步执行任务后,您可以在 任务中心 面板的 模拟数据 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 模拟数据 页签展示任务列表。

任务列表

Image 455

进入模拟数据任务页签后,列表中会展示以下信息并且支持筛选和排序:

  • 所属连接:展示目标任务所在的数据库连接名称。
  • 任务名:展示新建任务时指定的任务名。
  • 创建时间:展示该任务生成的具体日期和时间。
  • 任务状态:展示任务的当前状态,有 运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
  • 操作:提供了 查看下载终止删除 等任务管理操作。
操作说明
查看单击该按钮进入任务详情页面以查看目标任务的 任务详情任务日志
下载任务成功时,单击该按钮下载模拟数据对应的 SQL 文件至本地。
终止任务未完成时,单击该按钮终止任务。
删除任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务信息 标签查看任务基本信息和模拟数据设置信息。

  • 任务基本信息:展示 任务名称连接名称模式名任务类型创建时间 等信息。

  • 模拟数据设置信息:展示了创建模拟数据任务时您选择的 目标表模拟生成数据量批处理大小插入模拟数据前清空表数据冲突处理方式实际插入记录冲突记录忽略插入清除记录规则设置展示 等信息。

    任务日志

    单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

  • 全部日志:全部日志展示任务的 INFOERRORWARN 日志等全量信息。

  • 告警日志:告警日志单独展示任务的 ERRORWARN 日志。当任务失败时,您看以查看告警日志以获得错误信息。

6.8.5. 数据库变更任务

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建异步执行任务后,您可以在 任务中心 面板的 异步执行 页签查看任务列表。

进入目标数据库连接后,单击上方导航栏中的 任务 标签弹出任务中心面板,在面板中单击 异步执行 页签显示任务列表。

任务列表

Image 456

进入异步执行任务页签后,列表中会显示以下信息并且支持筛选和排序:

信息项说明
所属连接显示目标任务所在的数据库连接名称。
任务名显示新建任务时指定的任务名。
创建时间显示该任务生成的具体日期和时间。
任务状态显示任务的当前状态,有 准备中运行中已终止完成失败 等五种状态。不同状态下提供的管理操作不同。
操作提供 查看终止删除 等任务管理操作。 查看:单击该按钮进入任务详情页面以查看目标任务的 任务信息任务日志。 终止:任务未完成时,单击该按钮终止任务。 删除:任务已终止、完成或失败时,单击该按钮从任务列表中删除目标任务。

任务信息

任务-异步执行-任务详情

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板中单击 任务信息 标签查看任务基本信息和异步执行设置信息。

信息项说明
任务基本信息显示 任务名创建时间SQL 内容分隔符、查询结果限制、任务错误处理执行超时时间任务描述 等信息。
任务执行信息显示任务的 执行结果执行失败记录 等信息。 说明 如任务中包含 SELECT 语句,在完成时任务详情里提供 查询结果下载查询结果 按钮。 查询结果:单击查询结果,跳转至 SQL 窗口页,展示结果集。 下载查询结果:支持将单条或多条 SELECT 的查询结果( CSV 格式的文件)打包成一个压缩文件,下载至本地。

任务日志

单击操作列中的 查看 按钮弹出目标任务的任务详情面板,在面板的右上角单击 任务日志 标签查看任务的全部日志和告警日志。

信息项说明
全部日志全部日志显示任务的 INFOERRORWARN 日志等全量信息。 单击 查找下载复制 按钮,可查找信息、下载或复制全部日志信息。
告警日志告警日志单独显示任务的 ERRORWARN 日志。当任务失败时,可通过告警日志查看错误信息。 单击 查找下载复制 按钮,可查找信息、下载或复制告警日志信息。

6.9. 会话管理

应用与数据库的连接被称为一个会话,在 OceanBase 开发者中心(OceanBase Developer Center,ODC)会话管理页面您可以查看连接到当前数据库所有会话的详细信息。同时在会话属性页面 ODC 提供了可视化界面使您可以清晰直观的查看和修改当前数据库支持的会话变量和全局变量。

进入 ODC 对应的数据库连接后,单击页面上方导航栏的 会话 按钮,可选择进入 会话属性会话管理##k9Jrr页面。

Image 186

会话属性

会话管理2

会话属性即数据库变量,OceanBase 中有会话变量和全局变量:

  • 会话变量:当客户端连接到数据库后,数据库会复制全局变量以自动生成会话变量。会话变量的修改只对当前会话生效。
  • 全局变量:数据库实例共享全局变量。这意味着不同用户共享这些全局变量,且数据库会保存您对全局变量做出的更改,断开连接并再次进入数据库时,更改依旧有效。

说明

  • 当前版本的 ODC 中不支持编辑全局变量,可对会话变量进行修改。

  • ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,所以您需要手动提交事务。您可以修改变量 autocommit 的值进行设置。

  • 事务手动提交模式下,需要设置 ob_trx_idle_timeout 大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout 设置的时间,连接会终止。同时需要注意 ob_trx_idle_timeout 设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

    ODC 提供了可视化界面使您可以清晰直观的查看与修改当前数据库支持的变量。对于变量值的修改:

  • 针对会话变量,当前版本 ODC 区分了查看态和编辑态,选中需修改的变量后,单击工具栏中的编辑按钮以进入编辑弹窗进行修改。编辑完成后单击 确定 按钮,在弹出的 SQL 确认 页面中单击 执行,修改生效。

  • 如变量的值为字符或数字类型,可在变量编辑页面中直接输入修改值。

  • 如变量的值为枚举类型,ODC 会在变量值的编辑框中列举出该变量支持的值的集合,可在不使用准确记忆变量名和值的情况下通过可视化界面完成修改,此方式可降低用户记忆变量的成本并提高变量修改的效率。

    会话管理

    与当前数据库的连接被称为一个会话,在会话管理页面您可以查看连接到当前数据库的所有会话和以下会话信息:

会话信息说明
会话 ID展示当前会话的 ID,是会话的唯一标识。
用户会话登录使用的数据库用户名。
来源发起会话的地址。
数据库名当前会话访问的数据库名称。
状态展示当期会话的状态,有 SLEEP(休眠)和 ACTIVE(活跃)两种状态。
命令会话当前执行的命令类型。
执行时间(s)会话当前执行 SQL 所花的时间。
SQL会话当前执行 SQL 的具体内容。
OBProxy会话访问的代理地址。

管理会话

会话管理页面的导航栏中提供了以下功能键供您管理会话:

  • 刷新:刷新会话列表。
  • 关闭会话:终止当前会话。
  • 关闭会话当前查询:终止当前会话正在进行的 SQL 执行进程。

6.10. 数据库对象

6.10.1. 表对象

######## 6.10.1.1. 概述

表由行(Row)和列(Column)组成的。每列称为一个字段,每列的标题称为字段名。行包括了若干列信息项,一行数据称为一个或一条记录。一张数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于唯一地确定一条记录。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击表标签可以查看表列表。在表列表中双击表名进入表管理页面,您可以在表管理页面的数据页签查看和修改表的数据,或在属性页签查看表的基本信息、列、分区、索引、约束和 DDL 等属性信息。

注意

分区信息查看依赖 root@sys 账号,所以您需要在创建连接的高级配置中设置 root@sys 用户。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V1.4.1 及以上。

本章节将分篇介绍以下 ODC 中表对象的相关操作:

  • 新建表
  • 表列表
  • 表属性管理
  • 表数据管理

######## 6.10.1.2. 新建表

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左侧导航栏中单击 标签可查看表列表。在表列表的右上角,单击 + 创建表,或在顶部导航栏中单击 新建 以创建所需的对象。

新建表

如上图所示,创建表包含以下 6 个步骤:

  1. 设置基本信息。

  2. 设置列。

  3. 设置分区规则。

  4. 设置索引。

  5. 设置约束。

  6. 点击 提交 按钮,等待表生成。

    操作步骤

    步骤一:设置基本信息

    指定 表名称 和表的 描述(可选)。

说明

在 MySQL 模式下,还需指定 默认字符集默认排序规则

步骤二:设置列

如下图所示,添加一列时需指定以下信息:

image

信息项说明
字段名称指定字段(列)的名称。
数据类型指定字段(列)的数据类型。
非空是否限制该字段(列)的值不能为空。
自增(MySQL 模式下)选择是否为自增列。
缺省值该字段(列)的默认值。
字段注释对该字段的说明。

设置列页面同时提供三个功能键:

功能项说明
+新建添加一下新字段。
编辑对选定的字段进行编辑或直接双击单元格进行编辑。
删除删除当前选中的字段。

步骤三:设置分区规则

image

  • OceanBase 中 MySQL 模式支持六种分区方法:keyHashRangeRange_columsListList_columns

  • Oracle 模式支持三种分区方法:ListRangeHash

    由于在 MySQL 模式和 Oracle 模式下分区的定义不同,所以以下信息在不同模式下的意义略有不同,请根据所选的分区方法按其定义指定以下信息:

信息项说明
分区方法指定分区方法。 MySQL 模式和 Oracle 模式下支持的分区方法不同。
字段选择的字段将成为分区键。
表达式根据表达式的返回值进行分区(Oracle 模式不支持分区表达式)。
分区根据所选的 分区方法,可能需要指定 分区名称分区数量区间上限值值枚举 等信息。 可添加多个分区,并拖动它们进行排序。

步骤四:设置索引

如下图所示,需指定以下信息:

image

信息项说明
索引名为改索引指定的名字。
索引范围默认值是 GLOBAL(全局索引),只有在设置分区的表后方可指定索引范围是否为 LOCAL(局部索引)。
索引类型索引类型目前只支持 BTree。
可选字段选择建索引所在的列,需注意索引列的顺序。
唯一是否唯一索引,即通过索引的方式保证唯一性约束。

设置索引页面同时提供三个功能键:

功能项说明
+新建添加一下新索引。
编辑对选定的索引进行编辑或直接双击单元格进行编辑。
删除删除当前选中的索引。

步骤五:设置约束

image

ODC 中支持设置的表级约束包括以下 4 种:

  • 主键约束:定义一个主键来唯一标识表中的每一行数据。主键约束可为一个字段或是一组字段,一张表中只能设置一个主键约束,且设置完成后不支持编辑。
  • 唯一约束:保证在一个字段或者一组字段里的数据在表中是唯一的,一张表中可设置多个唯一约束。
  • 外键约束:在两个表的数据之间建立连接(可为一列或多列),旨在保持关联表之间数据的一致性、完整性。设置完成后不支持新增和编辑。
  • 检查约束:在编辑数据库数据时,按照设置的检查规则进行校验,校验通过才允许数据修改操作(仅在 Oracle 模式下支持 检查约束)。由于 OceanBase 数据库中 MySQL 模式和 Oracle 模式支持的约束不同,而不同约束所需的信息也略有不同,因此请根据所选的约束方法按页面上的要求指定所需信息:
信息项说明
约束名称指定约束的名称。
列信息选择一个字段或是一组字段作为约束。
是否启用指定创建的约束是否生效。有些情况下,可能需要约束暂不生效,例如导入大量数据时,通过禁用约束可提高效率。
可延迟状态支持设置三种延迟状态 立即验证不可延迟延迟验证
关联schema(Oracle 模式下)使用 外键约束 时需指定关联表(父表)所在的 Schema。
关联数据库(MySQL 模式下)使用 外键约束 时需指定关联表(父表)所在的数据库。
关联表使用 外键约束 时需指定关联表(父表)。
关联字段使用 外键约束 时需指定关联表(父表)。
删除指定当关联表(父表)中的数据被删除时,当前表(子表)对应的动作。可指定 CASCADENO ACTION、RESTRICTSET NULL 等四种对应的动作。 MySQL 和 Oracle 模式下所支持的外键动作不同: MySQL 模式下,OceanBase 可指定 CASCADE、NO ACTION、RESTRICT 和 SET NULL; Oracle 模式下,OceanBase 可指定 CASCADE、NO ACTION 和 SET NULL。 注意 OceanBase 暂不支持 SET NULL 动作。 相关语法,请参考 OceanBase 或 MySQL/Oracle 官网文档。
更新指定当关联表(父表)中的数据被更新时,当前表(子表)对应的动作。可指定 CASCADENO ACTIONRESTRICTSET NULL 等四种对应的动作。 MySQL 和 Oracle 模式下所支持的外键动作不同: MySQL 模式下,OceanBase 可指定 CASCADE、NO ACTION、RESTRICT 和 SET NULL; Oracle 模式下,OceanBase 可指定 NO ACTION。 注意 OceanBase 暂不支持 SET NULL 动作。 相关语法,请参考 OceanBase 或 MySQL/Oracle 官网文档。
检查条件指定执行 检查约束 时校验数据的检查规则。

设置约束页面同时提供三个功能键:

功能项说明
+新建添加一下新约束。
编辑对选定的约束进行编辑或直接双击单元格进行编辑。
删除删除当前选中的约束。

######## 6.10.1.3. 表列表

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 标签可查看表列表。表列表中展示当前连接的数据库中存在的表对象,可在表列表中查看该对象的结构树或右键目标对象以进行管理操作。

结构树

如下图所示,在表列表中单击目标表名前的下弹标志会在弹出的下拉列表中展示其结构树,对象表的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作中的 管理操作键表

Image 188

管理操作

鼠标右键单击架构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键以供快速管理目标对象。

下述为管理操作键表:

操作键说明
查看表结构进入表属性页签,全量查看表的基本信息、列、索引、约束和 DDL 等信息。
查看 DDL进入表属性页签,查看定义当前表的 SQL 语句。
查看表数据进入表数据页签,查看表中的数据。
新建表进入新建表页面,根据步骤创建新的表对象。
模拟数据进入 模拟数据 面板。
单表导入向当前表中导入数据,具体信息请查看本手册文档 单表导出与导入
单表导出导出当前表中的数据,具体信息请查看本手册文档 单表导出与导入
打开 SQL 窗口新建一个 SQL 窗口。
复制复制表名、select 语句、insert 语句、update 语句或 delete 语句。
重命名重命名当前表对象。
删除删除当前表对象。
刷新对当前表对象进行一些管理操作后,刷新结构树以展示最新信息。
查看列/索引/约束进入表属性页签的列/索引/约束信息部分,查看表对象中列/索引/约束的具体信息。
新建列/索引/约束弹出新建列/索引/约束页面。

######## 6.10.1.4. 表属性管理

概述

数据库对象-表对象-表属性管理-概述

  1. 在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页单击连接名,进入连接;

  2. 在左侧导航栏中单击 标签可查看表列表;

  3. 在表列表中双击表名进入表管理页面;

  4. 在表管理页面,单击上方导航栏中的 属性 按钮进入属性页签。

    在属性页签中,可查看当前表中以下属性信息:

    • 基本信息

    • 索引

    • 约束

    • 分区

    • DDL

      基本信息

      Image 699

      属性 页签的左导航栏中单击 基本信息 标签查看当前表的基本信息:

信息项说明
表名称显示当前表的名字,同时可在此修改表的名字。
默认字符集当前表所用的字符集。
默认排序规则当前表所用的排序规则。
描述显示创建表时所添加的描述,同时可在此修改对表的描述。

列信息

表信息_列.png

在属性页签的左导航栏中单击 标签查看当前表中所包含的列,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个字段(列)。
编辑编辑当前选中的字段,在弹出的编辑窗口中可修改 数据类型主键非空值缺省值字段注释 等信息(字段名称 不可修改)。或双击单元格直接对其内容进行修改。
删除删除当前选中的字段。
刷新刷新字段信息。
筛选字段名称 右侧,单击筛选按钮,筛选或搜索字段。

索引信息

表信息_索引.png

在属性页签的左导航栏中单击 索引 标签查看当前表中包含的索引,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个索引。
删除删除当前选中的索引。

说明

目前暂不支持修改表中已创建的索引。

约束信息

表信息_约束.png

在属性页签左导航栏单击的 约束 标签查看当前表中包含的约束信息,并且导航栏中提供以下功能键:

操作键说明
新建在表中新增一个约束。
编辑编辑当前选中约束。
删除删除当前选中的约束。
刷新刷新约束列表。

说明

  • 不同约束方法支持的功能键不同,当导航栏中功能键为灰色或不存在时,表明该约束方法暂不支持该操作。

    外键约束:OceanBase Oracle 模式支持通过 all_constraints

    查询外键;OceanBase MySQL 模式自 OBServer V2.2.6 版本起,支持通过 information_schema.key_column_usage 查询外键。。

    分区信息

    表信息_分区.png

    在属性页签的左导航栏中单击 分区 标签查看当前表中所包含的 分区名称顺序分区方法表达式(Oracle 模式下展示分区键)、区间上限值值枚举 等信息(不同分区方法展示的分区信息不同)。且导航栏中提供以下功能键:

操作键说明
新建即从未定义的区间范围划分出一个新分区。
编辑编辑选中的分区的分区信息。
分裂对已定义的分区进行拆分,使分区的粒度变小。
删除删除选中的分区,分区的数据也随之销毁。
刷新刷新分区列表。

DDL 信息

Image 702

可在 属性 页签中单击左导航栏中的 DDL 标签,查看当前表的 DDL 语句(即查看定义当前表的 SQL 语句,不支持编辑)。工具栏中提供 格式化 工具以方便查看语句。

######## 6.10.1.5. 表数据管理

在OceanBase开发者中心(OceanBase Developer Center,ODC)点击连接名进入连接后,在左导航栏中点击 标签可以查看表列表。在表列表中双击表名进入表管理页面,点击上方导航栏中的 数据 按钮进入数据页签,在该页签可对当前表中的数据进行查看、新增、修改和删除操作。

注意

ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,所以您需要手动提交事务。您可以在 会话属性 页面修改变量 autocommit 的值进行设置,详细操作请参见 管理会话

查看数据

进入数据页签后,ODC 以表格的形式展示表中的数据,并导航栏中提供了以下功能键供您查看和管理表中的数据:

  • 开启编辑:进入编辑态,以供您直接修改表中的数据。

  • 提交:Oracle 模式下自动提交默认设置为关(OFF),所以您需要单击该按钮以手动提交当前事务。单击时会提示您当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

  • 回滚:Oracle 模式下自动提交默认设置为关(OFF),单击该按钮以回滚当前事务。单击时会提示您当前连接采用共享 Session,回滚操作会对所有窗口生效,单击 确认 后回滚生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

  • 刷新:刷新表中数据。

  • 列模式:以表格的形式展示当前被选中行的数据。在 列模式 页面可以进行上一行、下一行的切换展示,在列数量比较多的场景下,列模式 比较方便查看单行数据。

  • 列管理:筛选在页面中展示的列。

  • 回到开始:跳转至第一页。

  • 上一页:向上翻页。

  • 下一页:向下翻页。

  • 跳至底部:跳转至最后一页。

  • 展示数据量:设置在页面中展示的行数。

  • 导出:将表中数据导出,可以选择导出的文件类型(CSV 或 SQL)、字符集(GBK 或 UTF8)和行数。结果集最多导出 10000 行数据。

    编辑数据

    如下图所示,在数据页签导航栏中单击 开启编辑 可进入编辑态。ODC 中用颜色标识您对表中数据的操作,新增的数据用绿色标识,删除的数据用红色标识,修改后的数据用橙色标识。

    编辑态下,导航栏提供了以下操作键功能编辑表中的数据:

  • 添加行:单击该功能键将在表中插入一个空行。双击单元格以插入数据,ODC 提供了校验和工具来帮助您更快捷方便的插入数据。例如,当前单元格在日期类型的列中,ODC 会为您提供一个日历窗口来帮助您直接选择要插入的日期值。

  • 删除行:在表中删除当前选中的行。

  • 复制当前行:在表中复制当前选中的行。

  • 列模式:以表格的形式展示当前被选中行的数据。在 列模式 页面可以进行上一行、下一行的切换展示,在列数量比较多的场景下,列模式 比较方便查看单行数据。

  • 列管理:筛选在页面中展示的列。

  • 回到开始:跳转至第一页。

  • 上一页:向上翻页。

  • 下一页:向下翻页。

  • 跳至底部:跳转至最后一页。

  • 展示数据量:限制在页面中展示的行数。

  • 取消:退出编辑态。

  • 确认修改:生成对应操作的 SQL 语句,确认语句无误后,单击 执行 使修改生效。当自动提交设置为开(ON)时,单击该按钮事务被自动提交。

  • 修改并提交:Oracle 模式下自动提交默认设置为关(OFF),所以您需要单击该按钮以手动提交当前事务。单击时会提示您当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。

6.10.2. 视图对象

######## 6.10.2.1. 概述

视图是基于一个或多个表(或视图)而创建的虚拟表,视图基于的表称为基表。视图本身不包含数据,通过它可以对基表里面的数据进行查询和修改。所以视图的定义存在数据字典中,但是与此定义相关的数据并没有再存一份于数据库中。视图看上去非常像数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据,相反地,基表数据的改变也会反映在由基表产生的视图中。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击视图标签可以查看视图列表。在视图列表中双击视图名进入视图管理页面,您可以在视图管理页面的数据页签查看视图的数据,或在属性页签查看视图的基本信息、列和 DDL 等属性信息。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V1.4.1 及以上。

本章节将分篇介绍以下 ODC 中视图对象的相关操作:

  • 新建视图
  • 管理视图

######## 6.10.2.2. 新建视图

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 视图 标签可以查看视图列表。在视图列表的右上角,单击 + 创建视图,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

新建视图需要进行以下 4 步操作:

  1. 指定基本信息

  2. 基表选择(选填)

  3. 字段选择(选填)

  4. 确认 SQL

    Image 192

    指定基本信息

    在新建视图页面,第一步需要指定基本信息。基本信息 页签中包含以下信息项:

  • 视图名称:为视图指定一个名称。

  • 检查项:检查项是对写入数据的约束检查,OceanBase 暂时不支持,默认值为

    完成基本信息的指定后,单击页签左下角的 确认 按钮,完成当前步骤。您可以直接单击页面下方的 下一步:确认 SQL 按钮进入第四步 确认 SQL,也可按需进入第二步进行基表选择的操作。

    基表选择(选填)

    指定基本信息后,您可以按需继续进行第二步基表选择的操作,该步骤可跳过。

    基表选择 页签中,左侧的列表按 Schema->库->表/视图的层级关系展示了可被选择的基表,列表支持搜索。在基表列表中选中目标表或视图,单击列表旁的添加按钮(>)将选中的表或视图添加进页签右侧的表操作区中。

    在表操作区中,可对选择的基表进行以下操作:

  • 设置别名:为选中的基表设置一个别名,可选操作。在表操作区中单击表名后的 \<别名> 标签在文本框中输入别名。

  • 设置关联关系:表操作区中存在两个或两个以上的表时可通过下拉框选择表与表之间的关联关系,默认值为 JOIN,最后一张表无需设置关联关系。单击别名标签后的下拉列表标签()进行选择,可选 JOININNERJOINLEFTJOINRIGHTJOINCROSSJOINFULLJOINUNIONUNIONALLINTERSECTMINUSLEFTOUTERJOINRIGHTOUTERJOINFULLOUTERJOIN 等关联关系。

  • 调整关联顺序:可直接在表操作区中拖动选择的基表进行顺序的调整。当将选中的表拖动为最后一张表时该表之前设置的关联关系会被清空。

  • 删除基表:在表操作区中单击每张表后的删除按钮,可将该表从表操作区中删除,删除表会附带删除当前表与下一张表的关系。

    完成基表的选择和设置后,单击页签左下角的 确认 按钮,完成当前步骤。

    字段选择(选填)

    完成基表选择后,您可以进行第三步字段选择的操作。若您跳过第二步基表选择将无法进行字段选择。

    字段选择 页签中,左侧的列表按 Schema->库->表/视图的层级关系展示了在第二步被选择的基表所包含的字段,列表支持搜索。在字段列表中选中目标字段,单击列表旁的添加按钮(>)将选中的字段添加进页签右侧的字段操作区中。

    在字段操作区中,可对选择的字段进行以下操作:

  • 设置别名:为选中的字段设置一个别名,可选操作。在字段操作区中单击字段名后的 \<别名> 标签在文本框中输入别名。

  • 调整关联顺序:可直接在字段操作区中拖动选择的字段进行顺序的调整。

  • 删除字段:在字段操作区中单击每个字段后的删除按钮,可将该字段从字段操作区中删除。

  • 自定义字段:单击字段操作区右上角的 +自定义 标签会在字段操作区中添加一个字段,您需要为新增的字段指定字段名称和别名。

    完成字段的选择和设置后,单击页签左下角的 确认 按钮,完成当前步骤。

    确认 SQL

    完成上述所有信息的指定后,单击页面上 下一步:确认 SQL 按钮以进入语句编辑页面。

    在语句编辑页面中会根据 基本信息基表选择字段选择 页签中指定的信息生成对应的视图定义语句,您需要按需补齐语句。补齐视图创建语句后,单击页面右上角的 创建 按钮,完成视图的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
上一步回到 新建触发器 页面,您可以继续编辑或修改 基本信息高级设置 页签中的指定的值。

######## 6.10.2.3. 管理视图

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 视图 标签可查看视图列表,在视图列表中展示了当前连接的数据库中存在的视图对象。

可在视图列表中查看该对象的 结构树 或右键目标对象以进行 管理操作。或在视图列表中双击目标视图名进入视图管理页面,可在视图管理页面的 属性和数据页签

结构树

如下图所示,在视图列表中单击目标视图名前的下弹标志会在弹出的下拉列表中展示其结构树,对象视图的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 193

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看视图属性进入 属性 页签,全量查看视图的基本信息、列和代码等信息。
查看视图数据进入 数据页签,查看视图中的数据。
新建视图进入新建视图页面,根据步骤创建新的视图对象。
删除删除当前视图对象。

属性和数据页签

  • 属性页签:

    • 基本信息:查看 视图名称检查项创建人 等信息。
    • :查看视图对应基表的 字段名称数据类型字段注释 等信息。
    • 代码:当前视图的定义脚本。
  • 数据页签:展示视图中包含的字段名(列)。

    Image 818

6.10.3. 函数对象

######## 6.10.3.1. 概述

函数即定义了一组 SQL 脚本的集合,可以在SQL语句中对函数进行调用以返回一个指定的结果。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击函数标签可以查看函数列表。在函数列表中双击函数名进入函数管理页面,您可以在函数管理页面查看函数的基本信息、参数和 DDL 等信息。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V2.0.0 及以上。

本章节将分篇介绍以下 ODC 中函数对象的相关操作:

  • 新建函数
  • 管理函数

######## 6.10.3.2. 新建函数

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 函数 标签可以查看函数列表。在函数列表的右上角,单击 + 创建函数,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。创建函数需要输入以下信息:

参数说明

信息项说明
函数名称指定函数的名称。
返回类型函数返回值的数据类型。
参数参数即调用函数时传入的信息,需指定参数信息: Oracle 模式:需指定参数的 名称模式类型默认值。 MySQL 模式: 需指定参数的 名称模式类型长度说明 通过 弹窗引导 辅助菜单,可添加、删除、上下移动参数。 单击表序号,选中整行,显示辅助菜单(删除、上/下移动)。 右键操作: 拖动鼠标选中整行,右键单击鼠标,进行复制。 选择单元格,右键单击鼠标,进行复制。 单击并选中表序号,可拖动整行参数以调整顺序 单击 确定 进入 SQL 创建确认页面。

参数类型

参数 中需指定的 模式 指参数类型。

MySQL 模式下不支持设定参数模式,Oracle 模式下支持三种参数模式 IN(输入)、OUT(输出)、INOUT(输入输出):

参数类型
IN输入参数,调用函数时将参数的值传入函数供执行函数时使用。
OUT输出参数,调用函数时,函数会忽略输出参数本身的值并传入一个空值,在函数体中可以修改输出参数并将修改结果返回给输出参数所代表的实参。
INOUT输入输出参数,即同时具备输入参数和输出参数的功能。

参数设置

属性是否必填默认模式
名称必填Oracle/MySQL
模式必填INOracle/MySQL
类型必填VARCHAROracle/MySQL
长度必填45Oracle/MySQL
默认值非必填Oracle/MySQL

######## 6.10.3.3. 管理函数

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 函数 标签可以查看函数列表,在函数列表中展示了当前连接的数据库中存在的函数对象。

可在函数列表中查看该对象的 结构树 或右键目标对象以进行一些 管理操作。或者,在函数列表中双击目标函数名进入 函数管理页面

结构树

如下图所示,在函数列表中单击目标函数名前的下弹标志会在弹出的下拉列表中展示其结构树,对象函数的结构树最深有三层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 194

管理操作

右键鼠标单击结构树中的目标项,通过弹出的管理操作列表,可快速管理和操作目标对象。

管理操作键表如下所示:

操作键说明
查看进入 函数管理页面,全量查看当前函数的基本信息、参数和代码等信息。
新建进入新建函数页面,根据步骤创建新的函数对象。
编辑函数管理页面##fRXPX中展示定义当前函数的语句,您可以在窗口中继续编辑该函数。
编译编译目标函数。
调试进入调试页面以对当前函数进行调试。 说明 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。 ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。
运行运行当前函数。
删除删除当前函数。
刷新对当前函数对象进行一些管理操作后,刷新结构树以展示最新信息。

函数管理页面

Image 817

在函数列表中双击目标函数名进入函数管理页面。可在函数管理页面查看以下信息:

功能说明
基本信息显示 函数名称返回类型创建人 等信息。
参数显示参数 名称顺序模式数据类型默认值 等信息。单击刷新图标,可刷新参数。
DDL显示定义函数的脚本,同时提供 编辑查找刷新 功能键。 说明 单击 编辑 图标,会跳转至 PL 对象编辑窗口。

函数编辑页面

在函数列表中右键目标项,在提供的操作键中单击 编辑 可进入函数编辑页面,在编辑页面的代码区会展示该函数的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新您本次修改。
编译编译当前页面中的语句。
运行单击该按钮运行代码区中的语句。
调试单击该按钮进入调试页面,并对代码区内的 PL 对象进行调试。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。
6.10.4. 存储过程对象

######## 6.10.4.1. 概述

存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的 SQL 语句集,它存储在数据库中,一次编译后永久有效。

函数和存储过程的定义类似,都是 SQL 脚本的集合,但是二者主要区别如下:

  • 函数一般只返回一个变量,而存储过程没有返回值。

    函数是可以嵌入在 SQL 语句中使用,比如,可以在 SELECT

    语句中调用函数,但是存储过程一般是作为一个独立的部分被执行。

  • 函数限制比较多,而存储过程的限制相对就比较少。一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

    在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 存储过程 标签可以查看存储过程列表。在存储过程列表中双击存储过程名进入存储过程管理页面,您可以在存储过程管理页面查看存储过程的基本信息、参数和 DDL 等信息。

    数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.0.0 及以上。
OceanBase 数据库 MySQL 模式V2.0.0 及以上。

本章节将分篇介绍以下 ODC 中存储过程对象的相关操作:

  • 新建存储过程
  • 管理存储过程

######## 6.10.4.2. 新建存储过程

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 存储过程 标签可以查看存储过程列表。在存储过程列表的右上角,单击 + 创建存储过程,或是在上方导航栏中单击 新建 > 存储过程 以创建所需的对象。创建存储过程需输入以下信息:

数据库对象-新建存储对象

参数说明

信息项说明
名称指定存储过程的名称。
参数参数即调用存储过程时传入的信息,需指定参数: Oracle 模式:需指定参数名称模式类型默认值。 MySQL 模式:需指定参数 名称、模式、类型长度说明 可拖动参数以调整顺序。 通过 弹窗引导 辅助菜单,可添加、删除、上下移动参数。 单击表序号,选中整行,显示辅助菜单(删除、上/下移动)。 右键操作: 拖动鼠标选中整行,右键单击鼠标,进行复制。 选择单元格,右键单击鼠标,进行复制。 单击并选中表序号,可拖动整行参数以调整顺序。 单击 确定 进入 SQL 创建确认页面。

参数类型

参数 需指定的 模式 指参数类型。支持 IN(输入)、OUT(输出)、INOUT(输入输出)三种类型:

参数类型
IN输入参数,调用存储过程时将参数的值传入存储过程供执行存储过程时使用。
OUT输出参数,调用存储过程时,存储过程会忽略输出参数本身的值并传入一个空值,执行结束后,输出参数会被赋予存储过程对它修改的值。一般用输出参数获取存储过程的执行结果数据。
INOUT输入输出参数,即同时具备输入参数和输出参数的功能。

参数设置

属性是否必填默认模式
名称必填Oracle/MySQL
模式必填INOracle/MySQL
类型必填VARCHAROracle/MySQL
长度必填45Oracle/MySQL
默认值非必填Oracle/MySQL

######## 6.10.4.3. 管理存储过程

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页单击连接名进入连接后,在左导航栏中单击 存储过程 标签可查看存储过程列表,在存储过程列表中显示当前连接的数据库中存在的存储过程对象。

在存储过程列表中,可查看该对象的 结构树 或右键目标对象以进行 管理操作。或者,在存储过程列表中双击目标存储过程名进入 存储过程管理页面

结构树

如下图所示,在存储过程列表中,单击目标存储过程名左侧的下拉图标下拉按钮2,在弹出的下拉列表中会展示其结构树。

对象存储过程的结构树最深包含三层,右键单击结构树中不同层级中的项,提供对该项的操作键选项,具体操作请参见 管理操作 中的 管理操作键表

Image 195

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中,ODC 提供操作键选项以快速管理目标对象。

下述为管理操作键表:

操作键说明
查看进入 存储过程管理页面全量查看当前存储过程的基本信息、参数和代码等信息。
新建进入新建存储过程页面,根据步骤创建新的存储过程对象。
编辑存储过程编辑页面中展示定义当前存储过程的语句,可以窗口中继续编辑该存储过程。
编译编译目标存储过程。
调试进入 调试页面https://yuque.antfin.com/wb-lsr691788/rfnh3y/kp8fzg##VFrxv以对当前存储过程进行调试。
运行运行当前存储过程。
删除删除当前存储过程。
刷新对当前存储过程对象进行管理操作后,刷新结构树以显示最新信息。 说明 推荐升级至 OBServer V2.2.77 及之后版本(因 OBServer 部分版本存在 PL 调试类已知问题,可能导致 OBServer 不稳定)。 ODC V3.2.2 之前版本,通过 OBProxy 连接至目标实例时无法使用调试功能,请在 ODC 中直连到目标实例。 自 ODC V3.2.2 及之后版本,ODC 支持通过 OBProxy 连接 OBServer 情况下进行 PL 调试。

存储过程管理页面

数据库对象-管理存储对象-参数

在函数列表中,双击目标存储过程对象名进入存储过程管理页面。可在存储过程管理页面查看以下信息:

功能说明
基本信息显示 存储过程名称创建人创建时间最近修改时间 等信息。
参数显示参数 名称模式数据类型长度默认值 等信息。单击刷新图标,可刷新参数。
DDL显示定义存储过程的脚本,同时提供 编辑查找、格式化刷新 功能键。 说明 单击 编辑 图标,会跳转至 PL 对象编辑窗口。

存储过程编辑页面

在存储过程列表中右键目标项,在提供的操作键中单击 编辑 可进入存储过程编辑页面,在编辑页面的代码区会显示该存储过程的定义语句, 可继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新本次修改。
编译编译当前页面中的语句。 说明 编译过程中,如存在引用无效的外部对象时 对象名所在行高亮 编译完成后,编译结果 中会显示编译状态(如存在告警,会显示告警详情)。
运行单击该按钮运行运行代码区中的语句。
调试单击该按钮调试进入调试模式,并对代码区内的 PL/SQL 对象进行调试。 调试完成后,可直接关闭调试窗口。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,旨在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,旨在脚本中选中的语句转换为注释或转换为 SQL 语句。
IN 值转化批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。 将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。 列值分隔符号为换行符。 行值分隔符为空格或 TAB 值。

储存过程运行结果页面

存储过程-运行结果

存储过程执行完毕后,可查看 运行结果DBMS 输出 信息。

功能说明
运行结果在运行结果页签中,可查看存储过程运行状态、参数、类型、值、返回类型和返回值。
DBMS 输出在 DBMS 输出页签中,可查看存储过程 DBMS 输出信息。
6.10.5. 序列对象

######## 6.10.5.1. 概述

序列(Sequence)是指在数据库中按照一定规则自增的一种数字序列。因为自增所以不会出现重复的值,所以通常用来做为表的主键或唯一键。

注意

连接 V2.1.0 及之后版本 OceanBase 数据库 Oracle 模式支持创建序列对象,MySQL 模式暂不支持。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击序列标签可以查看序列列表。在序列列表中双击序列名进入序列管理页面,您可以在序列管理页面查看序列的基本信息、参数和 DDL 等信息。

本章节将分篇介绍以下 ODC 中序列对象的相关操作:

  • 新建序列
  • 管理序列

######## 6.10.5.2. 新建序列

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击 序列 标签可以查看序列列表。在序列列表的右上角,单击 + 创建序列,或是在 ODC 上方导航栏中单击 新建 > 序列 以创建所需的对象。创建序列有以下两个步骤:

  1. 设置 基本信息:需指定 序列名称当前用户(根据当前连接账号自动填充)。
  2. 设置列(可选)。在该步骤需指定以下信息:
信息项说明
起始于指定序列的起始值,要保证不小于属性 最小值
增量指定序列值自增时的步长,可以为负数。
最小值指定序列可获取的最小值,数据库支持的最小值为-1026。
最大值指定序列可获取的最大值,数据库支持的最大值为 1027。
缓存设置指定序列缓存的大小,合理设置缓存值可以提高序列取值的执行性能,也可设置 无缓存
是否排序指定序列的取值是否有序,有序取值场景下,序列的取值性能不如无序。
是否循环指定序列取值超过指定的 最大值 后,是否重新从最小值开始取值。
  1. 单击 下一步:确认 SQL 按钮后,进入SQL创建确认页面。

    数据库对象-新建序列-确认创建

  2. 根据您指定的信息会预生成一个 SQL 脚本,检查 SQL 脚本无误后,单击页面右上角的 创建 按钮,开始执行脚本并生成序列。

######## 6.10.5.3. 管理序列

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击 序列 标签可以查看序列列表。

您可以在序列列表中右键目标对象以进行一些 管理操作。或者,在序列列表中双击目标序列名进入 序列管理页面

Image 196

管理操作

在序列列表中右键目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
新建序列进入新建序列页面,根据步骤创建新的序列对象。
查看序列进入 序列管理页面全量查看当前序列的基本信息、属性和 DDL 等信息。
修改进入 序列管理页面 的属性部分修改当前序列的信息。
删除删除当前序列。
刷新对当前序列对象进行一些管理操作后,刷新列表以展示最新信息。

序列管理页面

您可以在序列管理页面查看以下信息:

  • 基本信息:展示 序列名称用户名 等信息。

  • 属性:展示属性 下一个缓冲值增量最小值最大值缓存设置是否排序是否循环 等信息。其中 下一个缓冲值 展示的是序列视图中 last_number

    的值,该值仅做展示不允许修改。

  • DDL:展示定义序列的脚本。

6.10.6. 程序包对象

######## 6.10.6.1. 概述

程序包(Package)是由一组相关的函数、过程、变量和游标等 PL 程序设计元素的组合。程序包类似于 Java 中的类,变量类似于类中的成员变量,函数和过程类似 Java 类中的方法。其主要作用是把相同或相似的东西归类,方便维护和管理,提高开发效率,提高性能。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建触发器对象,MySQL 模式暂不支持。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击程序包标签可以查看程序包列表。在程序包列表中双击程序包名进入程序包管理页面,您可以在程序包管理页面查看包头和包体的的基本信息和代码等信息。

本章节将分篇介绍以下 ODC 中程序包对象的相关操作:

  • 新建程序包
  • 管理程序包

######## 6.10.6.2. 新建程序包

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 程序包 标签可以查看程序包列表。在程序包列表的右上角,单击 + 创建程序包,或是在上方导航栏中单击 新建 以创建您需要的对象。新建程序包需要分别创建包头和创建包体。

创建包头

在程序包列表单击右上角的 + 或是在 ODC 导航栏中单击 新建 以进入新建程序包页面指定包头。

程序包对象-新建程序包

在新建程序包页面中指定程序包名称后,单击 下一步:确认 SQL 按钮进入包头定义页面。

如下图所示,ODC 会为您自动生成模板语句,在包头定义页面的导航栏中,ODC 提供了功能键 格式化 方便您规范语句格式。完成包头定义语句后单击页面右上角的 创建 按钮生成包头:

Image 197

创建包体

创建包头后,新建的程序包就会出现在程序包列表中,在列表中找到刚刚创建好的程序包,右键目标程序包名,单击 新建包体 以进入包体定义页面。如下图所示,和包头定义页面相似,ODC 会为您自动生成模板语句并在导航栏中提供功能键 格式化 方便您规范语句格式。完成包体定义语句后单击页面右上角的 创建 按钮生成包体:

Image 198

######## 6.10.6.3. 管理程序包

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 程序包 标签可以查看程序包列表,在程序包列表中展示了当前连接的数据库中存在的程序包对象。

您可以在程序包列表中查看该对象的 结构树 或右键目标对象以进行一些 管理操作。或者,在程序包列表中双击目标程序包名进入程序包管理页面,程序包管理页面提供了 包头页签包体页签

结构树

如下图所示,在程序包列表中单击目标程序包名前的下弹标志会在弹出的下拉列表中展示其结构树,对象程序包的结构树最深有六层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 227

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。下述为管理操作键表:

操作键说明
新建程序包进入新建程序包页面,根据步骤创建新的程序包包头。
新建包体进入包体定义页面以新建包体。
编辑包头包体同时打开 包头/包体编辑页面,您可以在窗口中继续编辑包头和包体。
删除程序包删除当前程序包。
刷新对当前程序包对象进行一些管理操作后,刷新结构树以展示最新信息。
查看进入 包头页签 或是 包体页签全量查看当前程序包的基本信息和代码等信息。
编辑包头/包体编辑页面 中展示定义包头/包体的语句,您可以在窗口中继续编辑包头/包体。
编译编译目标程序包。
调试进入调试页面以对当前程序包进行调试。PL 对象调试仅支持连接 OBServer V2.2.70、V3.0.00 及以后版本。
运行运行程序包体子程序中的存储过程或函数。
删除删除当前程序包包体。

包头页签

在程序包管理页面,单击导航栏中的 包头 标签会展示以下信息:

  • 基本信息:展示 程序包名称创建人创建时间最近修改时间 等程序包信息。

  • 代码:展示包头的定义代码,还提供了 编辑(进入包头编辑页面)和 查找 两个功能键。

    包体页签

    在程序包管理页面,单击导航栏中的 包体 标签会展示以下信息:

  • 基本信息:和包头页签相同,展示 程序包名称创建人创建时间最近修改时间 等程序包信息。

  • 代码:展示包体的定义代码,还提供了 编辑(进入包体编辑页面)和 查找 两个功能键。

    包头/包体编辑页面

    在程序包列表中右键目标项,在提供的操作键中单击 编辑 可进入程序包编辑页面,在编辑页面的代码区会展示该程序包的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
确认修改单击以更新您本次修改。
编译编译当前页面中的语句。只有包体编辑页面提供该功能键。
终止单击该按钮终止正在运行的语句。
调试进入调试页面以对当前程序包进行调试。PL 对象调试仅支持连接 OBServer V2.2.70、V3.0.00 及以后版本。
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
6.10.7. 触发器对象

######## 6.10.7.1. 概述

触发器(Trigger)是一种特殊类型的存储过程,它不能被显式的调用,而是由事件来触发。所以,触发器用于监视某种情况并触发某种操作。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个 Oracle 模式的连接后,在左导航栏中单击触发器标签可以查看触发器列表。单击列表右上角的 + 按钮可进入触发器新建页面,在触发器列表中双击触发器名进入触发器管理页面,您可以在触发器管理页面查看触发器的基本信息和代码。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建触发器对象,MySQL 模式暂不支持。

本章节将分篇介绍以下 ODC 中触发器对象的相关操作:

  • 新建触发器
  • 管理触发器

######## 6.10.7.2. 新建触发器

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 触发器 标签可以查看触发器列表。在触发器列表的右上角,单击 + 创建触发器,或是在上方导航栏中单击 新建 以创建您需要的对象。

创建触发器需要进行以下 3 步操作:

  1. 指定基本信息

  2. 设置高级设置信息

  3. 确认 SQL

    Image 228

    指定基本信息

    在新建触发器页面,第一步需要指定基本信息。基本信息 页签中包含以下信息项:

  • 触发器名称:为触发器指定一个名称。

  • 基准对象模式:触发器作用的对象所在的 Schema。

  • 基准对象类型:触发器作用的对象的类型,当前版本只支持 TABLE 表对象。

  • 基准对象名称:触发器作用的对象的名称。

  • 触发器状态:指定当前触发器为 启用禁用

    设置高级设置信息

    指定基本信息后,第二步需要指定一些高级设置信息。高级设置 页签包含以下信息项:

  • 触发器类型:选择触发器的类型,当前版本只支持创建 SIMPLE 简单触发器。

  • 触发:指定触发时间,即该触发器是在触发事件发生之前(BEFORE)或之后(AFTER)触发。

  • 级别:指定触发器的级别。当前版本只支持行级别触发器(Row-level)。

  • 事件:指定会触发此触发器的操作,支持选择 INSERTUPDATEDELETE 事件。

  • 列(选填):指定 事件 作用的范围,在 事件 中选择 SELECT 事件后展示该项。当前版本只支持在表对象中创建行级触发器,所以这里要选择事件作用的列。

    引用旧值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING OLD

    的值。

    引用新值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING NEW

    的值。

  • 子句条件(选填):指定一个逻辑表达式,只有当该表达式的值为 True 时,遇到触发事件才会自动执行触发器指定的操作。

    确认 SQL

    完成 基本信息高级设置 页签上所有信息的指定后,单击页面上 下一步:确认 SQL 按钮以进入语句编辑页面。

    在语句编辑页面中会根据 基本信息高级设置 中指定的信息生成对应的触发器定义语句,您需要补齐语句中触发器触发后需执行的操作,即触发体。补齐触发体语句后,单击页面右上角的 创建 按钮,完成触发器的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
上一步回到 新建触发器 页面,您可以继续编辑或修改 基本信息高级设置 页签中的指定的值。

######## 6.10.7.3. 管理触发器

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 触发器 标签可以查看触发器列表。在触发器列表中展示了当前连接的数据库中存在的触发器对象,您可以在触发器列表中右键目标对象以进行一些管理操作。或者,在触发器列表中双击目标触发器名进入触发器管理页面。

Image 200

管理操作

右键列表中的目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看触发器进入 触发器管理页面查看当前触发器的基本信息、参数和代码等信息。
新建触发器进入新建触发器页面,根据引导步骤创建新的触发器。
编辑触发器编辑页面 中展示当前触发器的定义语句,您可以在窗口中继续编辑该触发器。
启用启用当前触发器。
禁用禁用当前触发器。
删除删除当前触发器。
刷新对当前触发器对象进行一些管理操作后,刷新以展示最新信息。

触发器管理页面

在触发器列表中双击目标触发器名进入触发器管理页面,页面中提供以下 3 个页签:

  • 基本信息:展示触发器的 名称所有者是否启用 等信息。

  • 基准对象:展示该触发器基准对象的 名称所有者类型 等信息。

  • DDL:展示定义触发器的脚本,还提供了 编辑(进入触发器页面)、查找刷新 等功能键。

    触发器编辑页面

    在触发器列表中右键目标项,在提供的操作键中单击 编辑 可进入触发器编辑页面,或者在触发器管理页面的 DDL 页签中单击 编辑 按钮也可进入触发器编辑页面。在编辑页面的代码区会展示该触发器的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
确认修改单击以更新您本次修改。
6.10.8. 类型对象

######## 6.10.8.1. 概述

在数据库中可以创建自定义的对象类型(Type)。数据库的对象类型和 Java 中的类相似,可以包含属性和方法(函数和存储过程)。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个连接后,在左导航栏中单击类型标签可以查看类型列表。单击列表右上角的 + 按钮可进入类型新建页面,在类型列表中双击类型名进入类型管理页面,您可以在类型管理页面查看类型的的基本信息和代码。

注意

连接 V2.2.20 及之后版本的 OceanBase 数据库 Oracle 模式支持创建类型对象,MySQL 模式暂不支持。

本章节将分篇介绍以下 ODC 中类型对象的相关操作:

  • 新建类型
  • 管理类型

######## 6.10.8.2. 新建类型

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 类型 标签可以查看类型列表。在类型列表的右上角,单击 + 创建类型,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

单击 新建 按钮后,在弹出的 新建类型 弹窗中指定以下信息:

  • 名称:指定新建的对象的名称。

  • 类型:指定新建的类型对象为 对象类型数组类型表类型

    Image 154

    指定上述信息后,单击 下一步 按钮,进入语句编译页面,在语句编辑页面中会根据您在 新建类型 弹窗中指定的信息生成对应的类型定义语句,您需要根据需求补齐语句。补齐语句后,单击页面右上角的 创建 按钮,完成类型的创建。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

######## 6.10.8.3. 管理类型

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 类型 标签可以查看类型列表。在类型列表中展示了当前连接的数据库中存在的类型对象,您可以在类型列表中右键目标对象以进行一些管理操作。或者,在类型列表中双击目标类型名进入类型管理页面。

结构树

如下图所示,在类型列表中单击目标类型名前的下弹标志会在弹出的下拉列表中展示其结构树,对象类型的结构树最深有五层,右键结构树中不同层级中的项会提供对该项的一些操作键,操作键的具体信息请查看 管理操作 中的 管理操作键表

Image 201

管理操作

右键结构树中的目标项,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看类型进入 类型管理页面查看当前类型的基本信息和代码。
新建类型进入新建类型页面,根据引导步骤创建新的类型。
编辑主体若类型中包含子程序,该项可用。单击后在 类型编辑页面 中展示当前类型的定义语句,您可以在窗口中继续编辑该类型。
删除删除当前类型。
刷新对当前类型对象进行一些管理操作后,刷新以展示最新信息。

类型管理页面

在类型列表中双击目标类型名进入类型管理页面,页面中提供以下 2 个页签:

  • 基本信息:展示类型的 名称所有者类型创建时间修改时间 等信息。

  • DDL:展示定义类型的脚本,还提供了 编辑(进入类型页面)、查找刷新 等功能键。

    类型编辑页面

    在类型列表中右键目标项,在提供的操作键中单击 编辑 可进入类型编辑页面,或者在类型管理页面的 DDL 页签中单击 编辑 按钮也可进入类型编辑页面。在编辑页面的代码区会展示该类型的定义语句, 您可以继续进行编辑。同时,工具栏提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行 撤销 操作后,对脚本重新执行撤销前的操作。
大小写提供 全部大写全部小写首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。
确认修改单击以更新您本次修改。
6.10.9. 同义词对象

######## 6.10.9.1. 概述

同义词(synonyms)是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。同义词有两种类型,分别是公用同义词和普通同义词。

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入一个连接后,在左导航栏中单击同义词标签可以查看同义词列表。单击列表右上角的 + 按钮可进入同义词新建页面,在同义词列表中双击同义词名进入同义词管理页面,您可以在同义词管理页面查看同义词的的基本信息和代码。

数据库版本要求如下:

数据库版本
OceanBase 数据库 Oracle 模式V2.2.0 及以上。
OceanBase 数据库 MySQL 模式V2.2.0 及以上。

本章节将分篇介绍以下 ODC 中同义词对象的相关操作:

  • 新建同义词
  • 管理同义词

######## 6.10.9.2. 新建同义词

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 同义词 标签可以查看同义词列表,同义词列表按类型分为普通同义词列表和公用同义词列表。在同义词列表的右上角,单击 + 创建同义词,或是在 ODC 上方导航栏中单击 新建 以创建您需要的对象。

单击 新建 按钮后,在弹出的 新建同义词 弹窗中指定以下信息:

  • 同义词名称:指定同义词的名称。名称不能为空,长度需小于 128 个字符。

  • 对象所有者:在下拉列表中选择同义词所属的 Schema。不允许为空。

  • 对象类型:在下拉列表中选择同义词所代表的对象的类型。当前支持为 TABLE(表) 和 VIEW(视图) 类型的对象创建同义词。不允许为空。

  • 对象名称:指定同义词所代表的对象。不允许为空。

  • 同义词类型:在下拉列表中选择同义词的类型为 普通同义词公用同义词。不允许为空。

    Image 157

    指定上述信息后,单击 下一步 按钮,进入语句编译页面,在语句编辑页面中会根据您在 新建同义词 弹窗中指定的信息生成对应的同义词定义语句,您需要直接修改语句。确认语句后,单击页面右上角的 创建 按钮,完成同义词的创建。同义词创建后不支持修改。

    同时,在编辑页面的工具栏中提供了以下功能键:

功能说明
格式化单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。
查找/替换在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。
撤销将脚本回退到上一步操作执行的结果。
重做执行撤销操作后,对脚本重新执行撤销前的操作。
大小写提供全部大写全部小写首字母大写三种效果,将您在脚本中选中的语句转换为对应形式。
缩进提供添加缩进删除缩进两种效果,为您在脚本中选中的语句添加或删除包含的缩进。
注释提供添加注释删除注释两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

######## 6.10.9.3. 管理同义词

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 同义词 标签可以查看同义词列表,同义词列表按类型分为普通同义词列表和公用同义词列表。在同义词列表中展示了当前连接的数据库中存在的同义词对象,您可以在同义词列表中右键目标对象以进行一些管理操作。或者,在列表中双击目标同义词名进入同义词管理页面。

管理操作

右键列表中的目标对象,在弹出的右键管理操作列表中 ODC 提供了一些操作键供您快速管理目标对象。

下述为管理操作键表:

操作键说明
查看同义词进入 同义词管理页面查看当前同义词的基本信息和代码。
新建同义词进入 新建同义词 页面,根据引导步骤创建新的同义词。
删除删除当前同义词。
刷新对当前同义词对象进行一些管理操作后,刷新以展示最新信息。

同义词管理页面

在同义词列表中双击目标同义词名进入同义词管理页面,页面中提供以下 2 个页签:

  • 基本信息:展示同义词的 名称对象所有者对象名称创建时间修改时间 等信息。
  • DDL:展示定义同义词的脚本。同义词创建后不支持修改。

6.11. 帮助中心

概述

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页的顶部导航栏中,通过 帮助,可查看 新功能介绍浏览帮助文档 并在 关于开发者中心意见反馈 页签获取产品信息与服务邮箱。

Image 909

产品功能介绍

首次访问 ODC 时,会自动弹出 产品功能介绍 弹窗,弹窗内容包括当前版本的特性和核心功能以快速了解 ODC。

关闭弹窗后,可单击 帮助 下拉列表中的 产品功能介绍 标签再次打开弹窗。

说明

同一版本内不同权限的用户查看产品功能介绍时,弹窗内的内容可能会有所不同。

浏览帮助文档

帮助 下拉列表中,单击 浏览帮助文档 标签:

  • Web 版 ODC:在浏览器的新页签中展示对应版本的 HTML 格式文档;

  • 客户端版 ODC:弹出文档浏览窗。

    如需查看最新或历史版本的产品文档,请至 OceanBase 文档中心 浏览。

    关于开发者中心

    帮助 下拉列表中,单击 关于开发者中心 标签,在弹出的窗口中可获得产品名称、版本号、发版日期、官网地址和版权等信息。

    Image 910

    意见反馈

    帮助 下拉列表中,单击 意见反馈 标签:

  • Web 版 ODC:获取 ODC 的支持邮箱(odcsupport@service.alipay.com),通过邮箱可与联系 ODC 技术支持并反馈意见。

  • 客户端版 ODC:获取 ODC 的支持邮箱并提供一键下载反馈包功能(在弹窗中单击 Generate information package,ODC 则会将前后端日志和系统环境等信息打包至反馈包中)。

    Image 911

7.部署指南

7.1. 部署概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)是为 OceanBase 数据库量身打造的企业级数据库开发平台。ODC 采用成熟的浏览器-服务端架构,提供了 Web 版和客户端版两种产品形态。

本手册将介绍 Web 版 ODC 的部署全过程,客户端版 ODC 无需部署直接安装客户端即可,详情请查看 安装 ODC

单节点部署

单节点部署即只部署一个 ODC 应用节点,用户所有的请求都将由该节点的 ODC 应用进行处理。部署简易且占用资源少。

高可用部署

高可用部署,即在多个节点上部署 ODC 应用,并在其中一个节点上部署一个 Nginx 代理服务以进行用户请求的路由。所以,单节点部署时用户请求将直接发到 ODC 应用系统,但是在高可用部署的情况下,用户请求将首先发送到部署了 Nginx 代理的节点上,再路由到不同节点的 ODC 应用上。

高可用部署的优点是当一个节点宕机导致服务不可用,Nginx 会将用户请求自动路由到其它节点上以保证服务。同时,对比单节点部署,高可用部署可以承担更高的并发用户数和处理更大数量的用户请求。

7.2. 部署前准备

OceanBase 开发者中心(OceanBase Developer Center,ODC)在部署前需要预先准备元数据库和机器环境,部署完成后请在谷歌浏览器 Chrome 中访问 Web 版 ODC。

元数据库

元数据库是用来存储用户使用 ODC 过程中新建的连接和脚本等操作产生的用户数据,Web 版 ODC 安装前需要先准备好元数据库(OceanBase Mysql 模式),桌面版的元数据库是本地数据库,首次使用时会自动创建,所以无需手动准备元数据库。

操作步骤:

  1. 在 OceanBase MySQL 模式下申请一个租户。租户大小为 2C8G,租户名称无限制,本手册中的示例租户在集群 odc_cluster 中,租户名称为 odc_tenant。

    说明

    • 自 ODC V3.3.0 起,ODC 提供变更流程和操作审计等企业级管控能力,Web 版 MetaDB 必须为 OceanBase V2.2.76 及之后版本,否则校验无法通过会启动失败。
    • MetaDB 所在 OceanBase 租户规格推荐 2C8G 及以上配置,配置过低容易导致性能问题。
    • ODC 在启动时会监测 MetaDB 的 OceanBase 版本号,如校验不通过会启动失败,如您的 MetaDB 集群版本低于 V2.2.76,需首先升级 MetaDB 集群。
  2. 在租户下创建数据库和用户以作为 ODC 元数据库,用户名、密码和元数据库名称没有限制。本手册中的示例数据库命名为 odc_metadb,数据库用户名和密码均为 obodc。

  3. 记录下元数据库的名称、用户名、密码、租户名称和租户所在集群的名称,在部署 ODC 时这些信息需要作为参数传入。

    机器环境

    Web 版 ODC 部署环境配置,按照 ODC 用户数的经验值:

  • 20 内 ODC 用户,部署在规格为 4C8G 的服务器上;

  • 100 内 ODC 用户,部署在规格为 4C16G 的服务器上;

  • 500 内 ODC 用户,部署在规格为 8C32G 的服务器上;

  • 更多用户视使用情况调整资源。

    为实现轻量化的部署,ODC 使用了容器镜像,因此在部署前请在机器上安装 Docker 以拉取和运行镜像。

    浏览器

    推荐使用谷歌浏览器 Chrome 访问 Web 版 ODC,支持 78 及以上版本。

    安装与启动 Docker

    有关安装与启动 Docker,请参见 绑定挂载

7.3. 部署单节点 ODC

7.3.1. 部署流程

OceanBase 开发者中心(OceanBase Developer Center,ODC)单节点部署只需在服务器上加载和运行 ODC 镜像,即可安装 ODC 应用。

浏览器通过 HTTP 协议访问 Web 版 ODC,因此首次通过浏览器访问 Web 版 ODC 时,会收到连接不安全的警告信息。可参考高可用部署的步骤在单节点 ODC 服务器上配置 SSL 证书并部署 Nginx 镜像,以安全访问 ODC。

说明

  • 用户首次登录的用户名和密码从管理员处获取。

  • 管理员默认登录用户名:admin,默认密码:aaAA11__

    有关登录 Web 版 ODC 详情,请参见本手册中《用户指南 (Web 版 ODC)》符号 登录 ODC 符号 登录账号。

7.3.2. 加载和运行 ODC 镜像

完成 OceanBase 开发者中心(OceanBase Developer Center,ODC)元数据库的初始化后,需拉取和运行 ODC 镜像。镜像运行成功 ODC 的单节点部署即可完成。

加载镜像

首先要在宿主机上获得 ODC 镜像,在以下列表选择所需镜像,单击 [下载] 以获得镜像:

  • X 86 镜像:[下载]

  • ARM 镜像:[下载]

    在宿主机上获得镜像文件后,在命令行工具中运行下述语句加载镜像:

    gunzip -c obodc-{\$version}.tar.gz | docker load

    运行镜像

    在宿主机上获得 ODC 镜像后,在命令行工具中运行镜像的示例语句如下所示:

    ##!/usr/bin/env bash
    docker run --volume /var/log/odc:/opt/odc/log \
    -d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \
    -e "DATABASE_HOST=100.00.00.00" \
    -e "DATABASE_PORT=60805" \
    -e "DATABASE_USERNAME=obodc@obodc##odc_cluster" \
    -e "DATABASE_PASSWORD=obodc" \
    -e "DATABASE_NAME=odc_metadb" \
    -e "ODC_PROFILE_MODE=alipay" \
    reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}

    其中,{image_tag} 可在宿主机上加载镜像后运行 docker images

语句查看,其他参数说明如下表所示:

参数说明
--volume宿主机的 /var/log/odc 目录映射到 ODC 容器 内的 /opt/odc/log 目录。 /var/log/odc 为宿主机的目录,如不存在需先创建,创建目录的参考命令 mkdir -p /var/log/odc 。
--net指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish (-p )参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。
--cpu-period --cpu-quota–-cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。 –-cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。 配合使用可指定容器使用的 CPU 核数。cpu-quota /cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。
--memory设置容器使用的内存最大值。
--name指定容器名称。
DATABASE_HOST元数据库 IP 地址。
DATABASE_PORT元数据库端口号。
DATABASE_USERNAME元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name##cluster_name 。
DATABASE_PASSWORD连接数据库的用户名。
DATABASE_NAME元数据库名。
ODC_PROFILE_MODE指定模式,默认指定为 alipay 。

除上述参数外,运行镜像时您还可以根据需求使用下述参数:

参数说明
ODC_LOG_DIR指定日志目录,默认路径为 /opt/odc/log 。
OBCLIENT_WORK_DIR指定 OBClient 工作目录,默认路径为 /opt/odc/data 。
ODC_JAR_FILE指定 Jar 文件目录,默认路径为 /opt/odc/lib/odc-web-starter-*.jar 。
ODC_WORK_DIR指定 ODC 工作目录,默认路径为 /opt/odc/script 。
ODC_JVM_HEAP_OPTIONS指定 JVM 堆内存,默认最大内存参数 -Xmx 的值为可用物理内存的 60%。 ODC 启动脚本会检查当前环境的可用内存是否达到 2048 M, 按照 60% 计算需要有 3.4 G 内存才可以启动。如果宿主机或 Docker 的内存配置低于 3.4 G,可以通过指定参数 ODC_JVM_HEAP_OPTIONS 来绕过可用内存检查,例如可以配置为 "-Xmx2048m -Xms2048m" 。
ODC_JVM_GC_OPTIONS指定 JVM GC 策略,默认指定为 -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/opt/odc/log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=5 。
ODC_JVM_OOM_OPTIONS指定 JVM OutOfMemory 策略,默认指定为 -XX:+ExitOnOutOfMemoryError 。
ODC_JVM_EXTRA_OPTIONS指定其它需要的 JVM 配置参数,默认值为空。
ODC_SERVER_PORT指定 ODC-Server 的 HTTP 监听端口,默认值为 8989。
ODC_HOST指定 ODC 运行时的 IP 地址,该参数在高可用部署场景下做为远程过程调用的目的地址。
ODC_PORT指定 ODC 运行时的端口号,该参数在高可用部署场景下做为远程过程调用的目的端口号。 说明 该参数和 ODC_SERVER_PORT 并不影响,只做为远程过程调用发起时的端口参数。

7.4. 部署高可用 ODC

7.4.1. 部署流程

OceanBase 开发者中心(OceanBase Developer Center,ODC)高可用部署是在多个节点上均完成单节点部署后,在其中一个节点上部署 Nginx 镜像以实现用户请求的分发。

ODC 高可用部署需进行四步操作:

  1. 加载和运行 ODC 镜像:在多个节点上分别运行 ODC 镜像以安装 ODC 应用。

  2. 部署 SSL 证书:浏览器通过 HTTP 协议访问 Web 版 ODC,因此首次通过浏览器访问 Web 版 ODC 时,会收到连接不安全的警告信息。可部署 SSL 证书通过 HTTPS 协议安全访问 ODC,以安全访问 ODC。如无需安全访问 ODC,可直接进行下一步部署 Nginx 代理的操作。

  3. 部署 Nginx 代理:在其中一个节点上拉取和运行 Nginx 镜像以实现高可用部署。

  4. 配置证书信任:某些浏览器不会直接信任自签证书,需在浏览器中手动配置证书信任。

    说明

    • 用户首次登录的用户名和密码从管理员处获取。

    • 管理员默认登录用户名:admin,默认密码:aaAA11__

      有关登录 Web 版 ODC 详情,请参见本手册中《用户指南 (Web 版 ODC)》符号 登录 ODC 符号 登录账号。

7.4.2. 加载和运行 ODC 镜像

完成 OceanBase 开发者中心(OceanBase Developer Center,ODC)元数据库的初始化后,高可用部署首先需在各个节点上分别拉取和运行 ODC 镜像以安装 ODC 应用。

加载镜像

首先要在宿主机上获得 ODC 镜像,在以下列表选择所需镜像,单击 [下载] 以获得镜像:

  • X 86 镜像:[下载]

  • ARM 镜像:[下载]

    在宿主机上获得镜像文件后,在命令行工具中运行下述语句加载镜像:

    gunzip -c obodc-{\$version}.tar.gz | docker load

    运行镜像

    在宿主机上获得 ODC 镜像后,在命令行工具中运行镜像的示例语句如下所示:

    ##!/usr/bin/env bash
    docker run --volume /var/log/odc:/opt/odc/log \
    -d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \
    -e "DATABASE_HOST=100.00.00.00" \
    -e "DATABASE_PORT=60805" \
    -e "DATABASE_USERNAME=obodc@obodc##odc_cluster" \
    -e "DATABASE_PASSWORD=obodc" \
    -e "DATABASE_NAME=odc_metadb" \
    -e "ODC_PROFILE_MODE=alipay" \
    reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}

    其中,{image_tag} 可以在宿主机上加载镜像后运行 docker images

语句查看,其他参数说明如下表所示:

参数说明
--volume宿主机的 /var/log/odc 目录映射到 ODC 容器 内的 /opt/odc/log 目录。 /var/log/odc 为宿主机的目录,如不存在需先创建,创建目录的参考命令 mkdir -p /var/log/odc 。
--net指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish (-p )参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。
--cpu-period --cpu-quota–-cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。 –-cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。 配合使用可指定容器使用的 CPU 核数。cpu-quota/cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。
--memory设置容器使用的内存最大值。
--name指定容器名称。
DATABASE_HOST元数据库 IP 地址。
DATABASE_PORT元数据库端口号。
DATABASE_USERNAME元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name##cluster_name。
DATABASE_PASSWORD连接数据库的用户名。
DATABASE_NAME元数据库名。
ODC_PROFILE_MODE指定模式,默认指定为 alipay 。

除上述参数外,运行镜像时您还可以根据需求使用下述参数:

参数说明
ODC_LOG_DIR指定日志目录,默认路径为 /opt/odc/log 。
OBCLIENT_WORK_DIR指定 OBClient 工作目录,默认路径为 /opt/odc/data 。
ODC_JAR_FILE指定 Jar 文件目录,默认路径为 /opt/odc/lib/odc-web-starter-*.jar 。
ODC_WORK_DIR指定 ODC 工作目录,默认路径为 /opt/odc/script 。
ODC_JVM_HEAP_OPTIONS指定 JVM 堆内存,默认最大内存参数 -Xmx 的值为可用物理内存的 60%。 ODC 启动脚本会检查当前环境的可用内存是否达到 2048 M, 按照 60% 计算需要有 3.4 G 内存才可以启动。如果宿主机或 Docker 的内存配置低于 3.4 G,可以通过指定参数 ODC_JVM_HEAP_OPTIONS 来绕过可用内存检查,例如可以配置为 "-Xmx2048m -Xms2048m" 。
ODC_JVM_GC_OPTIONS指定 JVM GC 策略,默认指定为 -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/opt/odc/log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=5 。
ODC_JVM_OOM_OPTIONS指定 JVM OutOfMemory 策略,默认指定为 -XX:+ExitOnOutOfMemoryError 。
ODC_JVM_EXTRA_OPTIONS指定其它需要的 JVM 配置参数,默认值为空。
ODC_SERVER_PORT指定 ODC-Server 的 HTTP 监听端口,默认值为 8989。
ODC_HOST指定 ODC 运行时的 IP 地址,该参数在高可用部署场景下做为远程过程调用的目的地址。
ODC_PORT指定 ODC 运行时的端口号,该参数在高可用部署场景下做为远程过程调用的目的端口号。 说明 该参数和 ODC_SERVER_PORT 并不影响,只做为远程过程调用发起时的端口参数。
7.4.3. 部署 SSL 证书

浏览器通过 HTTP 协议访问 Web 版 ODC,所以首次通过浏览器访问 Web 版 ODC 时,会收到连接不安全的警告信息。若您想要安全访问 ODC,可部署 SSL 证书以使用 HTTPS 协议进行访问。您可以申请 CA 证书或自行配置 HTTPS 自签证书。若您不需要通过 HTTPS 协议访问 ODC,可直接进行 Nginx 的部署操作。

申请 CA 证书

推荐您申请 CA 证书,您可以在阿里云可以购买 SSL 证书和服务,详情请参见 SSL 证书

在使用企业内部网络的场景下,您可以咨询 IT 管理员内部 CA 证书的申请使用流程。

配置 SSL 自签证书

ODC 镜像包中包含了生成证书和密钥的执行文件 generate-odc-ssl-certificate.sh,在宿主机运行执行文件即可生成证书。自签证书能够实现加密通信,但是操作系统默认不信任自签证书,您可以在浏览器中把证书添加到 受信任的根证书颁发机构 目录中配置证书信任。

下述为执行文件的运行示例,其中 domain

项的配置必须和您的 ODC 站点使用的域名保持匹配,否则浏览器会认为是不匹配的证书:

\$./generate-odc-ssl-certificate.sh
Enter your domain [www.example.com]:
Enter your province [Zhejiang]:
Enter your city [Hangzhou]:
Enter your company name [OceanBase]:
Enter your company unit name [DBA]:
generate certificate...
Generating a 2048 bit RSA private key
.......................................+++
.......................
......+++
writing new private key to '/etc/pki/nginx/odcserver.key'
-----
end of string encountered while processing type of subject name element ##5
problems making Certificate Request
check generated files:
-rw-r--r-- 1 root root 1424 Jun 3 15:18 server.crt
-rw-r--r-- 1 root root 1708 Jun 3 15:18 server.key

执行文件 generate-odc-ssl-certificate.sh 的内容如下所示,您也可以直接执行下述命令生成自签证书。

##!/usr/bin/env bash
## for generate self certificated ssl certificate files

echo try create directory '/etc/pki/nginx' if not exists...
sudo mkdir -p /etc/pki/nginx
cd /etc/pki/nginx || exit

##read configurations
read -rp "Enter your domain [www.example.com]: " DOMAIN
read -rp "Enter your province [Zhejiang]: " PROVINCE
read -rp "Enter your city [Hangzhou]: " CITY
read -rp "Enter your company name [OceanBase]: " COMPANY
read -rp "Enter your company unit name [DBA]: " UNIT

echo generate certificate...
SUBJ="/C=CN/ST=\${PROVINCE}/L=\${CITY}/O=\${COMPANY}/OU=\${UNIT}/CN=\${DOMAIN}"
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/pki/nginx/odcserver.key \
-out /etc/pki/nginx/odcserver.crt \
-subj "\${SUBJ}"

echo "check generated files (use ls -l odcserver.*):"
ls -l odcserver.*

7.4.4. 部署 Nginx 代理

在所有节点均完成部署 OceanBase 开发者中心(OceanBase Developer Center,ODC)镜像后,需在其中一个 ODC 节点上部署一个 Nginx 代理,通过 Nginx 将用户请求路由到不同的节点应用上。部署 Nginx 代理需在一个节点上拉取并运行 Nginx 镜像,运行后将配置文件拷贝到本地进行修改,在本地修改完配置文件后,先停运 Nginx 镜像再重启镜像以应用修改后的配置的文件。

加载镜像

选择一个节点加载并运行 Nginx 镜像,目前镜像可通过两种方式获得:

  • 在宿主机上从 Docker 仓库中直接拉取镜像。

  • 下载镜像包到本地,再拷贝至宿主机中解压。

    从 Docker 仓库中直接拉取镜像

    请确保宿主机上已安装 Docker 且可访问外网,在命令行工具中运行下述语句从 Docker 仓库中拉取 Nginx 镜像:

    docker pull nginx

    拷贝镜像包至宿主机中解压

  1. 在可访问外网且已安装 Docker 的机器中运行下述语句,下载镜像包至本地:

    docker save nginx:latest | gzip - >nginx.tar.gz

  2. 拷贝镜像包至宿主机中,运行下述语句加载镜像:

    gunzip -c nginx.tar.gz | docker load

    配置 conf 文件

    在启动 Nginx 镜像前,需修改配置文件。ODC 的镜像包中已提供配置文件模板,可复制模板到本地并进行编辑。配置文件模板根据您是否已部署自签证书而略有不同,请按需复制对应的模板并进行修改。

    配置不包含自签证书的 conf 文件

    运行下述语句从镜像包中复制配置文件到宿主机再进行编辑,复制路径可自定义(其中 ~ 是配置文件在本地的路径):

    docker cp -a \<odc_image_name>:/opt/odc/conf/nginx.conf.template ~/\<conf_local_path>

    配置文件模板如下所示,请关注文件中注释需修改的部分。

    ## Nginx conf template for http deployment
    ## For more information on configuration, see:
    ## * Official English Documentation: http://nginx.org/en/docs/

    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    ## Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
    '\$status \$body_bytes_sent "\$http_referer" '
    '"\$http_user_agent" "\$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    ##set 0 to disable request body size check, for support large size file upload
    client_max_body_size 0;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ## for websocket configuration
    map \$http_upgrade \$connection_upgrade {
    default upgrade;
    '' close;
    }

    ## load balancing configuration
    ## notice under_score character are not allowed for upsteram name, 400 Bad Request happens if used
    ## please use ip_hash strategy
    ## one server line for each odc-server node
    upstream odcbackends {
    ip_hash;
    ## PLEASE CHANGE to real odc-server address
    ## 请修改为实际的 odc-server 地址(非必改内容)
    server 127.0.0.1:8989;
    ## add more servers here
    }

    ##https server, proxy to odc-server 8989 port
    server {
    listen 80;
    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:80;

    ## PLEASE CHANGE to your site domain
    ## 请修改为实际的站点域名(非必改内容)
    server_name odc.oceanbase.com;

    location / {
    proxy_pass http://odcbackends;
    proxy_http_version 1.1;
    proxy_set_header Upgrade \$http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-Host \$host;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_read_timeout 1800;
    proxy_send_timeout 1800;
    proxy_connect_timeout 75;
    proxy_next_upstream off;
    }
    }

    }

    配置包含自签证书的 conf 文件

    运行下述语句从镜像包中拷贝配置文件到宿主机再进行编辑,复制路径可自定义(其中 ~ 是配置文件在本地的路径):

    docker cp -a \<odc_image_name>:/opt/odc/conf/nginx.conf.https.template ~/\<conf_local_path>

    配置文件模板如下所示,请关注文件中注释需修改的部分。

    ## Nginx conf template for https deployment
    ## For more information on configuration, see:
    ## * Official English Documentation: http://nginx.org/en/docs/

    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    ## Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
    '\$status \$body_bytes_sent "\$http_referer" '
    '"\$http_user_agent" "\$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    ##set 0 to disable request body size check, for support large size file upload
    client_max_body_size 0;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ## for websocket configuration
    map \$http_upgrade \$connection_upgrade {
    default upgrade;
    '' close;
    }

    ## load balancing configuration
    ## notice under_score character are not allowed for upsteram name, 400 Bad Request happens if used
    ## please use ip_hash strategy
    ## one server line for each odc-server node
    upstream odcbackends {
    ip_hash;
    ## PLEASE CHANGE to real odc-server address
    ## 请修改为实际的 odc-server 地址(非必改内容)
    server 127.0.0.1:8989;
    ##add more servers here
    }

    ## redirect http to https
    server {
    listen 80 default_server;

    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:80 default_server;

    location / {
    return 301 https://\$host\$request_uri;
    }
    }

    ## https server, proxy to odc-server 8989 port
    server {
    listen 443 ssl http2;
    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:443 ssl http2;

    ## PLEASE CHANGE to your site domain
    ## 请修改为实际的站点域名(非必改内容)
    server_name odc.oceanbase.com;

    ## you can use /opt/odc/bin/generate-odc-ssl-certificate.sh
    ## to generate self certificated SSL certificates
    ## 您可以使用 /opt/odc/bin/generate-odc-ssl-certificate.sh 生成自签证书

    ## PLEASE CHANGE certificate file location if unmatched
    ## 如不匹配,请修改证书文件路径
    ssl_certificate /etc/pki/nginx/odcserver.crt;
    ssl_certificate_key /etc/pki/nginx/odcserver.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m; ## about 40000 sessions
    ssl_session_tickets off;

    ## intermediate configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    ## HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    location / {
    proxy_pass http://odcbackends;
    proxy_http_version 1.1;
    proxy_set_header Upgrade \$http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-Host \$host;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_read_timeout 1800;
    proxy_send_timeout 1800;
    proxy_connect_timeout 75;
    proxy_next_upstream off;
    }
    }

    }

说明

修改负载均衡配置,确保 proxy 超时配置时长充足,修改配置后需重启 nginx 。

建议 proxy_connect_timeout

参数不超过 75 秒,请参见 proxy_connect_timeout:http://nginx.org/en/docs/http/ngx_http_proxy_module.html##proxy_connect_timeout

设置 proxy_next_upstream off

旨在禁止 nginx 将请求转发至下一个 ODC 节点,导致用户需重新登录,且某些功能不可用,如异步任务结果集下载等与文件上传下载相关的功能。

启动镜像

在本地修改配置文件后,在命令行工具中运行下述语句以重启 Nginx 镜像(其中 ~ 是配置文件在本地的路径):

docker run --network host --name nginx -v ~/\<conf_local_path>:/etc/nginx/nginx.conf -v /etc/pki/nginx/:/etc/pki/nginx/ -d nginx

语句中的参数说明如下所示:

参数说明
--network host表示使用宿主机网络端口,无需配置端口映射。 如不希望直接使用宿主机端口,可使用 -p 参数配置端口映射。例如 -p 8080:80 表示宿主机的 8080 端口映射为 Docker 内的 80 端口,-p 8443:443 表示宿主机的 8443 端口映射为 Docker 内的 443 端口。
--name nginx指定容器的名称为 nginx,方便后续管理,或可使用其它名称,如 odc-nginx。
-v ~/\<conf_local_path>:/etc/nginx/nginx.conf进行磁盘挂载,将宿主机内的本地文件映射到 Docker 内。 其中 \<conf_local_path> 为配置 conf 文件时复制到宿主机的本地路径,然后将其映射至 Docker 内的 /etc/nginx/nginx.conf 文件中。
-v /etc/pki/nginx/:/etc/pki/nginx/将宿主机的 /etc/pki/nginx/ 路径映射到 Docker 内的 /etc/pki/nginx/ 路径。
-d nginx表示后台运行 Docker。
7.4.5. 配置证书信任

浏览器不会直接信任自签证书,需要您手动在浏览器中手动进行证书信任的配置。

注意

由于 Chrome 不支持信任自签证书,所以您完成证书信任的操作后,仍会收到连接不安全的提示信息。

Windows 下配置证书信任

以谷歌浏览器 Chrome 为例,浏览器配置证书信任的步骤如下所示:

  1. 在浏览器中访问 ODC,提示连接非私密连接时,单击地址栏左侧 不安全 按钮,在弹出的列表中单击 证书 按钮查看证书详情。

    Image 739

  2. 在弹出的 证书 窗口中,选择 详细信息 页签,然后单击页签右下角的 复制到文件 按钮。

    Image 740

  3. 在弹出的 证书导出向导 窗口中,单击 下一步

    Image 741

  4. 进入导出文件格式设置窗口,选择 DER 格式,单击 下一步

    Image 742

  5. 进入指定导出文件窗口,单击窗口中的 浏览 按钮,在弹出的文件资源管理器窗口中选择导出路径并在 文件名 文本框中指定文件名称,在文件资源管理器窗口中单击右下角的 保存 按钮回到导出文件窗口,单击 下一步

    Image 743

  6. 进入导出向导完成窗口,单击右下角的 完成 按钮以导出证书到本地。

    Image 744

  7. 在第 5 步指定的导出路径中找到被导出的证书文件,右键证书文件,在弹出的列表中选择 安装证书

    捕获

  8. 进入证书导入向导,单击 下一步

    Image 745

  9. 进入证书存储窗口,选择 将所有证书都放入下列存储,并单击选项下的 浏览 按钮,在弹出的存储列表窗口中,选择 受信任的颁发机构,然后单击窗口中的 确定 按钮。回到证书存储窗口,单击 下一步

    Image 746

  10. 进入导入向导完成窗口,单击右下角的 完成 按钮。

    Image 747

  11. 证书信任配置完成,尝试重新重新在浏览器中访问 ODC。

    macOS 下配置证书信任

    以谷歌浏览器 Chrome 为例,浏览器配置证书信任的步骤如下所示:

  12. 在浏览器中访问 ODC,提示连接非私密连接时,单击地址栏左侧 不安全 按钮,在弹出的列表中单击 证书 按钮查看证书详情。

    Image 749

  13. 网页中将显示证书的内容。

    Image 750

  14. 在本地创建后缀为 .cer 的文件,将网页中的证书内容复制到文件中,并保存文件。

    Image 751

  15. 在 macOS 系统中单击 应用程序 -> 实用工具 -> 钥匙串访问 以进入 钥匙串配置 窗口。在窗口的左侧导航栏中单击 系统,然后在上方导航栏中单击 + 按钮,在弹出的窗口中选择上一步创建好的证书文件以添加证书到系统中。

    Image 758

  16. 添加完成后,双击 odc.oceanbase.com,odc.oceanbse.net 证书。在弹出的证书详情窗口中,单击 信任 配置项,在弹开的配置列表中将 使用此证书时 项配置为 始终信任

    Image 754

  17. 关闭证书详情窗口,关闭时会提示您输入密码以让修改生效,按步骤输入密码完成配置。

  18. 证书信任配置完成,尝试重新在浏览器中访问 ODC。

7.5. 部署验证

完成 OceanBase 开发者中心(OceanBase Developer Center,ODC)的部署后,您可以在浏览器中通过 宿主机(高可用部署为 Nginx 代理所在宿主机)的 IP 和端口号(http://IP:PORT 或 http://DOMAIN:PORT)访问 Web 版 ODC。

访问后展示登录界面即证明访问成功,若您是初次访问请先注册账号后进行登录。若您在 ODC 中创建连接成功,且在 ODC 中可对数据库进行正常操作,则证明 Web 版 ODC 部署成功。更多关于 Web 版 ODC 的使用操作,请参见 《ODC 用户指南(Web 版 ODC)》。

Image 123

8.升级指南

8.1. 升级概述

OceanBase 开发者中心(OceanBase Developer Center,ODC)是为 OceanBase 数据库量身打造的企业级数据库开发平台。ODC 采用成熟的浏览器-服务端架构,提供了 Web 版和客户端版两种产品形态。本手册将介绍 Web 版 ODC 升级的全过程。客户端版 ODC 无需升级,直接重新安装新版 ODC 客户端即可。

单节点升级

如果您的 ODC 是单节点部署,由于只部署了一个 ODC 应用节点,所以单节点升级只需升级该节点的 ODC 应用至新版本即可。

高可用升级

如果您的 ODC 是高可用部署,只需在高可用部署的各个节点上将 ODC 升级到新版本即可。升级高可用部署的 ODC 应用时可按需选择是否将 Nginx 升级到最新版本。

8.2. 升级前准备

OceanBase 开发者中心(OceanBase Developer Center,ODC)的升级需要预先确认元数据库和机器环境。

元数据库

部署 Web 版 ODC 时创建了元数据库用于存储使用 ODC 过程中产生的用户数据。

升级 ODC 时需重新初始化元数据库并运行对应版本的 ODC 镜像,因此在升级前,请先确认元数据库的租户名、租户所在的集群名、数据库名称、用户名和密码等信息。

说明

  • 自 ODC V3.3.0 起,ODC 提供变更流程和操作审计等企业级管控能力,Web 版 MetaDB 必须为 OceanBase V2.2.76 及之后版本,否则校验无法通过会启动失败。

  • MetaDB 所在 OceanBase 租户规格推荐 2C8G 及以上配置,配置过低容易导致性能问题。

  • ODC 在启动时会监测 MetaDB 的 OceanBase 版本号,如校验不通过会启动失败,如您的 MetaDB 集群版本低于 V2.2.76,需首先升级 MetaDB 集群。

    机器环境

    Web 版 ODC 运行环境配置,按照 ODC 用户数的经验值:

  • 20 内 ODC 用户,部署在规格为 4C8G 的服务器上;

  • 100 内 ODC 用户,部署在规格为 4C16G 的服务器上;

  • 500 内 ODC 用户,部署在规格为 8C32G 的服务器上;

  • 更多用户视使用情况调整资源。

    Web 版 ODC 需要运行在以上规格的服务器上,因此在升级 ODC 应用时请确认机器环境。

    升级 ODC 应用时需重新在机器上拉取和运行 ODC 镜像,因此在升级前请确认机器安装了 Docker 并可以正常运行。

8.3. 升级单节点 ODC

8.3.1. 升级流程

OceanBase 开发者中心(OceanBase Developer Center,ODC)单节点部署的升级需完成以下三步:

  1. 停运旧版本 ODC:在 Docker 中停止运行旧版本 ODC 的容器。

  2. 加载和运行 ODC 镜像:在服务器上加载并运行新版本镜像以升级 ODC 应用。

  3. 升级 Nginx 镜像:若单节点 ODC 已配置 SSL 证书并部署 Nginx 镜像,可参考升级高可用 ODC 流程中的步骤升级 Nginx 镜像。

    说明

    • 用户首次登录的用户名和密码从管理员处获取。

    • 管理员默认登录用户名:admin,默认密码:aaAA11__

      有关登录 Web 版 ODC 详情,请参见本手册中《用户指南 (Web 版 ODC)》符号 登录 ODC 符号 登录账号。

8.3.2. 停运旧版本 ODC

升级单节点部署的 OceanBase 开发者中心(OceanBase Developer Center,ODC)应用时,在完成元数据库的更新后,需要首先停止运行旧版本的 ODC。

操作步骤:

在宿主机的命令行工具中运行 docker ps -a

语句查看正在运行的容器,通过 IMAGE

列(镜像名称)可以定位到旧版本 ODC 容器的 ID,即对应容器 CONTAINER ID

列的值。运行结果如下所示:

C:\Users\ob>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8bfecbc1cd03 acs-reg.alipay.com/oceanbase/obodc:2.0.1 "/bin/sh -c '/usr/bi…" 13 days ago Up 13 days 80/tcp, 8080/tcp, 0.0.0.0:8989->8989/tcp obodc

获得容器 ID 后继续在命令行工具中运行 docker stop \<CONTAINER ID>;

语句以停止运行旧版本 ODC 的容器。运行结果如下所示:

C:\Users\ob>docker stop 8bfecbc1cd03
8bfecbc1cd03

在命令行工具中运行 docker rm \<CONTAINER ID>;

删除旧版本 ODC 镜像以释放旧版本镜像占用的端口。运行结果如下所示:

C:\Users\ob>docker rm 8bfecbc1cd03
8bfecbc1cd03

8.3.3. 加载和运行 ODC 镜像

升级单节点部署的 OceanBase 开发者中心(OceanBase Developer Center,ODC)应用时,在完成元数据库的更新和停运旧版本 ODC 容器后,需重新拉取和运行 ODC 的镜像。

加载镜像

首先要在宿主机上获得 ODC 镜像,在以下列表选择所需镜像,单击 [下载] 以获得镜像:

  • X 86 镜像:[下载]

  • ARM 镜像:[下载]

    在宿主机上获得镜像文件后,在命令行工具中运行下述语句加载镜像:

    gunzip -c obodc-{\$version}.tar.gz | docker load

    运行镜像

    在宿主机上获得 ODC 镜像后,在命令行工具中运行镜像的示例语句如下所示:

    ##!/usr/bin/env bash
    docker run --volume /var/log/odc:/opt/odc/log \
    -d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \
    -e "DATABASE_HOST=100.00.00.00" \
    -e "DATABASE_PORT=60805" \
    -e "DATABASE_USERNAME=obodc@obodc##odc_cluster" \
    -e "DATABASE_PASSWORD=obodc" \
    -e "DATABASE_NAME=odc_metadb" \
    -e "ODC_PROFILE_MODE=alipay" \
    reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}

    其中,{image_tag} 可以在宿主机上加载镜像后运行 docker images

语句查看,其他参数说明如下表所示:

参数说明
--volume宿主机的 /var/log/odc 目录映射到 ODC 容器 内的 /opt/odc/log 目录。 /var/log/odc 为宿主机的目录,如不存在需先创建,创建目录的参考命令 mkdir -p /var/log/odc 。
--net指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish (-p )参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。
--cpu-period --cpu-quota–-cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。 –-cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。 配合使用可指定容器使用的 CPU 核数。cpu-quota/cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。
--memory设置容器使用的内存最大值。
--name指定容器名称。
DATABASE_HOST元数据库 IP 地址。
DATABASE_PORT元数据库端口号。
DATABASE_USERNAME元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name##cluster_name。
DATABASE_PASSWORD连接数据库的用户名。
DATABASE_NAME元数据库名。
ODC_PROFILE_MODE指定模式,默认指定为 alipay 。

除上述参数外,运行镜像时您还可以根据需求使用下述参数:

参数说明
ODC_LOG_DIR指定日志目录,默认路径为 /opt/odc/log 。
OBCLIENT_WORK_DIR指定 OBClient 工作目录,默认路径为 /opt/odc/data 。
ODC_JAR_FILE指定 Jar 文件目录,默认路径为 /opt/odc/lib/odc-web-starter-*.jar 。
ODC_WORK_DIR指定 ODC 工作目录,默认路径为 /opt/odc/script 。
ODC_JVM_HEAP_OPTIONS指定 JVM 堆内存,默认最大内存参数 -Xmx 的值为可用物理内存的 60%。 ODC 启动脚本会检查当前环境的可用内存是否达到 2048 M, 按照 60% 计算需要有 3.4 G 内存才可以启动。如果宿主机或 Docker 的内存配置低于 3.4 G,可以通过指定参数 ODC_JVM_HEAP_OPTIONS 来绕过可用内存检查,例如可以配置为 "-Xmx2048m -Xms2048m" 。
ODC_JVM_GC_OPTIONS指定 JVM GC 策略,默认指定为 -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/opt/odc/log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=5 。
ODC_JVM_OOM_OPTIONS指定 JVM OutOfMemory 策略,默认指定为 -XX:+ExitOnOutOfMemoryError 。
ODC_JVM_EXTRA_OPTIONS指定其它需要的 JVM 配置参数,默认值为空。
ODC_SERVER_PORT指定 ODC-Server 的 HTTP 监听端口,默认值为 8989。
ODC_HOST指定 ODC 运行时的 IP 地址,该参数在高可用部署场景下做为远程过程调用的目的地址。
ODC_PORT指定 ODC 运行时的端口号,该参数在高可用部署场景下做为远程过程调用的目的端口号。 说明 该参数和 ODC_SERVER_PORT 并不影响,只做为远程过程调用发起时的端口参数。

8.4. 升级高可用 ODC

8.4.1. 升级流程

OceanBase 开发者中心(OceanBase Developer Center,ODC)高可用部署的升级需完成以下三步:

  1. 停运旧版本 ODC:在 Docker 中停止运行旧版本 ODC 的容器。

  2. 加载和运行 ODC 镜像:在高可用部署的每个节点上加载和运行新版 ODC 镜像以升级 ODC 应用。

  3. 升级 Nginx 镜像:可按需选择是否同时将 Nginx 镜像升级至最新版本。升级 Nginx 镜像,首先需停运并删除旧镜像,并在宿主机上获得新版本镜像后重新进行部署 Nginx 代理的操作。

    说明

    • 用户首次登录的用户名和密码从管理员处获取。

    • 管理员默认登录用户名:admin,默认密码:aaAA11__

      有关登录 Web 版 ODC 详情,请参见本手册中《用户指南 (Web 版 ODC)》符号 登录 ODC 符号 登录账号。

8.4.2. 停运旧版本 ODC

升级高可用部署的 OceanBase 开发者中心(OceanBase Developer Center,ODC)应用时,在完成元数据库的更新后,需要首先停止运行各个节点上旧版本的 ODC。

操作步骤:

在宿主机的命令行工具中运行 docker ps -a

语句查看正在运行的容器,通过 IMAGE

列(镜像名称)可以定位到旧版本 ODC 容器的 ID,即对应容器 CONTAINER ID

列的值。运行结果如下所示:

C:\Users\ob>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8bfecbc1cd03 acs-reg.alipay.com/oceanbase/obodc:2.0.1 "/bin/sh -c '/usr/bi…" 13 days ago Up 13 days 80/tcp, 8080/tcp, 0.0.0.0:8989->8989/tcp obodc

获得容器 ID 后继续在命令行工具中运行 docker stop \<CONTAINER ID>;

语句以停止运行旧版本 ODC 的容器。运行结果如下所示:

C:\Users\ob>docker stop 8bfecbc1cd03
8bfecbc1cd03

在命令行工具中运行 docker rm \<CONTAINER ID>;

删除旧版本 ODC 镜像以释放旧版本镜像占用的端口。运行结果如下所示:

C:\Users\ob>docker rm 8bfecbc1cd03
8bfecbc1cd03

8.4.3. 加载和运行 ODC 镜像

升级高可用部署的 OceanBase 开发者中心(OceanBase Developer Center,ODC)应用时,在完成元数据库的更新后,需在各个节点上重新拉取和运行 ODC 的镜像。

加载镜像

首先要在宿主机上获得 ODC 镜像,在以下列表选择所需镜像,单击 [下载] 以获得镜像:

  • X 86 镜像:[下载]

  • ARM 镜像:[下载]

    在宿主机上获得镜像文件后,在命令行工具中运行下述语句加载镜像:

    gunzip -c obodc-{\$version}.tar.gz | docker load

    运行镜像

    在宿主机上获得 ODC 镜像后,在命令行工具中运行镜像的示例语句如下所示:

    ##!/usr/bin/env bash
    docker run --volume /var/log/odc:/opt/odc/log \
    -d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \
    -e "DATABASE_HOST=100.00.00.00" \
    -e "DATABASE_PORT=60805" \
    -e "DATABASE_USERNAME=obodc@obodc##odc_cluster" \
    -e "DATABASE_PASSWORD=obodc" \
    -e "DATABASE_NAME=odc_metadb" \
    -e "ODC_PROFILE_MODE=alipay" \
    reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}

    其中,{image_tag} 可以在宿主机上加载镜像后运行 docker images

语句查看,其他参数说明如下表所示:

参数说明
--volume宿主机的 /var/log/odc 目录映射到 ODC 容器 内的 /opt/odc/log 目录。 /var/log/odc 为宿主机的目录,如不存在需先创建,创建目录的参考命令 mkdir -p /var/log/odc 。
--net指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish (-p )参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。
--cpu-period --cpu-quota–-cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。 –-cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。 配合使用可指定容器使用的 CPU 核数。cpu-quota/cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。
--memory设置容器使用的内存最大值。
--name指定容器名称。
DATABASE_HOST元数据库 IP 地址。
DATABASE_PORT元数据库端口号。
DATABASE_USERNAME元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name##cluster_name。
DATABASE_PASSWORD连接数据库的用户名。
DATABASE_NAME元数据库名。
ODC_PROFILE_MODE指定模式,默认指定为 alipay 。

除上述参数外,运行镜像时您还可以根据需求使用下述参数:

参数说明
ODC_LOG_DIR指定日志目录,默认路径为 /opt/odc/log 。
OBCLIENT_WORK_DIR指定 OBClient 工作目录,默认路径为 /opt/odc/data 。
ODC_JAR_FILE指定 Jar 文件目录,默认路径为 /opt/odc/lib/odc-web-starter-*.jar 。
ODC_WORK_DIR指定 ODC 工作目录,默认路径为 /opt/odc/script 。
ODC_JVM_HEAP_OPTIONS指定 JVM 堆内存,默认最大内存参数 -Xmx 的值为可用物理内存的 60%。 ODC 启动脚本会检查当前环境的可用内存是否达到 2048 M, 按照 60% 计算需要有 3.4 G 内存才可以启动。如果宿主机或 Docker 的内存配置低于 3.4 G,可以通过指定参数 ODC_JVM_HEAP_OPTIONS 来绕过可用内存检查,例如可以配置为 "-Xmx2048m -Xms2048m" 。
ODC_JVM_GC_OPTIONS指定 JVM GC 策略,默认指定为 -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/opt/odc/log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=5 。
ODC_JVM_OOM_OPTIONS指定 JVM OutOfMemory 策略,默认指定为 -XX:+ExitOnOutOfMemoryError 。
ODC_JVM_EXTRA_OPTIONS指定其它需要的 JVM 配置参数,默认值为空。
ODC_SERVER_PORT指定 ODC-Server 的 HTTP 监听端口,默认值为 8989。
ODC_HOST指定 ODC 运行时的 IP 地址,该参数在高可用部署场景下做为远程过程调用的目的地址。
ODC_PORT指定 ODC 运行时的端口号,该参数在高可用部署场景下做为远程过程调用的目的端口号。 说明 该参数和 ODC_SERVER_PORT 并不影响,只做为远程过程调用发起时的端口参数。
8.4.4. 升级 Nginx 镜像

升级 Web 版 ODC 时,可按需选择是否将 Nginx 镜像也升级到最新版本。升级 Nginx 镜像,需首先停运并删除旧镜像,然后在宿主机上获得新版本镜像后重新进行部署 Nginx 代理的操作。

停运删除旧镜像

部署新版本 Nginx 镜像前,需在宿主机上先停运并删除当前运行的旧版本 Nginx 镜像。

操作步骤如下:

在宿主机的命令行工具中运行 docker ps -a

语句查看正在运行的容器,通过 IMAGE

列(镜像名称)可以定位到旧版本 Nginx 容器的 ID,即对应容器 CONTAINER ID

列的值。运行结果如下所示:

" C:\Users\ob>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8bfecbc1cd03 bdd6f8916e8b "/bin/sh -c '/usr/bi… 13 days ago Up 13 days 80/tcp, 8080/tcp, 0.0.0.0:8989->8989/tcp nginx

获得容器 ID 后继续在命令行工具中运行 docker stop \<CONTAINER ID>;

语句以停止运行旧版本 ODC 的容器。运行结果如下所示:

C:\Users\ob>docker stop 8bfecbc1cd03
8bfecbc1cd03

在命令行工具中运行 docker rm \<CONTAINER ID>;

删除旧版本 ODC 镜像以释放旧版本镜像占用的端口。运行结果如下所示:

C:\Users\ob>docker rm 8bfecbc1cd03
8bfecbc1cd03

加载新镜像

在宿主机上加载新版本的 Nginx 镜像,目前镜像可通过两种方式获得:

  • 在宿主机上从 Docker 仓库中直接拉取镜像。

  • 下载镜像包到本地,再拷贝至宿主机中解压。

    从 Docker 仓库中直接拉取镜像

    请确保宿主机上已安装了 Docker 并且可以访问外网,在命令行工具中运行下述语句从 Docker 仓库中拉取 Nginx 镜像:

    docker pull nginx

    拷贝镜像包至宿主机中解压

    在可以访问外网且已安装了 Docker 的机器中运行下述语句,下载镜像包至本地:

    docker save nginx:latest | gzip - >nginx.tar.gz

    然后,拷贝镜像包至宿主机中,运行下述语句加载镜像:

    gunzip -c nginx.tar.gz | docker load

    配置 conf 文件

    在启动 Nginx 镜像前,需修改配置文件。ODC 的镜像包中已提供配置文件模板,可复制模板到本地并进行编辑。配置文件模板根据您是否已部署自签证书而略有不同,请按需复制对应的模板并进行修改。

    配置不包含自签证书的 conf 文件

    运行下述语句从镜像包中复制配置文件到宿主机再进行编辑,复制路径可自定义(其中 ~ 是配置文件在本地的路径):

    docker cp -a \<odc_image_name>:/opt/odc/conf/nginx.conf.template ~/\<conf_local_path>

    配置文件模板如下所示,请关注文件中注释需修改的部分。

    ## Nginx conf template for http deployment
    ## For more information on configuration, see:
    ## * Official English Documentation: http://nginx.org/en/docs/

    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    ## Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
    '\$status \$body_bytes_sent "\$http_referer" '
    '"\$http_user_agent" "\$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    ##set 0 to disable request body size check, for support large size file upload
    client_max_body_size 0;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ## for websocket configuration
    map \$http_upgrade \$connection_upgrade {
    default upgrade;
    '' close;
    }

    ## load balancing configuration
    ## notice under_score character are not allowed for upsteram name, 400 Bad Request happens if used
    ## please use ip_hash strategy
    ## one server line for each odc-server node
    upstream odcbackends {
    ip_hash;
    ## PLEASE CHANGE to real odc-server address
    ## 请修改为实际的 odc-server 地址(非必改内容)
    server 127.0.0.1:8989;
    ## add more servers here
    }

    ##https server, proxy to odc-server 8989 port
    server {
    listen 80;
    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:80;

    ## PLEASE CHANGE to your site domain
    ## 请修改为实际的站点域名(非必改内容)
    server_name odc.oceanbase.com;

    location / {
    proxy_pass http://odcbackends;
    proxy_http_version 1.1;
    proxy_set_header Upgrade \$http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-Host \$host;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_read_timeout 1800;
    proxy_send_timeout 1800;
    proxy_connect_timeout 75;
    proxy_next_upstream off;
    }
    }

    }

    配置包含自签证书的 conf 文件

    运行下述语句从镜像包中拷贝配置文件到宿主机再进行编辑,复制路径可自定义(其中 ~ 是配置文件在本地的路径):

    docker cp -a \<odc_image_name>:/opt/odc/conf/nginx.conf.https.template ~/\<conf_local_path>

    配置文件模板如下所示,请关注文件中注释需修改的部分。

    ## Nginx conf template for https deployment
    ## For more information on configuration, see:
    ## * Official English Documentation: http://nginx.org/en/docs/

    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    ## Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
    '\$status \$body_bytes_sent "\$http_referer" '
    '"\$http_user_agent" "\$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    ##set 0 to disable request body size check, for support large size file upload
    client_max_body_size 0;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ## for websocket configuration
    map \$http_upgrade \$connection_upgrade {
    default upgrade;
    '' close;
    }

    ## load balancing configuration
    ## notice under_score character are not allowed for upsteram name, 400 Bad Request happens if used
    ## please use ip_hash strategy
    ## one server line for each odc-server node
    upstream odcbackends {
    ip_hash;
    ## PLEASE CHANGE to real odc-server address
    ## 请修改为实际的 odc-server 地址(非必改内容)
    server 127.0.0.1:8989;
    ##add more servers here
    }

    ## redirect http to https
    server {
    listen 80 default_server;

    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:80 default_server;

    location / {
    return 301 https://\$host\$request_uri;
    }
    }

    ## https server, proxy to odc-server 8989 port
    server {
    listen 443 ssl http2;
    ## uncomment below if ipv6 enabled
    ## 如启用 ipv6,请取消以下注释
    ##listen [::]:443 ssl http2;

    ## PLEASE CHANGE to your site domain
    ## 请修改为实际的站点域名(非必改内容)
    server_name odc.oceanbase.com;

    ## you can use /opt/odc/bin/generate-odc-ssl-certificate.sh
    ## to generate self certificated SSL certificates
    ## 您可以使用 /opt/odc/bin/generate-odc-ssl-certificate.sh 生成自签证书

    ## PLEASE CHANGE certificate file location if unmatched
    ## 如不匹配,请修改证书文件路径
    ssl_certificate /etc/pki/nginx/odcserver.crt;
    ssl_certificate_key /etc/pki/nginx/odcserver.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m; ## about 40000 sessions
    ssl_session_tickets off;

    ## intermediate configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    ## HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    location / {
    proxy_pass http://odcbackends;
    proxy_http_version 1.1;
    proxy_set_header Upgrade \$http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-Host \$host;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_read_timeout 1800;
    proxy_send_timeout 1800;
    proxy_connect_timeout 75;
    proxy_next_upstream off;
    }
    }

    }

说明

修改负载均衡配置,确保 proxy 超时配置时长充足,修改配置后需重启 nginx 。

建议 proxy_connect_timeout

参数不超过 75 秒,请参见 proxy_connect_timeout:http://nginx.org/en/docs/http/ngx_http_proxy_module.html##proxy_connect_timeout

设置 proxy_next_upstream off

旨在禁止 nginx 将请求转发至下一个 ODC 节点,导致用户需重新登录,且某些功能不可用,如异步任务结果集下载等与文件上传下载相关的功能。

启动镜像

在本地修改配置文件后,在命令行工具中运行下述语句以重启 Nginx 镜像(其中 ~ 是配置文件在本地的路径):

docker run --network host --name nginx -v ~/\<conf_local_path>:/etc/nginx/nginx.conf -v /etc/pki/nginx/:/etc/pki/nginx/ -d nginx

语句中的参数说明如下所示:

参数说明
--network host表示使用宿主机网络端口,无需配置端口映射。 如不希望直接使用宿主机端口,可使用 -p 参数配置端口映射。例如 -p 8080:80 表示宿主机的 8080 端口映射为 Docker 内的 80 端口,-p 8443:443 表示宿主机的 8443 端口映射为 Docker 内的 443 端口。
--name nginx指定容器的名称为 nginx,方便后续管理,或可使用其它名称,如 odc-nginx。
-v ~/\<conf_local_path>:/etc/nginx/nginx.conf进行磁盘挂载,将宿主机内的本地文件映射到 Docker 内。 其中 \<conf_local_path> 为配置 conf 文件时复制到宿主机的本地路径,然后将其映射至 Docker 内的 /etc/nginx/nginx.conf 文件中。
-v /etc/pki/nginx/:/etc/pki/nginx/将宿主机的 /etc/pki/nginx/ 路径映射到 Docker 内的 /etc/pki/nginx/ 路径。
-d nginx表示后台运行 Docker。

8.5. 升级验证

完成 OceanBase 开发者中心(OceanBase Developer Center,ODC)的升级后,您可以在浏览器中通过宿主机(高可用部署时是 Nginx 代理所在的宿主机)的 IP 和端口号(http://IP:PORT 或 http://DOMAIN:PORT)访问 Web 版 ODC。

访问并登录 ODC 后,在连接列表页面的右上角,选择帮助中心,单击下拉列表中的 关于开发者中心 标签,在弹出的窗口中您可以获得当前应用的版本号以确定升级是否成功。更多关于 Web 版 ODC 的使用操作,请参见 《ODC 用户指南(Web 版 ODC)》。

Image 246

8.6. 升级失败回滚

升级 Web 版 OceanBase 开发者中心(OceanBase Developer Center,ODC)后,如果发现升级后的版本有严重的问题,可以进行回滚操作。

回滚 Web 版 ODC 时,只需在宿主机的命令行工具中运行下述语句,重新运行之前版本的 ODC 镜像即可:

##!/usr/bin/env bash
docker run -d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc"
-e "DATABASE_HOST=100.00.00.00"
-e "DATABASE_PORT=60805"
-e "DATABASE_USERNAME=obodc@obodc##odc_cluster"
-e "DATABASE_PASSWORD=obodc"
-e "DATABASE_NAME=odc_metadb"
-e "ODC_PROFILE_MODE=alipay"
reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}

其中,{image_tag} 可以在宿主机上加载镜像后运行 docker images

语句查看,其他参数说明如下表所示:

参数说明
--net指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish (-p )参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。
--cpu-period --cpu-quota–-cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。 –-cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。 配合使用可指定容器使用的 CPU 核数。cpu-quota/cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。
--memory设置容器使用的内存最大值。
--name指定容器名称。
DATABASE_HOST元数据库 IP 地址。
DATABASE_PORT元数据库端口号。
DATABASE_USERNAME元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name##cluster_name。
DATABASE_PASSWORD连接数据库的用户名。
DATABASE_NAME元数据库名。
ODC_PROFILE_MODE指定模式,默认指定为 alipay 。

9.常见问题

客户端版 ODC 安装问题

  1. Q:客户端版 ODC 安装预检查时会检查哪些项目?

    A:客户端版 ODC 预检查项目如下所示:

    • Windows 操作系统版本检查:仅支持 Windows 7 及以上版本。
    • 端口检查:查看 8989 是否被占用。在 ODC V2.3.0 后采用动态端口将不再检查该项。
    • Java 运行环境检查:建议安装 JDK 1.8.0 及以上版本。
  2. Q:客户端版 ODC 安装或启动失败时如何查看日志?

    A:在日志文件 error.log 中查看报错信息。日志的存放路径如下所示:

    Linux: ~/.config/odc/

    MacOS: ~/Library/Logs/odc/

    Windows: %USERPROFILE%\AppData\Roaming\odc\

  3. Q:客户端版 ODC 安装或启动失败,提示端口冲突问题时该如何排查?

    A:查看占用了端口号 8989 的进程,关闭相关进程后再重新安装或启动。如果您使用的是 ODC V2.3.0 及以上版本将不会出现该问题,因为 ODC V2.3.0后将采用动态端口技术。

    • 使用以下命令在 MAC 系统下查看端口号占用情况:

      lsof -i tcp:8989

    • 使用以下语句在 Win 系统下查看端口号占用情况:

      netstat -ano|findstr 8989

  4. Q:客户端版 ODC 安装或启动失败,提示 Java 版本问题时该如何

    A:使用以下命令查看 Java 运行环境,建议安装 JDK 1.8.0 及以上版本,若版本太低请更新 JDK 并重启电脑后重新安装或启动:

    java -version

  5. Q:安装时提示应用未经过安全监测无法安装。

    A:请查看当前机器的安全设置信息并允许本次安装。

    连接信息相关问题

  6. Q:如何备份 ODC 中的连接信息?

    A:若您使用的是 Web 版 ODC,可直接迁移或备份部署 ODC 时创建的元数据库。若您使用的是客户端版 ODC 可备份用户目录下的文件 odc2.0.mv.db,需要恢复连接时,拷贝或替换该文件至到原目录下即可。

  7. Q:执行 SQL 超时时,应如何解决?

    A:当执行 SQL 超时时,可手动设置查询超时时间。在连接信息编辑页面的高级配置中,加大 SQL 查询超时时间 项的值。该设置项从 ODC V2.2.0 版本开始支持,若您使用的是低版本应用,请升级至 ODC V2.2.0 及以上版本。

  8. Q:当看到 proxyro 用户不存在的报错时,应如何解决?

    A:当您看到报错信息 proxyro 用户不存在时,可在在连接信息编辑页面的高级配置中,配置 查询 sys 租户视图 项来设置拥有查询 sys 租户视图权限的用户。该设置项从 ODC V2.2.0 版本开始支持,若您使用的是低版本应用,请升级至 ODC V2.2.0 及以上版本。

    命令行工具相关问题

  9. Q:Windows 系统下桌面版 ODC 使用命令行工具建立连接后,如下图所示出现连接卡住后并断开的问题,应如何解决?

    Image 360A:这是因为环境中缺少 Windows 下系统库文件 msvcp120.dll 和 msvcr120.dll,请安装官方 Visual Studio 补丁

    编码相关问题

  10. Q:当遇到 GBK 租户乱码问题时,应如何解决?

    A:若您使用的是 ODC V2.2.0 及之前版本时,当遇到 GBK 租户乱码问题时,可在会话属性中修改以下三个参数的值为 utf8mb4 以保证会话级别字符集编码统一:

    客户端编码参数 character_set_client

    连接编码参数 character_set_connection

    结果集编码参数 character_set_results

    数据导出导入问题

    Q:导入或导出数据失败时,任务汇总信息中抛出异常: javax.crypto.BadPaddingException: Given final block not properly padded

    时该如何处理?

    A:看到该异常的原因是 OBProxy 密码解密失败。可通过以下三种方法解决:

    • 方法一:建议直接安装使用 Open JDK 1.8 及以上版本,这样可以保证 Jre 和 Jce 的版本一致。

    • 方法二:从 Oracle 官网下载与当前使用的 JDK 版本一致的 jce_policy 插件,解压后将其中的 local_policy.jar 和 US_export_policy.jar 文件替换原来的 Jar 文件即可。

    • 方法三:升级您的 ODC 应用至 V2.3.0 及以后版本。由于策略改变,ODC V2.3.0 后将不再出现这个问题。

      DDL 语句展示问题

  11. Q:在视图或表管理页面查看视图或表的 DDL 语句时,所展示的语句不全被截断了。

    A:数据库对象管理页面的 DDL 页签调用了系统表 all_views

    中字段 text

    的内容,在 OBServer V2.2.70 之前, all_views

    表中字段 text

    的内容太长时会被截断,这个问题的 OBServer V2.2.70 后被修复了。您也可以使用 SHOW CREATE VIEW/TABLE

    语句直接查询目标视图或表的完整结构语句。