国产化 | 记一次基于达梦创建数据库模式思考过程

news2024/11/16 7:40:05

开篇

首先,我们先来了解一下达梦数据库中用户与模式的概念,以及用户与模式之间的关系。

用户:主要是用来登录连接数据库,以及操作数据库对象等等。

模式:数据库中相关对象的集合。

关系:用户(USER)和模式(SCHEMA)一对多,即一个用户可以拥有多个模式,而一个模式只能属于一个用户。

实战

数据库基本操作

新建用户,我们可以通过DM管理工具去创建,如图所示:

image.png

设置用户名、密码,定义表空间、索引表空间,如图所示:

image.png

温馨提示:若是对dm执行命令不熟悉的话,我们可以优先选择上述图中DM管理工具,依次按步骤执行即可。

https://eco.dameng.com/document/dm/zh-cn/start/dm-create-tablespace.html

这里,我们介绍下,如何通过命令执行?

CREATE TABLESPACE YD_BASE DATAFILE 'YD_BASE.DBF' SIZE 128;

CREATE USER YD_BASE IDENTIFIED BY "YDBASE2023" DEFAULT TABLESPACE YD_BASE;

GRANT RESOURCE TO YD_BASE;

在业务项目中使用jdbc连接如下所示:

url: jdbc:dm://127.0.0.1:5236?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=true&characterEncoding=UTF-8
username: YD_BASE
password: YDBASE2023

在微服务架构下,通常将各个业务粒度的数据存放于不同的空间内,多个数据库同时存在的场景亦比比皆是。这里需要注意的是,若是需要针对于不同的业务模块,实现按业务来做分库的效果。上述jdbc方式可以在SQL中不用指定模式.表名方式即可访问,但建议研发的童鞋使用模式名称.表名称规范起来,提高代码的可移植性。

在达梦数据库中,一个数据库用户建立之后会自动生成一个默认的模式,默认模式与用户名是相同的。

查询用户的信息:

SQL> select * from dba_users where username = 'SYSDBA';

image.png

查询用户拥有的模式

SQL> select a.name as username, b.name as schenma from sysobjects a inner join sysobjects b on a.id = b.pid where b.subtype$ is null order by username desc;

image.png

查询用户所属的角色

SQL> select * from dba_role_privs where grantee='SYSDBA';

image.png

查询角色权限信息:

SQL> select * from dba_sys_privs where grantee='PUBLIC';

image.png

通过上述命令,我们就能很清晰地看到用户的信息,以及用户拥有的模式,用户所属角色,以及角色权限范围。当出现没有查询xxx表的权限异常信息,我们也一样能迎刃而解。

示例:当前登录用户没有查询当前表的权限时,我们可以回到SYSDBA登录,重新授予相关权限即可。

grant select on table(表) to user(用户);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/799474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测评7大热门订房APP,用好结尾这三点,分分钟帮你省掉好多钱

出去旅行预订酒店的时候,相信大家都有过纠结,那么多订房渠道到底应该选哪家。难道要把每个APP都下载下来试一遍吗? 所以,今天笔者给大家带来各大订房APP的测评。 先说结论:仅从性价比来看,民宿优于酒店&a…

Cesium态势标绘专题-燕尾箭头(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

LeetCode | Bit Manipulation, heap | 190. 191. 136. 137. 201.215.

190. Reverse Bits 191. Number of 1 Bits 一个一个数就行了。比较简单。 136. Single Number XOR的点在于,两个一样的数字a^a,结果是0. 且XOR是可以换位置的,所以把所有东西XOR在一起,剩下的就是单呗的。 137. Single Number I…

Python GDAL为具有多个波段的大量栅格图像绘制像素随时间变化走势图

本文介绍基于Python中的gdal模块,对大量长时间序列的栅格遥感影像文件,绘制其每一个波段中、若干随机指定的像元的时间序列曲线图的方法。 在之前的文章Python中GDAL批量绘制多时相栅格遥感影像的像元时间序列曲线图(https://blog.csdn.net/z…

wireshark导出H264裸流

导出H264裸流 安装wireshark下载rtp_h264_extractor.lua脚本配置lua脚本重启wireshark筛选 安装wireshark 下载抓包工具:首先,您需要下载并安装一个网络抓包工具,例如Wireshark(https://www.wireshark.org)或tcpdump&…

开源数据库 | 记一次在麒麟操作系统上适配openGauss进阶之旅

引入 适配 | 认证-Kylin V10 ARM 麒麟操作系统openGauss数据库 开篇 1、数据库架构 百度百科:openGauss 是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全…

linux安装nginx遇到的报错

1、Linux如何修改只读文件(以设置自动连网为例) vim /etc/sysconfig/network-scripts/ifcfg-ens33 然后提示 E45:已设定选项“readonly”(请加!强制执行) 如果需要强制修改,可以使用&#xff0…

关于idea如何成功运行web项目

导入项目 如图 依次选择 file - new - Project from Existing Sources 选择存放的项目目录地址 如图 导入完成 点击ok 如图 依次选择 Create project from existing sources 点击next如图 ,此处默认即可 点击 next如图 点击next有该提示 是因为之前导入过…

抖音seo源码开发源代码开发技术分享

一、 抖音SEO源码开发,需要掌握以下技术: 抖音API接口:抖音提供了丰富的API接口,包括用户信息、视频信息、评论信息等。 数据爬取技术:通过抓包分析抖音接口的数据结构,可以使用Python等编程语言编写爬虫程…

Elasticsearch Query DSL

Elasticsearch Query DSL 这里使用的 Elasticsearch 的版本为 7.12.1。 1、基本概念 1.1 文档(Document) ElasticSearch 是面向文档的,文档是所有可搜索数据的最小单位,例如 MySQL 的一条数据记录。 文档会被序列化成为 json 格式,保存在…

B076-项目实战--宠物上下架 展示 领养 收购订单

目录 上下架功能提供后台宠物列表实现 前台展示前台宠物列表和详情展示店铺展示 领养分析前台后端PetControllerPetServiceImpl 订单需求分析可能产生订单的模块订单模块额外功能 订单设计表设计流程设计 集成基础代码收购订单创建订单前端后端 上下架功能提供 后台宠物列表实…

生成虚拟淘宝购买记录截图图片制作

大家都知道,淘宝购买记录截图在某些情况下非常重要,但手动制作却非常繁琐,耗费时间和精力。如果你也遇到了这个问题,那么不妨试试淘宝订单生成器,它能够帮助你轻松生成淘宝购买记录截图,提升工作效率。 虚拟…

Docker 容器高级操作

Docker容器高级操作 Docker容器创建、停止、启动、删除等基础操作上篇已述,然Docker容器被广大开发者青睐,不可能只有如此简单的功能,必有高阶功法。那么接下来 让我们一同走进容器操作的高级篇,领略其高级操作的魅力。 查看容器 docker ps -a | grep tomcat [root@tudou…

【数据结构】实验十:哈夫曼编码

实验十 哈夫曼编码 一、实验目的与要求 1)掌握树、森林与二叉树的转换; 2)掌握哈夫曼树和哈夫曼编码算法的实现; 二、 实验内容 1. 请编程实现如图所示的树转化为二叉树。 2. 编程实现一个哈夫曼编码系统,系统功能…

PingCAP 陈煜琦:深耕中国市场,构建客户成功生态

在 PingCAP 用户峰会 2023 上,PingCAP 副总裁陈煜琦分享了“激流入海,PingCAP 中国业务发展策略”的演讲,介绍了 PingCAP 在技术层面的发展方向,强调了 PingCAP 服务于中国企业客户的重要性,并介绍了 PingCAP 助力 客户…

Pytest学习教程_基础知识(一)

前言 pytest是一个用于编写和执行Python单元测试的框架。它提供了丰富的功能和灵活性,使得编写和运行测试变得简单而高效。 pytest的一些主要特点和解释如下: 自动发现测试:pytest会自动查找以"test_"开头的文件、类和函数&#x…

TEE GP(Global Platform)功能认证方案

TEE之GP(Global Platform)认证汇总 一、功能认证介绍 二、功能认证测试套和测试工具 1、“测试套件”是指由GlobalPlatform测试文档、测试脚本和/或其他材料组成的套件,基于给定的GlobalPlatform规范和相关配置,由GlobalPlatform发布,目的是…

【C++】类和对象-对象特性

1.构造函数和析构函数 2.函数的分类以及调用 以后采用括号法 int main() { /******************************************///test01();//test02();Person p;/******************************************/system("pause");return 0; }(1&#xff09…

行业追踪,2023-07-27

自动复盘 2023-07-27 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

linux系统下(centos7.9)安装Jenkins全流程

一、卸载历史版本 # rpm卸载 rpm -e jenkins# 检查是否卸载成功 rpm -ql jenkins# 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf二、环境依赖安装 yum -y install epel-releaseyum -y install daemonize三、安装Jenkins Jenkins官网传送带: …