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

GBase 8s 之 dbschema 导出数据库对象定义介绍

在数据库管理和开发过程中经常需要导出数据库对象的定义以便进行备份、迁移或分析。GBase 8s 提供了 dbschema 工具能够方便地导出各种数据库对象的定义。本文将详细介绍 dbschema 的使用方法帮助你快速掌握这一实用工具。前提DBA 用户或对数据库具有 Connect 或 Resource 权限才可对数据库运行 dbschema。作用dbschema显示复制数据库对象所需的 SQL 语句模式可以用于以下用途显示 UPDATE STATISTICS 语句创建的分发。显示 Information Schema 视图的模式显示用于创建对象例如数据库、表、序列、同义词、存储空间、块、日志、角色和特权的模式显示用于创建对象例如数据库、表、序列、同义词、角色和特权的模式显示为数据库中的一个或多个表存储的分发信息显示有关用户定义的数据类型和行类型的信息命令格式dbschema { [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname][-hd tabname] -d dbname [-seq sequence] [-o package_name or proc_name or all] [-l [num]] [-dlk dblinkname] [[-u[i|a] udtname] | [-u all]] [-it [Type]] [-ss [-si]] [filename] [-sl length] [-nw] } { [-q] -c [-ns] [filename] }命令参数-q Suppress the db version from header.不显示header中的数据库版本-t table name or all for all tables.指定表名all指定所有表-s synonyms created by user name or all for all users.生成该用户所创建同义词的信息all指定所有用户-p permissions granted to user name or all for all users.生成该用户被授予权限的信息all指定所有用户-r create and grant of the role or all for all roles :Not a valid option for SE.生成该角色创建和授予权限的信息all指定所有角色-f SPL routine name or all for all SPL routines.指定SPL例程名all指定所有SPL例程-hd Histograms of the distribution for columns of of a specified table, a specific table column, or all for all tables.生成表的所有列、表的某列的分发信息all指定所有表-d database name.指定数据库名-seq generate sequence specific syntax.生成指定序列对象的定义-ui Prints the definition of a user-defined data type, including type inheritance.打印用户定义数据类型的定义包括类型继承-ua Prints the definition of a user-defined data type, including functions and casts defined over an opaque or constructor type.打印用户定义数据类型的定义包括定义在不透明或构造类型上的函数和转换-u all Prints the definitions of all user-defined data types, including all functions and casts defined over the types.打印所有用户定义数据类型的定义包括定义在类型上的函数和转换-it Type of isolation can be DR, CR, CS, RR or LC.设置隔离类型可选项DR, CR, CS, RR或LCDR Dirty Read脏读等同于TRANSACTION_READ_UNCOMMITTEDCR Committed Read已落实读等同于TRANSACTION_READ_COMMITTEDCS Cursor Stability游标稳定性等同于TRANSACTION_READ_COMMITTEDRR Repeatable Read可重复读等同于TRANSACTION_REPEATABLE_READLC Committed Read LAST COMMITTED已落实读上次落实等同于TRANSACTION_LAST_COMMITTED-l set lock mode to wait [number] optional.设置锁等待时长为[number]秒-ss generate server specific syntax.生成特定于服务器的信息-si excludes the generation of index storage clauses for non-fragmented tables.排除为非分区表生成索引存储子句-sl the maximum length (in bytes) of unformatted CREATE TABLE and ALTER RAGMENT statements.指定未格式化的CREATE TABLE和ALTER RAGMENT语句的最大长度以字节为单位filename the name of file that the SQL script goes in.文件名是 SQL 脚本保存的文件名。-c generate storage space and logical log definitions.生成存储空间和逻辑日志定义-ns generate commands in non-sql format.以非 SQL 格式生成命令-nw generate file with no specified owner.生成未指定所有者的情况下创建对象的定义-o Package routine name or all for all packages.指定包例程名all指定所有包-dlk dblink name指定数据库链接名使用示例示例版本GBase8sV8.8_3.6.1_11.导出数据库中指定表/视图的定义dbschema -d db_name -t tab_name/view_name # 输出到命令行dbschema -d db_name -t tab_name/view_name db.sql # 输出到当前路径的db.sql文件dbschema -d db_name -t tab_name/view_name -ss db.sql # 输出该表更详细的定义到db.sql文件注dbschema -ss 选项生成特定于服务器的信息。在除 SE 以外的所有 GBase 8s 数据库服务器中-ss 选项总是生成锁定方式、扩展数据块大小以及数据库空间名称如果数据库空间名称与数据库的数据库空间不同。另外如果表被分片那么-ss 选项将显示有关分片存储策略的信息。指定 dbschema -ss 选项时输出还会显示为特定用户或在整个模式中发出的所有 GRANT FRAGMENT 语句。只有和-ss 选项一起使用时才可用的-si 选项为非分段表排除索引存储子句的生成。如果数据库空间包含多重分区将在输出中显示数据库空间分区名称。示例1创建分区表tabrrage1_12输出分区表tabrrage1_1的定义3使用-ss选项输出分区表tabrrage1_1的详细定义包括有关分片表、锁定方式以及扩展数据块大小的信息2.导出数据库中所有的表/视图/触发器的定义参数 -t all 导出所有表对象及涉及触发器Oracle模式下创建的触发器导出格式为Oracle 语法dbschema -d db_name -t all db.sql示例[gbasedbtgbase201 gbase361_1]$ dbschema -d testdb -t all db_t.sql Your evaluation license will expire on 2025-07-10 00:00:00 DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1TL [gbasedbtgbase201 gbase361_1]$ vim db_t.sql3.导出数据库中GBase模式下函数/存储过程的定义dbschema -d db_name -f func_name/proc_name db.sql # 指定GBase模式下创建的函数或存储过程名 dbschema -d db_name -f all db.sql # 导出GBase模式下创建的全部函数和存储过程示例[gbasedbtgbase201 gbase361_1]$ dbschema -d testdb -f g_func1 DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1TL CREATE FUNCTION gbasedbt.g_func1() RETURNS int BEGIN --enter function body here END END FUNCTION ; [gbasedbtgbase201 gbase361_1]$ dbschema -d testdb -f all db_f.sql DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1TL [gbasedbtgbase201 gbase361_1]$ vim db_f.sql4.导出数据库中Oracle模式下函数/存储过程/包的定义-o 对象名例如-o pkg1导出指定数据库对象-o all导出ORACLE模式下创建的所有包、存储过程、函数等数据库对象dbschema -d db_name -o func_name/proc_name/pkg_name db.sql # 指定Oracle模式下创建的函数、存储过程或包名 dbschema -d db_name -o all db.sql # 导出Oracle模式下创建的全部函数、存储过程和包示例[gbasedbtgbase201 gbase361_1]$ dbschema -d testdb -o o_func1 DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1TL set environment sqlmode oracle; CREATE OR REPLACE FUNCTION o_func1 (c IN NUMBER) RETURN NUMBER IS BEGIN RETURN 100; END ; / set environment sqlmode gbase; [gbasedbtgbase201 gbase361_1]$ dbschema -d testdb -o all db_o.sql DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1TL [gbasedbtgbase201 gbase361_1]$ vim db_o.sql5.导出数据库中对用户或角色的授权信息dbschema -d db_name -p use_rname # 指定用户 dbschema -d db_name -p all # 导出所有用户的授权信息 dbschema -d db_name -r role_name # 指定角色 dbschema -d db_name -r all # 导出所有角色的授权信息6.导出数据库中的所有对象的定义使用 dbschema 且只指定了数据库名称时等同于使用带所有选项除了-hd 和 -ss 选项的 dbschema。另外如果为数据库创建了“信息模式”视图那么将显示此模式。dbschema -d db_name # 导出数据库的所有对象 dbschema -d db_name -ss # 包括有关分片表、锁定方式以及扩展数据块大小的信息

相关文章:

GBase 8s 之 dbschema 导出数据库对象定义介绍

在数据库管理和开发过程中,经常需要导出数据库对象的定义,以便进行备份、迁移或分析。GBase 8s 提供了 dbschema 工具,能够方便地导出各种数据库对象的定义。本文将详细介绍 dbschema 的使用方法,帮助你快速掌握这一实用工具。…...

GBase 8a之替换字符串中中文的方法

主要解决问题字符串中存在中文,将中文识别出来,并替换为想要的字符串。实现原理(1)用REGEXP_REPLACE函数,将字符串里的中文字符替换为所需要的字符串。(2)正则表达式[\u4e00-\u9fa5]用于匹配中文…...

【GVA】商业级综合后台的整体技术生态和功能拼图

GVA(Gin-Vue-Admin)正是一个完美的“全家桶教科书”。我们来了解一下这个综合后台里最核心的 8 大技术拼图。让我们一起去摸清这些组件的职责一、 综合后台的 8 大硬核技术拼图1. 配置管理中心 —— Viper“你们项目的配置文件(MySQL、Redis …...

ARM架构ELR_EL2寄存器原理与应用详解

1. ARM架构异常处理机制概述在ARMv8/ARMv9架构中,异常处理是实现系统可靠性和安全性的核心机制。每当处理器遇到中断、陷阱或故障时,就会暂停当前执行流,转而执行预先定义的异常处理程序。这种机制不仅用于处理硬件错误,更是实现操…...

ARM架构定时器系统原理与优化实践

1. ARM架构定时器系统深度解析在嵌入式系统和实时操作系统中,精确的时间控制是系统可靠性的基石。ARM架构提供了一套完整的定时器硬件机制,通过系统寄存器实现对时间管理的精细化控制。这些定时器不仅用于基础的计时功能,更是任务调度、性能分…...

高性能鼠标跟随动画实现:从基础原理到mouse-follower库实战

1. 项目概述:一个丝滑的鼠标跟随器最近在重构一个个人作品集网站,想在交互细节上增加一些趣味性和现代感。一个常见的想法是:让鼠标光标不再是那个单调的箭头或小手,而是变成一个自定义的、带有动效的图形,并且这个图形…...

串口数据监控软件开发总结

1.飞控发送太快,串口传输太慢,导致大量数据包粘包,残包,丢失 本次针对串口数据解析,就使用了一个1k的buf作为缓冲,用递归函数解包,打包。线程只做读取,单独开子线程处理数据。 2套半…...

CircuitPython REPL与库管理:嵌入式开发交互调试与项目部署实战

1. CircuitPython REPL:嵌入式开发的交互式利器在嵌入式开发的世界里,传统的“编写-编译-烧录-调试”循环常常令人望而生畏,尤其是当你只是想快速验证一个传感器读数,或者测试某个引脚的电平状态时。CircuitPython 带来的 REPL 环…...

CircuitPython硬件编程入门:从GPIO控制到I2C传感器应用

1. 项目概述:从Python到硬件的桥梁如果你和我一样,是从软件世界一脚踏进硬件领域的,那你肯定也经历过那种面对一堆引脚、电阻和传感器时的茫然。几年前,当我第一次尝试让一个LED灯闪烁时,我发现自己被困在了复杂的C语言…...

LinkSwift:高效解锁八大网盘直链下载的完整实用指南

LinkSwift:高效解锁八大网盘直链下载的完整实用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

基于DNS的TEE认证革新:原理、实现与性能优化

1. 项目概述:基于DNS的TEE认证革新在云计算安全领域,可信执行环境(TEE)技术正经历着从专用场景向通用基础设施的演进。传统TEE认证方案如RA-TLS存在两个根本性缺陷:一是依赖客户端主动验证硬件证明,导致非T…...

Adafruit IO与WipperSnapper:无代码物联网开发实战指南

1. 项目概述与核心价值 如果你正在寻找一种能快速将硬件原型转化为可远程监控和控制的物联网设备的方法,那么Adafruit IO与WipperSnapper的组合绝对值得你花时间深入了解。这套方案的核心魅力在于,它几乎移除了传统物联网开发中最繁琐的环节——固件编程…...

AI时代的“新铁饭碗”:那些机器越强、人越贵的岗位

——写给软件测试从业者的未来指南当AI能够在90秒内完成一份测试报告的初稿,当大语言模型可以自动生成覆盖边界值的测试用例,许多软件测试从业者内心都升起过一丝隐忧:我们会被取代吗?这种焦虑并非空穴来风。2025年的行业数据显示…...

第十一篇:《性能压测基础:JMeter线程模型与压测策略设计》

完成了接口功能测试后,我们将正式进入性能压测领域。性能压测的核心是模拟真实用户并发访问,评估系统在不同负载下的响应能力。本文将从 JMeter 的线程模型出发,讲解如何设计合理的压测策略(基准测试、负载测试、稳定性测试&#…...

对比直接使用原厂API体验Taotoken在批量任务中的稳定性与成本优势

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用原厂API体验Taotoken在批量任务中的稳定性与成本优势 在需要高频调用大模型API的自动化内容生成项目中,开…...

标注数据集保姆级教程:从入门到排名第一,看这一篇就够了

一、常见坑与避雷第一,过度依赖众包导致标签质量参差不齐。企业往往以价格为先,忽视了众包工人对领域术语的理解深度,从而造成模型召回率下降7%。第二,缺乏统一标注工具链。使用Excel、Word等异构工具会让数据格式碎片化&#xff…...

轻量级Web数据采集框架harvest:模块化设计与异步爬虫实践

1. 项目概述:一个轻量级、可扩展的Web数据采集框架最近在做一个需要从多个网站定期抓取数据的小项目,一开始想用现成的爬虫框架,但发现要么太重,要么定制起来太麻烦。后来在GitHub上翻到了一个叫tfukaza/harvest的项目&#xff0c…...

从SNAP到ENVI:手把手教你处理哨兵2A数据并计算6种植被指数(附完整代码)

从SNAP到ENVI:哨兵2A数据处理与六种植被指数全流程实战指南 在遥感生态监测领域,哨兵2A数据因其10-60米的空间分辨率和13个光谱波段的丰富信息,已成为植被动态研究的重要数据源。然而从原始数据到可用指标,需要经历复杂的预处理和…...

DeepSeek LeetCode 2376.统计特殊整数 C实现

以下是 LeetCode 2376 题「统计特殊整数」的 C 语言实现:解法一:数位 DP(记忆化搜索)c int dfs(int pos, int mask, int isLimit, int isNum, char* digits, int m, int*** memo) {if (pos m) {return isNum ? 1 : 0;}// 只有非…...

Arduino与CircuitPython通过SPI Flash和FATFS实现数据无缝交换

1. 项目概述与核心价值在嵌入式开发领域,数据存储与交换一直是个绕不开的经典话题。无论是记录传感器数据、保存设备配置,还是实现固件的在线更新,我们都需要一个可靠、高效且易于管理的存储方案。SPI Flash芯片以其小巧的体积、低廉的成本和…...

基于Next.js与MDX构建现代化静态博客:技术选型与实战指南

1. 项目概述:一个面向开发者的现代化博客引擎 如果你是一名前端开发者,或者对使用 React 生态构建个人博客、技术文档站点感兴趣,那么 leerob/next-mdx-blog 这个项目绝对值得你花时间深入研究。这不是一个简单的博客模板,而是…...

从零到一:在RK3588 Ubuntu系统上搭建完整的RKNN开发与部署环境

1. 环境准备:从零开始配置RK3588开发板 拿到一块全新的RK3588开发板时,第一件事就是确保基础系统就绪。我建议使用Ubuntu 20.04.5 LTS版本,这个版本经过Rockchip官方充分验证,稳定性有保障。记得先连接好电源和网线,通…...

如何为OBS音频源集成专业VST插件:提升直播音质的终极指南

如何为OBS音频源集成专业VST插件:提升直播音质的终极指南 【免费下载链接】obs-vst Use VST plugins in OBS 项目地址: https://gitcode.com/gh_mirrors/ob/obs-vst OBS-VST是一款革命性的开源插件,它让OBS Studio用户能够在直播和录制过程中直接…...

【NotebookLM视觉增强实战指南】:20年CV专家亲授5大落地场景与避坑清单

更多请点击: https://intelliparadigm.com 第一章:NotebookLM计算机视觉辅助概述 NotebookLM 是 Google 推出的基于 LLM 的笔记增强工具,原生聚焦于文本理解与推理。当其与计算机视觉(CV)能力结合时,可通过…...

合宙ESP32C3 Flash模式进阶:从DIO到QIO的性能跃迁与实战避坑

1. ESP32C3 Flash模式基础:从DIO到QIO的本质差异 第一次接触ESP32C3的开发者可能会疑惑:为什么Flash访问模式会影响性能?这要从ESP32的XiP架构说起。XiP全称eXecute in Place,意味着代码直接从外部Flash执行,而不是像传…...

Claude 3 Opus实测崩坏点曝光:在长上下文推理、多跳代码生成、非英语任务中遭遇的3大性能断层及绕行方案

更多请点击: https://intelliparadigm.com 第一章:Claude 3 Opus性能评测全景概览 Claude 3 Opus 是 Anthropic 推出的旗舰级大语言模型,以卓越的推理深度、长上下文处理(200K tokens)和多轮对话稳定性著称。在多项权…...

基于MPU6050角速度动态阈值的自适应计步算法实现

1. MPU6050与动态计步算法入门 你可能已经见过各种智能手环和运动设备的计步功能,但有没有想过它们是如何准确统计步数的?今天我要分享的是一种基于MPU6050传感器的动态阈值计步算法实现。这种方案特别适合手环、腿环这类穿戴设备,核心思路是…...

opencode无网环境-引用上下文失效问题

问题 由于公司在内网环境开发,没有网络,安装了 opencode 后发现用 无法自动索引出项目文件,导致每次要指定项目文件的时候都得复制全路径。 环境 opencode1.3.6 原因 opencode 是用 ripgrep 扫描和索引文件系统的,启动 open…...

别再只盯着PCA了!用Python手写LDA降维,实战区分鸢尾花数据集

别再只盯着PCA了!用Python手写LDA降维,实战区分鸢尾花数据集 当数据科学家面对高维数据时,降维技术就像一把瑞士军刀。虽然主成分分析(PCA)几乎成了降维的代名词,但在分类任务中,线性判别分析(LDA)往往能带来意想不到的…...

如何快速激活Windows和Office:使用KMS_VL_ALL_AIO智能脚本的完整指南

如何快速激活Windows和Office:使用KMS_VL_ALL_AIO智能脚本的完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活而烦恼吗?想要免费激活Office…...