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

# 7天从零搞定GBase培训——数据库知识真的可以平移

7天从零搞定GBase培训——数据库知识真的可以平移背景接到一个任务给甲方做GBase数据库培训。要求覆盖GBase 8s事务型和GBase 8a分析型MPP两个产品。问题来了我从来没碰过GBase。官方给了一批产品文档和安装包但提供不了培训服务。总集委托我单位来培训。拿到材料的时候是周一培训排在下周一——7天时间。7天后的培训PPT后半部分的DBA管理SQL语句全是我自己写的。下面说说我是怎么在7天内速成GBase的。核心观点就一个懂了一个数据库知识可以平移。GBase是什么先交代背景。南大通用GBase是国内数据库厂商有两个主力产品产品定位对标场景GBase 8sOLTP事务型Oracle、MySQL、SQL Server业务系统、政务OAGBase 8a MPPOLAP分析型Greenplum、ClickHouse数据仓库、统计分析8s适合在线事务处理8a适合海量数据分析。很多政务项目里两个一起部署8s跑业务8a跑报表。我会什么在接这个任务之前我的数据库经验是Oracle为主MySQL为辅。Oracle用了十几年MySQL也折腾过不少。Oracle → MySQL → GBase 的知识迁移路径知识平移对照表一、安装部署所有数据库的安装流程都是一样的检查环境 → 创建用户 → 解压安装包 → 配置参数 → 初始化实例。操作OracleMySQLGBase 8sGBase 8a安装用户oraclemysqlgbasedbtgbase默认端口1521330690885258初始化实例dbca / CREATE DATABASEmysqld --initializeGBaseInit_gbasedbt.shgcinstall.py配置文件listener.ora / sqlnet.oramy.cnfonconfigdemo.options启动sqlplus / startupsystemctl start mysqldoninitgcluster_services all start停止sqlplus / shutdownsystemctl stop mysqldonmode -kgcluster_services all stop查看状态ps -ef | grep ora_systemctl status mysqldonstat -gcadmin你看概念完全一一对应。你只要记住GBase 8s的oninit相当于Oracle的startuponmode相当于shutdown其他的照猫画虎就行。二、客户端连接操作OracleMySQLGBase 8sGBase 8a命令行工具sqlplusmysqldbaccessgccli连接sqlplus user/passhost:portmysql -h host -u user -pdbaccess - -gccli -u root -p图形客户端GDS南大通用自带NavicatGDSGDSGBase自带的客户端工具叫GDSGBase Data Studio支持8s和8a两种连接。用法和Navicat、DBeaver差不多。三、库表操作DDL语句几乎一样。你只要会Oracle或MySQL的建库建表到了GBase直接上手-- 建库所有数据库都差不多-- Oracle: CREATE DATABASE test;-- MySQL: CREATE DATABASE test DEFAULT CHARSET utf8mb4;-- GBase 8s: CREATE DATABASE test IN datadbs1 WITH LOG;-- GBase 8a: CREATE DATABASE test;-- 建表完全一样CREATETABLEa1(idSERIAL,-- 相当于Oracle的SEQUENCEMySQL的AUTO_INCREMENTxmVARCHAR(50),-- 和Oracle/MySQL一样sfzhVARCHAR(20),-- 一样csrqDATE-- 一样);-- 改字段一样ALTERTABLEa1ADDCOLUMNxbVARCHAR(3);ALTERTABLEa1MODIFYCOLUMNxbVARCHAR(10);-- 8s只能改大ALTERTABLEa1DROPCOLUMNxb;-- 建索引一样CREATEINDEXidx_sfzhONa1(sfzh);DROPINDEXidx_sfzhONa1;-- 建视图一样CREATEVIEWv1ASSELECT*FROMa1;-- 建主键GBase 8s语法ALTERTABLEa1ADDCONSTRAINTPRIMARYKEY(sfzh)CONSTRAINTpk_a1_sfzh;唯一需要注意的是GBase 8s的SERIAL类型它类似Oracle的SEQUENCE但不完全一样。插入时不指定SERIAL字段会自动递增但可以手动指定值。指定值后下一个自动值会从你指定的值开始计算而不是跳过。四、权限管理权限体系的设计逻辑也完全一样用户→角色→权限库级→表级→字段级。操作OracleMySQLGBase 8sGBase 8a创建用户CREATE USERCREATE USERCREATE USER xx WITH PASSWORD ‘xx’CREATE USER xx IDENTIFIED BY ‘xx’修改密码ALTER USERALTER USERALTER USER xx MODIFY PASSWORD ‘xx’ALTER USER xx IDENTIFIED BY ‘xx’锁定用户LOCK ACCOUNTACCOUNT LOCKALTER USER xx ACCOUNT LOCKALTER USER xx ACCOUNT LOCK库级授权GRANT CONNECT/RESOURCEGRANT ALL ON db.*GRANT CONNECT/DBA/RESOURCE TO xx跟MySQL一样表级授权GRANT SELECT ON tab TO xxGRANT SELECT ON tab TO xx完全一样完全一样字段级授权GRANT SELECT(col) ON tab不支持GRANT SELECT(xm) ON a1 TO xx支持收回权限REVOKEREVOKE完全一样完全一样创建角色CREATE ROLECREATE ROLECREATE ROLE r1CREATE ROLE r1角色授权GRANT role TO userGRANT role TO user完全一样完全一样GBase 8s有个特殊的地方它支持操作系统用户映射通过代理用户surrogate user把OS用户和数据库内部用户关联起来。这个Oracle也有类似机制OS_AUTHENT_PREFIX但GBase 8s的配置方式不太一样需要配置/etc/gbasedbt/allowed.surrogates文件。五、备份恢复操作OracleMySQLGBase 8s全量备份RMAN / expdpmysqldump --single-transactionontape -s -L 0增量备份RMAN增量binlog / mysqldumpontape -s -L 1备份目录RMAN配置自定义目录TAPEDEV/LTAPEDEV配置逻辑导出expdpmysqldumpunload / onunload逻辑导入impdpmysql dump.sqlload / onloadGBase 8s的备份用ontape命令-L 0是全量-L 1是增量。备份前要配置TAPEDEV备份路径默认是/dev/null即不备份。# 查看当前备份配置onstat-c|grepTAPEDEV# 如果是/dev/null说明没配置备份# 配置备份路径onmode-wfTAPEDEV/backuponmode-wfLTAPEDEV/backup# 全量备份ontape-s-L0# 增量备份ontape-s-L1逻辑导出用unload类似MySQL的SELECT ... INTO OUTFILE-- unload导出相当于MySQL的INTO OUTFILEUNLOADTO/tmp/data.txtDELIMITER|SELECT*FROMa1;-- load导入LOADFROM/tmp/data.txtDELIMITER|INSERTINTOa1;注意unload默认字段分隔符是|如果数据里有换行符会自动在行尾加\表示续行。六、DBA运维命令GBase 8s的DBA命令以前缀on开头onstat、onmode、oninit、onspaces…和Oracle的v$视图、MySQL的SHOW命令一样都是日常运维的瑞士军刀。用途OracleMySQLGBase 8s查看实例状态SELECT status FROM v$instance;STATUS;onstat -查看当前模式SELECT * FROM v$database;–onstat -查看日志状态SELECT * FROM v$log;SHOW MASTER STATUS;onstat -l切换日志ALTER SYSTEM SWITCH LOGFILE;FLUSH LOGS;onmode -l查看空间使用SELECT * FROM dba_data_files;–onstat -d查看会话/线程SELECT * FROM v$session;SHOW PROCESSLIST;onstat -u查看系统概况–SHOW STATUS;onstat -p查看内存段––onstat -g seg查看共享内存––onstat -g shm查看归档状态–SHOW VARIABLES LIKE ‘log_archive%’;onstat -g arc强制检查点ALTER SYSTEM CHECKPOINT;–onmode -c杀会话ALTER SYSTEM KILL SESSION;KILL connection_id;onmode -z 12315添加CPU VP––onmode -p 5 cpu查看SQL会话SELECT * FROM v$sql;–onstat -g sqlGBase 8s的onstat相当于Oracle的v$视图AWR报告MySQL的SHOW STATUS一个命令系列搞定所有日常运维。七、表空间管理操作OracleGBase 8s创建表空间CREATE TABLESPACE tbs DATAFILE ‘/path/f1.dbf’ SIZE 100M;onspaces -c -d datadbs2 -p /path/f1 -o 0 -s 102400 -k 16k扩展表空间ALTER TABLESPACE tbs ADD DATAFILE ‘/path/f2.dbf’ SIZE 100M;onspaces -a datadbs2 -p /path/f2 -o 0 -s 102400自动扩展AUTOEXTEND ONexecute function task(“modify chunk extendable”, 7);设置扩展上限MAXSIZEexecute function task(‘modify chunk extend’, 7, 2000000);GBase 8s的表空间叫dbspace和Oracle的概念完全一样数据文件组成表空间表建在表空间上。操作方式不同Oracle用SQLGBase 8s用命令行但逻辑完全一样。我的7天速成策略说了这么多对照表讲讲我实际的7天是怎么安排的第1-2天跑通安装把GBase 8s和8a都装起来。安装过程中踩的坑主要是权限问题安装目录必须是root:root、不能777其他都按文档来。第3天整理官方PPT前半部分安装部署安装部署部分是官方给的按步骤截图命令整理。官方能提供文档但提供不了培训服务。第4-5天写PPT后半部分DBA管理这一部分是自己写的官方文档里没有。方法就是上面那个对照表把Oracle/MySQL的知识翻译成GBase的语法。每个命令都实际跑一遍确认能执行。第6天整理考试题和实操题把官方给的考试题过一遍确认答案正确。实操题补全SQL语句。第7天过一遍PPT模拟培训从头到尾讲一遍计时。关键认知数据库的核心概念是通的实例、数据库、表空间、用户、权限、备份、日志——不管哪个数据库这些概念都一样。变的只是命令语法和配置文件名。SQL标准是通用的DDL、DML、DCL的语法90%以上在所有关系数据库中都一样。差异主要在扩展功能比如序列、窗口函数、JSON支持。运维思路是通的启动/停止、状态检查、日志查看、空间管理、备份恢复——每个数据库都有自己的工具但排查问题的思路一样。不同数据库的差异主要在方言就像普通话和方言核心意思一样表达方式不同。GBase 8s的方言最接近Informix实际上GBase 8s就是基于Informix技术8a的方言接近MySQL。对初学者的建议如果你也要在短时间内接手一个新数据库我的建议是先搞清楚它对标谁——GBase 8s对标OracleInformix技术路线GBase 8a对标MySQL。知道对标关系学习就有参照物。从你已经会的东西出发——列一个对照表把新数据库的每个概念映射到你熟悉的数据库上。动手装一遍——文档看再多不如实际装一遍。安装过程中会逼你了解用户、目录、端口、配置这些基础知识。每个命令都跑一遍——不要光看文档。DBA命令一定要亲手执行看输出结果。重点看差异不是共性——共性你已经会了建库建表SQL都一样差异才是要学的GBase 8s的SERIAL、ontape备份、onstat命令等。后记培训当天甲方的人问了不少问题。有个问GBase和Oracle比哪个好我说不是谁好谁差的问题是替代的问题。80%的场景可以替代。“另一个问学GBase要多久”我说如果你会Oracle一周。这不是吹牛。数据库的世界一通百通。说到底非科班的人被逼成DBA不是什么稀奇事。你做政务信息化做久了甲方要什么你都得能顶——数据库、中间件、网络、安全、操作系统哪个你不是边干边学的资源就那么多不可能每个岗位都配专人。被逼出来的能力反而是最扎实的因为你是真的在生产环境里踩过的。我居然被逼成了DBA——这话不是抱怨是实话。感谢豆包、智谱、OpenCode在写作过程中的辅助。

相关文章:

# 7天从零搞定GBase培训——数据库知识真的可以平移

7天从零搞定GBase培训——数据库知识真的可以平移 背景 接到一个任务:给甲方做GBase数据库培训。要求覆盖GBase 8s(事务型)和GBase 8a(分析型MPP)两个产品。 问题来了:我从来没碰过GBase。 官方给了一批产品…...

前端构建产物分析

前端构建产物分析:优化性能的关键路径 在现代前端开发中,构建工具(如Webpack、Vite、Rollup等)已成为项目开发的标配。它们将源代码转换为浏览器可执行的静态资源,但构建产物的质量直接影响页面加载速度、用户体验和S…...

如何让AI成为你的超级助手——GLM Coding两步法实战

如何让AI成为你的超级助手——GLM Coding两步法实战用了这么久AI,发现大部分人要么不会问,要么问得太细。真正的AI高手,都是分两步走:没想清楚时用来迭代思考,想清楚后直接让它写代码。问题背景 去年年底,我…...

跨越虚拟壁垒:在VMware Fusion中成功导入Parallels Desktop macOS虚拟机实战

1. 为什么需要跨虚拟机平台迁移macOS系统 最近在折腾Mac上的虚拟机时,遇到了一个很有意思的问题。本来想在VMware Fusion里直接安装macOS系统,结果试了好几次都蓝屏失败。这让我想起之前用Parallels Desktop(以下简称PD)安装macOS…...

WarcraftHelper:5大核心功能让魔兽争霸3在现代电脑上完美重生

WarcraftHelper:5大核心功能让魔兽争霸3在现代电脑上完美重生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为经典魔兽争霸3在…...

敏捷开发中的闪电晋升策略:软件测试从业者的破局之道

在当今以“敏捷”和“快”为关键词的软件开发时代,职业发展轨迹也正在被重塑。对于软件测试从业者而言,传统的、线性的晋升阶梯已显乏力,新的环境呼唤新的策略。敏捷开发以其迭代、协作和持续交付的特性,在催生技术变革的同时&…...

终极指南:如何让Switch手柄在电脑上完美运行游戏

终极指南:如何让Switch手柄在电脑上完美运行游戏 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mi…...

从OpenStreetMap到高德/百度:Leaflet地图源切换与自定义瓦片图层全攻略

从OpenStreetMap到高德/百度:Leaflet地图源切换与自定义瓦片图层全攻略 在国内开发地图应用时,直接使用OpenStreetMap(OSM)往往会遇到访问速度慢、坐标偏移等问题。本文将深入探讨如何通过Leaflet实现地图源的灵活切换,重点解决国内开发者最关…...

项目经理实战:用Excel快速计算项目SV、CV、SPI、CPI(附免费模板下载)

项目经理实战:用Excel快速计算项目SV、CV、SPI、CPI(附免费模板下载) 在快节奏的项目管理环境中,每周的进度汇报和成本控制往往让项目经理焦头烂额。当管理层突然要求提供项目健康状态报告时,能够快速计算出关键绩效指…...

ENVI+ArcGIS联合实现遥感分类精度评估(优化分层抽样策略)

1. 遥感分类精度评估的核心挑战 做遥感分类的朋友们应该都深有体会,最头疼的不是前期分类过程,而是后期验证环节。我去年帮某林业局做林地分类项目时,光是验证环节就返工了三次。传统简单随机抽样最大的问题是容易漏掉小面积地类——有次在20…...

【深度学习】Mixup: 突破传统数据增强的邻域风险最小化实践

1. 从数据增强到Mixup:为什么我们需要突破传统方法 记得我第一次训练图像分类模型时,把所有经典数据增强方法都用上了——随机裁剪、水平翻转、颜色抖动。效果确实比不用增强要好,但在测试集上的准确率总是差强人意。直到接触了Mixup&#xf…...

别再只会Ctrl+F了!PyCharm 2023.3里这5个隐藏搜索技巧,让找代码快10倍

PyCharm 2023.3:解锁专业开发者必备的5个高阶搜索策略 在大型Python项目开发中,代码搜索效率直接决定了开发速度。当项目规模膨胀到数千个文件、数十万行代码时,传统的一层层目录翻阅或简单的全局搜索(CtrlF)已经无法满…...

告别配置烦恼:CLion + Qt + CMake 一站式开发环境实战指南

1. 为什么选择CLion开发Qt项目 作为一个长期在Qt和C领域摸爬滚打的开发者,我尝试过几乎所有主流IDE。最初用Qt Creator,后来转战Visual Studio,最终在CLion找到了最佳平衡点。JetBrains家的IDE有个共同特点——它们都是为开发者体验而生的工具…...

嵌入式系统开发规范

嵌入式系统开发规范:构建高效可靠的智能基石 在物联网和智能设备快速发展的今天,嵌入式系统作为硬件与软件融合的核心载体,其开发质量直接影响产品性能和可靠性。规范的开发流程不仅能提升代码可维护性,还能降低后期维护成本。本…...

如何修复固定定位头部容器中悬浮下拉菜单的错位问题

本文详解如何通过统一使用 position: relative 与 top/left 归零策略,配合 flex 布局精准控制头部元素位置,解决因混合定位方式导致的下拉菜单偏移、图标文字错位等问题,并实现类似《cyberpunk 2077》官网的响应式悬浮导航效果。 本文详…...

盖茨皮带主流齿型的优势与应用 ——HTD/GT2/GT3 技术解析与场景选型指南

关键词:盖茨皮带;皮带齿型;HTD 同步带;GT2 同步带;GT3 同步带;工业传动;精密传动一、引言:齿型决定传动性能同步带齿型是影响传动效率、负载能力、稳定性的核心因素。传统梯形齿存在…...

C#怎么操作PDF合并拆分 C#如何用代码将多个PDF合并成一个或拆分成多个文件【工具】

<p>PdfPig 是 C# 中最稳的 PDF 合并/拆分方案&#xff0c;无许可证风险、API 清晰&#xff1b;iTextSharp v4.x 不支持新标准&#xff0c;易生成损坏文件。</p>用 PdfPig 合并 PDF 最稳&#xff0c;别碰 iTextSharp 旧版直接说结论&#xff1a;C# 做 PDF 合并/…...

如何在网页中实现国际象棋棋子的拖拽与格点吸附功能.txt

MongoDB副本集节点卡在RECOVERING状态的根本原因只有两个&#xff1a;一是无法追上主节点oplog&#xff08;oplog过短或过旧&#xff09;&#xff0c;二是全量同步中途失败且未重试成功&#xff1b;其他如网络、磁盘、权限等问题只是诱因&#xff0c;不直接导致卡住。为什么 Mo…...

如何为禁用按钮点击添加提示文案

本文介绍在表单未满足条件时禁用“下一步”按钮&#xff0c;并通过原生 html5 表单验证或 javascript 动态控制&#xff0c;实现点击禁用按钮时显示友好提示信息的完整方案。 本文介绍在表单未满足条件时禁用“下一步”按钮&#xff0c;并通过原生 html5 表单验证或 javas…...

别再手动查资料了!用n8n+Ollama本地模型,5分钟搭建一个能聊能查的AI小助手

零成本打造隐私优先的智能助手&#xff1a;n8n与Ollama本地化实战指南 当ChatGPT等云端AI服务成为日常工具时&#xff0c;数据隐私和API成本问题逐渐浮出水面。上周有位金融从业者向我吐槽&#xff1a;"每次和客户讨论方案都要反复确认聊天记录是否包含敏感信息&#xff0…...

从‘人人开源’renren-generator看国内Java开源生态:一个代码生成器如何成为微服务项目标配?

从代码生成器到架构标配&#xff1a;renren-generator背后的Java生态进化逻辑 在2018年Spring Boot 2.0发布后的两年间&#xff0c;国内Java微服务项目中出现了一个有趣的现象&#xff1a;超过60%的中大型企业级项目技术栈中&#xff0c;都包含一个名为renren-generator的代码生…...

别再只懂Git了!SVN服务器在2024年的企业内网部署与权限配置实战指南

2024年企业内网SVN服务器部署与权限管控实战手册 金融行业的代码仓库最近遭遇了一次未授权访问事件——某核心业务系统的配置文件被开发人员误传至公开目录&#xff0c;导致敏感信息暴露。事后审计发现&#xff0c;该企业使用的分布式版本控制系统无法精确控制目录级权限。这正…...

汇川AM401 PLC 2ms高速采集实战:用PLC-Recorder V2.12.7搞定UDP时间戳(附完整CODESYS程序)

汇川AM401 PLC 2ms高速采集实战&#xff1a;UDP时间戳与PLC-Recorder深度整合指南 在工业自动化领域&#xff0c;毫秒级的数据采集已成为设备状态监控与工艺优化的基础需求。汇川AM401系列PLC搭配PLC-Recorder软件的组合&#xff0c;为工程师提供了经济高效的高速数据采集解决方…...

vi编辑器模式切换与高效操作指南

1. vi编辑器入门&#xff1a;为什么它值得学习 第一次接触vi编辑器的人可能会觉得它很反人类——没有图形界面、操作全靠键盘命令、连最基本的文本输入都要先切换模式。但正是这种看似"落后"的设计&#xff0c;让vi在Linux/Unix系统上存活了四十多年&#xff0c;成为…...

AXI vs AHB:从5个关键差异点看为什么现代SoC都选择AXI协议

AXI vs AHB&#xff1a;现代SoC设计中的协议选择与技术演进 在芯片设计领域&#xff0c;总线协议的选择往往决定了整个系统的性能上限。十年前&#xff0c;AHB&#xff08;Advanced High-performance Bus&#xff09;还是大多数SoC设计的主流选择&#xff0c;而今天&#xff0c…...

高效计算数据分析中的累计和

在数据分析和处理中,经常需要计算一些累计值,比如总扫描量、最近五天的扫描量以及某月至今的扫描量。面对日益增长的数据量,传统的每天全量计算方法逐渐显得效率低下。今天,我们将探讨如何使用PySpark的窗口函数来高效地处理这些计算需求。 背景介绍 假设我们有一个保险公…...

苍穹外卖技术解析:Day10-12来单提醒功能失效排查与修复

1. 来单提醒功能失效现象描述 最近在测试苍穹外卖系统时&#xff0c;发现一个严重影响用户体验的问题&#xff1a;当有新订单进来时&#xff0c;系统既没有弹出提示窗口&#xff0c;也没有语音播报提醒。这个问题出现在Day10-12版本的测试中&#xff0c;直接导致商家可能错过及…...

从祖冲之算法到LTE安全:手把手解析3GPP EEA3/EIA3的C语言实现与测试

从祖冲之算法到LTE安全&#xff1a;手把手解析3GPP EEA3/EIA3的C语言实现与测试 在移动通信领域&#xff0c;数据安全始终是核心议题。当我们使用4G LTE网络进行视频通话、移动支付或传输商业文件时&#xff0c;背后有两道看不见的防线在默默守护——EEA3加密算法和EIA3完整性保…...

FDTD进阶实战之Lumerical脚本数据操控(七):从获取到洞察的完整工作流

1. 从仿真数据到物理洞察的完整工作流 做光子晶体器件仿真最头疼的是什么&#xff1f;不是设置参数&#xff0c;不是等待计算&#xff0c;而是仿真完成后面对那一堆数据却不知道如何下手。我见过太多研究生盯着Lumerical的监视器数据发愣&#xff0c;明明仿真跑完了&#xff0c…...

5个关键步骤让Flash内容在现代系统中重新焕发生机

5个关键步骤让Flash内容在现代系统中重新焕发生机 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser CefFlashBrowser作为一款创新的Flash浏览器解决方案&#xff0c;完美解决了Flash技术退役…...