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

数据库与表空间

背景知识概述

数据库&模式

  • “实例/集簇”金仓是一个单实例管多库,把多库的集合叫做集簇,他们共用一个集簇目录,比如data目录下面里的子目录的数据文件。
  • 数据库里面有模式,在金仓里面模式是:据逻辑相关性对象的集合,就叫一个模式。
    • 什么是逻辑相关性对象,比如这些:表、索引、视图……,就是模式对象
    • 什么是模式对象,属于模式里面的对象,叫做模式对象
    • 通常分为三级架构
      • 数据库->数据库中的模式->模式中的对象
  • 数据库包含多个模式的,每个模式也包含多个对象
  • 在同一个模式里面,模式对象名,不可重名。不同模式可重名。

  1. 数据库集簇(Database Cluster)与数据库实例(Databse Instance)。
    1. KES 集簇是指单个KES实例管理的数据库的集合
    2. KES集簇中的库使用相同的全局配置文件和监听端口、共享相关的进程和内存结构
    3. 同一数据库 集簇中的进程、相关的内存结构统称为实例。

一个数据库管理一个集簇,同样,一个集簇被一个数据库管理

角色用户

用户和数据库都属于实例内部的对象,它们是平级的。实例内部我们称为全局性的对象。

  • 金仓的用户数据库是属于实例级别的对象,它并不属于哪个数据库的。

这些箭头代表的是权限

用户是全局性的,而模式是属于数据库的

表空间

表空间给数据库里面多对多

表空间只是为了关联一个存储目录,最后通过对象数据表空间关联到它的存储目录,通过这么一个纽带把逻辑和物理关联起来

命令

列出表空间清单

\db+

表空间

创建表空间

我们首先要关心这个新建的表空间,它的存储位置在哪里,首先我们要创建一个存储目录。目录权限设置为700

mkdir db01
chmod 700 db01/

创建表空间的表名为 tbs01 及物理存储位置为 /home/kingbase/db01

create tablespace tbs01 location '/home/kingbase/db01';
  • 表名、存储位置路径可变,其他固定格式

如果遇到这种情况

要使用所属的用户进行划分。

创建成功后查看表空间,可以看见,tbs01表空间创建成功

来到存储位置目录下,可以看见多了一个不认识的目录名,使用下面命令

sys_controldata

可以看见目录名字是固定格式,对应的是版本号

修改表空间的属主

alter tablespace tbs01 owner to user01;

修改表空间的名称

alter tablespace tbs01 rename to tbs02;

创建数据库

指定关联的表空间

创建数据库的名字为oa,指定表空间为 tbs01

create database oa tablespace tbs01 ;

可以看见创建成功

关联字符集

也可以根据要求指定字符集创建:

create database oa encoding  tablespace tbs01 ;

查看oa数据库的详细信息

对比其他的数据库,可以看见只有oa数据库的表空间不是默认的

我们再返回目录查看,可以看见又多了一个目录

SYS_DATABASE 是在一个系统里的所有数据库共享的,也叫金仓数据字典

我们可以查询一下这个,就知道了为什么目录名为 16788

select oid,datname from sys_database;

可以看见这个oid刚好对应上了目录的名字

修改数据库

这个时候我们修改数据库db01 的表空间设置为 tbs01

alter database db01 set tablespace tbs01 ;

这个时候我们访问表空间的存储目录下,可以看见又多了一个目录,这个目录的名字就是对应着这个db01数据库的oid

这也说明了一个表空间可以对多个数据库同时使用

创建一个表

创建一个表名为 s2 关联的表空间为 tbs01 关联另一个表的信息语句为 as 后面的语句

create table s2 tablespace tbs01 as select * from exam.student ;

查看 s2 表的详细信息,可以看见大小

\dt+ s2

查看这个表的路径

select sys_relation_filepath('s2');

可以看见这个目录下我们并不认识

我们回到用户自定义表空间的管理位置data目录在这里

可以发现这个是软连接,对应上了

使用这个函数查询

select * from sys_tablespace;

可以看见表空间目录名字对应的id是16787

也就说明了为什么签名那个目录,为什么会是16787

创建表指定模式

关联查询语句
  • with no data; 不包含数据
create table schema01.s2 as select * from exam.student with no data;

修改

修改表的名字
alter table product rename to b;

修改一个表的表空间

修改 exam模块下的s1表的 表空间设置为 tbs01

alert table exam.s1 set tablespace  tbs01 ;

查看这个表详细的信息,可以看见它的表空间已经设置为 tbs01

修改表的模式

修改表的模块为schema01

alter table s1 set SCHEMA schema01;

插入表数据关联其他表的内容

insert into schema01.s1 select * from exam.student;

模式

创建一个模式

在oa数据库中创建一个模式名为 sch01

\c 
create schema sch01;

创建模式且指定属主设置

属主设置为u01

create schema schema01 authorization u01;

指定模式限定创建一个表

在oa数据库中的创建一个模式为 sch01 其中,这个模式的表为 t01

可以看见模式里的数据表创建成功

crate table sch01.t01(id int,name varchar(100));

插入指定模式的表的数据

手工插入

插入sch01模式中的t01表数据

insert into sch01.t01 values (1,'admin');

可以看见插入数据成功

可以看见这个t01表的模式是sch01

关联查询语句插入
insert into sch01.t01 select * from exam.student;

修改模式属性所属者

alter schema schema01 owner to u01;

模式路径

金仓数据库有默认模式路径,如果不指定模式查询,默认使用模式路径下的。

show search_path;

查看当前用户名,\echo :USER 查看USER变量

\dn 查看oa数据库中存在的模式,可以发现并没有存在system模式

指定搜索路径

set search_patch  = sch01;

可以发现查询sch01的t01表,不需要指定sch01模式,因为搜索路径,自动搜索了

相关文章:

数据库与表空间

背景知识概述 数据库&模式 “实例/集簇”金仓是一个单实例管多库,把多库的集合叫做集簇,他们共用一个集簇目录,比如data目录下面里的子目录的数据文件。数据库里面有模式,在金仓里面模式是:据逻辑相关性对象的集…...

【CSS in Depth 2 精译_091】15.4:让 CSS 高度值过渡到自动高度 + 15.5:自定义属性的过渡设置(全新)+ 15.6:本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第五部分 添加动效 ✔️【第 15 章 过渡】 ✔️ 15.1 状态间的由此及彼15.2 定时函数 15.2.1 定制贝塞尔曲线15.2.2 阶跃 15.3 非动画属性 15.3.1 不可添加动画效果的属性15.3.2 淡入与淡出 15.4 过…...

Oracle中间件 SOA之 OSB 12C服务器环境搭建

环境信息 服务器基本信息 如下表,本次安装总共使用1台服务器,具体信息如下: App1服务器 归类 APP服务器 Ip Address 172.xx.30.xx HostName appdev01. xxxxx.com Alias appdev01 OSB1服务器 归类 OSB服务器 Ip Address 172.xx3…...

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这…...

线性表实验

实验目的与要求 实验目的: 线性表的逻辑结构特点和线性表抽象数据类型的描述方法线性表的两类存储结构设计方法以及各自的优缺点掌握线性表的基本知识深入理解、掌握并灵活运用线性表。熟练掌握线性表的存储结构及主要运算的实现掌握栈的定义、栈的逻辑结构特性和…...

003无重复字符的最长子串

(https://i-blog.csdnimg.cn/direct/352cc4217764458f9a1510c62f89a91e.png)(https://i-blog.csdnimg.cn/direct/14239305bb5a4d068f323de7afc14086.png)...

记录--uniapp 安卓端实现录音功能,保存为amr/mp3文件

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 功能实现需要用到MediaRecorder、navigator.mediaDevices.getUserMedia、Blob等API,uniapp App端不支持,需要借助renderjs来实现 实现逻辑 通过naviga…...

前端生成docx文档、excel表格、图片、pdf文件

一、前端将页面某区域内容下载为word文档&#xff1a;html-to-docx、file-saver插件组合使用 import HTMLtoDOCX from html-to-docx; import { saveAs } from file-saver;const exportTest async () > {const fileBuffer await HTMLtoDOCX(<h2>文件标题</h2>&…...

c++---------流类

格式化输入&#xff08;cin的格式化&#xff09; 基本用法与控制符 在C中&#xff0c;std::cin用于从标准输入&#xff08;通常是键盘&#xff09;读取数据。它默认以空白字符&#xff08;空格、制表符、换行符&#xff09;为分隔符来读取不同的数据。例如&#xff0c;读取两个…...

3、基本复用原理和复用单元

基本复用原理 字节间插复用&#xff1a; SDH 采用字节间插复用方式来构建更高等级的信号。这是一种将低速率信号按字节为单位依次插入到高速率信号帧结构中的复用方法。例如&#xff0c;将多个 STM - 1 信号复用成 STM - 4 信号时&#xff0c;是把 4 个 STM - 1 信号的字节依次…...

Vue与React:前端框架的巅峰对决

文章目录 一、引言&#xff08;一&#xff09;前端框架发展现状简述 二、Vue 与 React 框架概述&#xff08;一&#xff09;Vue.js 简介&#xff08;二&#xff09;React.js 简介 三、开发效率对比&#xff08;一&#xff09;Vue 开发效率分析&#xff08;二&#xff09;React …...

Java 中的面向对象编程 (OOP) 概念

引言 面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09;是一种编程范式&#xff0c;它通过将数据和操作封装在一起&#xff0c;形成一个称为“对象”的实体来组织代码。Java 是一种完全支持 OOP 的语言&#xff0c;广泛应用于企业级应用开发。本文将深入…...

十二月第20讲:Python中指数概率分布函数的绘图详解

一、指数分布的理论概述 1. 定义与公式 指数分布是一种描述随机变量在一个固定底数上的对数值的分布情况&#xff0c;或者在概率理论和统计学中&#xff0c;用于描述泊松过程中事件之间的时间间隔的概率分布。具体来说&#xff0c;它表示事件以恒定平均速率连续且独立地发生的…...

汽车IVI中控开发入门及进阶(44):杰发科智能座舱芯片

概述: 杰发科技自成立以来,一直专注于汽车电子芯片及相关系统的研发与设计。 产品布局: 合作伙伴: 杰发科技不断提升产品设计能力和产品工艺,确保产品达 到更高的质量标准。目前杰发科技已通过ISO9001质 量管理体系与CMMIL3认证。 杰发科技长期合作的供应商(芯片代工厂、…...

【py脚本+logstash+es实现自动化检测工具】

概述 有时候&#xff0c;我们会遇到需要查看服务器的网络连接或者内存或者其他指标是否有超时&#xff0c;但是每次需要登录到服务器查看会很不方便,所以我们可以设置一个自动脚本化工具自动帮助我们查看&#xff0c;下面我做了一个demo在windows上面。 一、py脚本 import s…...

Zookeeper的选举机制

Zookeeper的leader选举机制是基于ZAB&#xff08;Zookeeper Atomic Broadcast&#xff09;协议的&#xff0c;这是一种基于Paxos协议的变种&#xff0c;专门用于Zookeeper的分布式协调服务。 选举过程主要分为以下几个阶段&#xff1a; 1.初始化阶段 当一个新的Zookeeper服…...

2024-05-18 前端模块化开发——ESModule模块化

目录 1、认识 ES Module2、ES Module基本使用3、export关键字 3.1、导出方式一——直接导出3.2、导出方式二——通过as起别名3.3、导出方式三——定义的时候就直接导出 4、import关键字 4.1、导入方式一——直接导入4.2、导入方式二——通过as起别名4.3、导入方式三——可以给…...

Linux IPV6 地址配置 | IPv6 禁用 | ping6 过程细节剖析 | IPv6 排障

注&#xff1a; 本文为 “Linux IPV6 地址配置 | IPv6 禁用 | ping6 过程细节剖析 | IPv6 排障” 相关文章合辑。 Linux 服务器设备上配置 IPV6 地址方法 aischang 于 2018-08-25 12:56:25 发布 1. 手动执行命令配置&#xff1a; ifconfig em1 inet6 add 8888::a7/96 up2. 删…...

【YashanDB知识库】XMLAGG方法的兼容

本文内容来自YashanDB官网&#xff0c;原文内容请见 https://www.yashandb.com/newsinfo/7802943.html?templateId1718516 【关键字】 XMLAGG方法的兼容 【问题描述】 崖山数据库不支持将XMLAGG相关的函数内容&#xff0c;需要替换成支持的功能函数WM_CONCAT(T.COLUMN_NAME…...

echarts加载区域地图,并标注点

效果如下&#xff0c;加载了南海区域的地图&#xff0c;并标注几个气象站点&#xff1b; 1、下载区域地图的JSON&#xff1a;DataV.GeoAtlas地理小工具系列 新建nanhai.json&#xff0c;把下载的JSON数据放进来 说明&#xff1a;如果第二步不打勾&#xff0c;只显示省的名字&a…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...