数据库与表空间
背景知识概述
数据库&模式
- “实例/集簇”金仓是一个单实例管多库,把多库的集合叫做集簇,他们共用一个集簇目录,比如data目录下面里的子目录的数据文件。
- 数据库里面有模式,在金仓里面模式是:据逻辑相关性对象的集合,就叫一个模式。
- 什么是逻辑相关性对象,比如这些:表、索引、视图……,就是模式对象
- 什么是模式对象,属于模式里面的对象,叫做模式对象
- 通常分为三级架构
- 数据库->数据库中的模式->模式中的对象
- 数据库包含多个模式的,每个模式也包含多个对象
- 在同一个模式里面,模式对象名,不可重名。不同模式可重名。
- 数据库集簇(Database Cluster)与数据库实例(Databse Instance)。
- KES 集簇是指单个KES实例管理的数据库的集合
- KES集簇中的库使用相同的全局配置文件和监听端口、共享相关的进程和内存结构
- 同一数据库 集簇中的进程、相关的内存结构统称为实例。
一个数据库管理一个集簇,同样,一个集簇被一个数据库管理
角色用户
用户和数据库都属于实例内部的对象,它们是平级的。实例内部我们称为全局性的对象。
- 金仓的用户数据库是属于实例级别的对象,它并不属于哪个数据库的。
这些箭头代表的是权限
用户是全局性的,而模式是属于数据库的
表空间
表空间给数据库里面多对多
表空间只是为了关联一个存储目录,最后通过对象数据表空间关联到它的存储目录,通过这么一个纽带把逻辑和物理关联起来
命令
列出表空间清单
\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文档: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++---------流类
格式化输入(cin的格式化) 基本用法与控制符 在C中,std::cin用于从标准输入(通常是键盘)读取数据。它默认以空白字符(空格、制表符、换行符)为分隔符来读取不同的数据。例如,读取两个…...
3、基本复用原理和复用单元
基本复用原理 字节间插复用: SDH 采用字节间插复用方式来构建更高等级的信号。这是一种将低速率信号按字节为单位依次插入到高速率信号帧结构中的复用方法。例如,将多个 STM - 1 信号复用成 STM - 4 信号时,是把 4 个 STM - 1 信号的字节依次…...

Vue与React:前端框架的巅峰对决
文章目录 一、引言(一)前端框架发展现状简述 二、Vue 与 React 框架概述(一)Vue.js 简介(二)React.js 简介 三、开发效率对比(一)Vue 开发效率分析(二)React …...
Java 中的面向对象编程 (OOP) 概念
引言 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它通过将数据和操作封装在一起,形成一个称为“对象”的实体来组织代码。Java 是一种完全支持 OOP 的语言,广泛应用于企业级应用开发。本文将深入…...

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

汽车IVI中控开发入门及进阶(44):杰发科智能座舱芯片
概述: 杰发科技自成立以来,一直专注于汽车电子芯片及相关系统的研发与设计。 产品布局: 合作伙伴: 杰发科技不断提升产品设计能力和产品工艺,确保产品达 到更高的质量标准。目前杰发科技已通过ISO9001质 量管理体系与CMMIL3认证。 杰发科技长期合作的供应商(芯片代工厂、…...
【py脚本+logstash+es实现自动化检测工具】
概述 有时候,我们会遇到需要查看服务器的网络连接或者内存或者其他指标是否有超时,但是每次需要登录到服务器查看会很不方便,所以我们可以设置一个自动脚本化工具自动帮助我们查看,下面我做了一个demo在windows上面。 一、py脚本 import s…...
Zookeeper的选举机制
Zookeeper的leader选举机制是基于ZAB(Zookeeper Atomic Broadcast)协议的,这是一种基于Paxos协议的变种,专门用于Zookeeper的分布式协调服务。 选举过程主要分为以下几个阶段: 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 排障
注: 本文为 “Linux IPV6 地址配置 | IPv6 禁用 | ping6 过程细节剖析 | IPv6 排障” 相关文章合辑。 Linux 服务器设备上配置 IPV6 地址方法 aischang 于 2018-08-25 12:56:25 发布 1. 手动执行命令配置: ifconfig em1 inet6 add 8888::a7/96 up2. 删…...
【YashanDB知识库】XMLAGG方法的兼容
本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7802943.html?templateId1718516 【关键字】 XMLAGG方法的兼容 【问题描述】 崖山数据库不支持将XMLAGG相关的函数内容,需要替换成支持的功能函数WM_CONCAT(T.COLUMN_NAME…...

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

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...

WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...