晟数学苑
文章平均质量分 72
荟萃业内名师,培养数据英才!
Sandata!
荟萃业内名师,培养数据英才!
展开
-
Mysql 8.0 OGG21C 安装使用
OGG安装环境介绍,为了节省资源OGG我选择和原库安装在了同一台服务器软件版本IP地址OGG21.3192.168.2.251Mysql8.0.11192.168.2.251Mysql8.0.11192.168.2.2521.1 解压ogg的安装包上传并解压mysql ogg安装包,无需安装解压即可使用# mkdir /ogg# unzip 213000_ggs_Linux_x64_MySQL_64bit.zip# tar -xvf ggs_Linux原创 2021-12-08 15:45:03 · 535 阅读 · 0 评论 -
PostgreSQL 跨数据库实例之间的数据访问
前言PostgresSQL 作为单示例多数据库,通常一个数据库实例会包含多个表空间和数据库,一个表空间可以存放多个数据库,在此关系中,一个表空间可以包含多个数据库,但是一个数据库只能属于一个表空间,不能跨表空间存放。而表空间是一个逻辑概念,实质上在 PostgresSQL 中,一个表空间实际上就是一个可以供安装 PostgresSQL 用户读写的目录,所以,一个数据库集簇的最大大小取决于组成数据库的这些表空间所对应目录大小的总和大小。那么这些多个数据库组成的数据库集簇可以用来隔离不同业务的数据,同时,也方原创 2021-11-29 15:40:01 · 2500 阅读 · 0 评论 -
掌握TiUP工具 之 启停TiDB集群节点
TiUP工具简介从 TiDB 4.0 版本开始,TiUP 作为新的工具,承担着包管理器的角色,管理着 TiDB 生态下众多的组件,如 TiDB、PD、TiKV 等。用户想要运行 TiDB 生态中任何组件时,只需要执行 TiUP 一行命令即可,相比以前,极大地降低了管理难度。使用TiUP工具可以很轻松的对TiDB集群进行日常运维工作,如果我们想启停TiDB集群中的某一台服务器,可以使用文章中的操作流程。停止TiDB集群节点首先使用 "tiup cluster display "命令查看TiDB集群信原创 2021-09-28 09:39:06 · 1756 阅读 · 0 评论 -
Oracle21C 单机安装
一、说明本次安装将使用Oracle通用安装程序(OUI)安装Oracle数据库软件以及数据库1.1 Linux 下Oracle操作系统要求Oracle Linux 8.1 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.0.7.el8uek.x86_64 or laterOracle Linux 8 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or laterOra.原创 2021-09-06 11:17:22 · 5122 阅读 · 2 评论 -
MySQL 有关用户密码
MySQL 介绍MySQL 是由Oracle Corporation 开发和发行的最流行的数据库管理系统。MySQL 网站地址为: www.mysql.com,提供最新的MySQL软件包及相关工具的下载。MySQL 是一个数据库管理系统,数据库是由数据的集合构成。MySQL 是关系型数据库,关系型数据库存储数据在单独的一系列表中,而不是将数据存储在一个大的存储空间中。数据库的结构是被组织在快速的优化后的物理文件中。逻辑模型和对象如数据库、表、视图、行和列,提供了灵活的编程环境。MySQL 的 SQL 部分原创 2021-08-25 15:12:38 · 620 阅读 · 0 评论 -
记一次oracle HAIP引发的数据库问题
No connectivity to other instances in the cluster during startup. Hence, LMON is terminating the instance. Please check the LMON trace file for details. Also, please check the network logs of this instance along with clusterwide network health for problems原创 2021-08-16 11:45:32 · 574 阅读 · 0 评论 -
使用TIDB BR工具进行数据库备份
1、 下载tidb工具包注意下载的版本,我选择现装到tidb节点[root@tidb ~]# wget https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz2、 创建备份目录注意:请在执行备份命令的节点及所有KV节点创建备份目录,本地节点会存放备份产生的锁文件, tidb是多副本结构,所以每一个存放数据的kv节点都会产生备份。[root@kv1 /]# mkdir /bakcup[root@kv1 /]# ch原创 2021-08-06 09:39:49 · 867 阅读 · 0 评论 -
PostgreSQL 中系统表 pg_attribute 膨胀现象
说明 PostgreSQL 一览表 pg_attribute存储关于表列的信息,数据库中每张表中的行都会对应在该系统表 pg_attribute 中。既然存储的是数据库中表字段相关的信息,那么对表所做的修改都会通过该表记录。如创建表指定的列,修改表,修改表的数据类型等等。创建自定义函数查看某张表的信息postgres=# CREATE OR REPLACE FUNCTION f_get_table_column_info(varchar,varchar)postgres-# RETURNS T原创 2021-07-26 10:36:05 · 721 阅读 · 0 评论 -
PostgreSQL中的GENERATED COLUMN
什么是 GENERATED COLUMNGENERATE COLUMN 是一个在 CREATE TABLE 时指定的标识列(特征列)。该列将会附着一个隐藏的序列,并且在插入数据时以默认的隐藏序列为数据行进行插入。该列默认约束为 NOT NULL 约束。该列后有可选 GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence _ options ) ]关键字。如果使用 ALWAYS 关键字,当在使用 INSERT 语句时接受 OVERRID原创 2021-07-21 16:09:11 · 1259 阅读 · 1 评论 -
PostgreSQL小工具脚本
授权某个用户对所有数据库下的schema的访问权限可根据实际需求修改#!/bin/bash#Defining connection information#Default user posgres#Author:Songshaohua#Date:2020-07-08#Version:defaultfunction Usage(){ if [ $# -ne 1 ];then echo "Usage: sh $0 需要被授权的用户" exit 999原创 2021-07-12 10:49:38 · 2708 阅读 · 0 评论 -
PostgreSQL 对象管理
概述PostgreSQL 中的所有数据都存储在对应的文件中,即我们常见到的文件。这些用来存储数据的文件共同构成了 PostgreSQL 整个数据库集簇,而数据库集簇是对 PostgreSQL 中多个数据库组成的集合的称呼。而在逻辑上,PostgreSQL 所有的数据库都是隶属于某个表空间,并且单个数据库不能跨表空间,而一个表空间中可以存放多个数据库。表空间和数据库的关系属于多对多的关系。那么数据库中的数据是如何存放在数据文件中的呢?接下来一起探究。理解 oid 和 relfilenode 的关系在 P原创 2021-07-09 15:07:32 · 229 阅读 · 0 评论 -
如何对TiDB进行在线扩容
1、 检查集群状态[root@tidb ~]# tiup cluster display sandata我们发现集群里只有1个TIDB节点,根据官方手册要求生产环境最少需要两个TIDB节点所以我们进行在线扩容添加一个TIDB节点。2、 创建扩容文件scale-out-tidb.yaml这里我们复制topology.yaml文件的tidb部分内容进行修改,如果找不到topology.yaml文件也可以去官方文档查找对应的参数,将注释去掉不需要的部分也删掉,注意格式,有可能格式不对会报错,目录端口根原创 2021-07-06 10:21:52 · 798 阅读 · 0 评论 -
【晟数学院】PostgreSQL—greenplum使用gpcopy数据传输方案
更多精彩内容,请登录:ke.sandata.com.cn一 架构基础环境主机mdw和备机mdwbak节点对等,都采用2+4架构。1.1 主机列表1.2 CPU及内存所有节点都采用华为云服务器,CPU核心数为16核心,内存为32G,节点总数为12。主机备机都采用内部万兆网络。磁盘为单独挂载磁盘,采用高性能IO磁盘,实际最高读写性能为350M/s。1.3 计算节点和镜像节点计算节点primary数量为主备机都为24,镜像节点mirror数量为主备机都为24,总节点数量为48。1.4 数据库版本原创 2021-04-20 15:59:47 · 435 阅读 · 0 评论 -
【晟数学院】PostgreSQL数据库—pgweb网站工具使用
pgweb简介pgweb是用Python语言使用 Django框架构建而成。同时该网站也使用bootstrap CSS框架以及Font Awesome 图标库。pgweb中的大多数内容都是静态的HTML模板,如果需要对web页面进行编辑,只需要对 template/pages/ 目录下的内容进行编辑。安装1. 准备Python环境安装Python3.7环境./configuremake -j24make install -j24[root@pgserver ~]# python3 --ver原创 2021-03-30 10:41:30 · 798 阅读 · 0 评论 -
【晟数学院】多台机器之间一键化互信脚本实现—PostgreSQL数据库
前言在生产环境中,尤其是集群之间,为了能够使机器之间免密访问,通常需要配置ssh keys 互信,一两台机器手动也会很快处理好,但如果是多台机器,手动做互信就显得有点力不从心了,有可能还会配置错误,为了能够一键化完成自动配置,以下使用shell脚本实现自动互信过程。一、实现脚本脚本名称为:autoexssh.sh,执行脚本前需要在各个服务器上安装expect包,可以使用yum方式安装,也可以使用源码编译安装,Depend On You 。#!/bin/bash##################原创 2021-04-07 12:01:28 · 219 阅读 · 0 评论 -
Greenplum 数据同步方案—PostgreSQL技术文章晟数
更多精彩文章,请登录:ke.sandata.com.cn一、目的当前现有服务器状态为同机房两套 Greenplum 集群,节点数为 2 + 4。为满足未来灾备中心建设,需要构架高可用架构方案,以满足未来在生产系统集群出现不可恢复状态下,备用集群可以完全接管生产系统集群,以实现高可用架构。二、方案目前方案分为以下两种,一种为数据实时同步高可用方案,一种为允许数据同步有一定的延迟状态。2.1 数据实时同步高可用架构(本文省略)架构图如下(不做说明)当主机中心由于不可抗拒因素或者硬件及认为因素不可原创 2021-04-13 15:54:28 · 1598 阅读 · 2 评论 -
PostgreSQL HLL插件介绍—晟数学院
更多精彩内容:请登录ke.sandata.com.cn前言HLL是 HyperLogLog数据结构的简称。PostgresSQL通过插件的方式引入了这种新的数据类型hll。HyperLogLog是一个具有固定大小,类似于集合结构,用于可调精度的不同值计数。例如,在1280字节的hll数据结构中,它可以在很小的误差范围内估算出数百亿的不同值计数。算法hll可以被视为层次结构的不同集合/不同值计数算法的组合,并向上移动该层次结构的规则。为了区分上述描述算法,将其命名为以下:♠ EMPTY表示空集的常原创 2021-02-26 11:28:13 · 880 阅读 · 0 评论 -
晟数数据库技术文章-Oracle Database-别无选择时的EXP导出数据手记
更多精彩内容,请登录:ke.sandata.com.cn如今已经是Oracle Database 21c的时代了,你是否还考虑过使用EXP/IMIP这些9i中的工具呢?其实在特殊的场景中,这些看似“老的工具”,也是可以帮助你解决棘手的问题。比如:可以在数据库只读模式下,导出数据等。又或者将其应用在我下文中所描述的场景中。进入正题,某客户找到我,描述了其数据库无法启动的故障,经过分析得出数据库软件被注入了恶意的代码,导致TAB$表数据被删除,从而无法启动数据库,告警日志里面的输出如下:Errors原创 2021-02-05 11:35:16 · 127 阅读 · 0 评论 -
PGCM-PostgreSQL备份工具 pgBackRest使用
前言pgBackRest是一款开源的备份还原工具,目标旨在为备份和还原提供可靠易用的备份。特性并行备份和还原备份操作期间压缩通常是其瓶颈所在。pgBackRest通过并行处理解决了备份期间压缩出现的瓶颈问题。本地远程操作自定义协议允许 pgBackRest以最小化配置通过SSH在本地或者远程执行备份、还原和归档。并且该程序也通过协议层提供了PostgreSQL查询接口,以便于必须要再远程访问PostgreSQL,从而保证了其安全性能。全量,增量和差异备份支持全量,增量和差异备份。pgBack原创 2021-01-22 11:20:47 · 852 阅读 · 0 评论 -
PostgreSQL查找需要收集的vacuum表信息—晟数学院
前言通常,在PostgreSQL中,由于经常需要对表进行 UPDATE 和 DELETE,因此表会产生碎片空间。在 PostgreSQL中,使用VACUUM 仅仅对需要执行 VACUUM 表将已删除的空间标识为未使用,以便以后重用这些空间,但是不能立即将占用的空间返还给操作系统,因此需要使用 VACUUM FULL,才可以释放空间,并立即将空间返还给操作系统。实现脚本记录收集表创建CREATE TABLE IF NOT EXISTS tab_vacuum_record(sqltext text);原创 2021-01-11 17:17:46 · 454 阅读 · 0 评论 -
【晟数学院】通过 Unwrapper 解密 DBMS 程序包
一、DBMS程序包Oracle 为 Oracle 服务器提供了许多 PL/SQL 软件包,以扩展数据库功能并提供对 SQL 功能的 PL/SQL 访问。在这些 Oracle 提供的程序包中,已 DBMS 开头的程序包使用的最为广泛。如果我们想查看 DBMS 程序包的代码,你就会发现,Oracle 对程序包体部分进行了加密处理。这种加密虽然保护了程序包体的代码安全,但对我们研究 Oracle 程序包形成了阻碍。于是各种解密 DBMS 程序包的方法便层出不穷的被大家所熟知。接下来,我介绍一种使用 SQL原创 2020-07-31 16:46:14 · 373 阅读 · 0 评论 -
Oracle Database 19c 技术架构(四)
16、进程管理进程 (PMAN)进程管理进程 (PMAN) 是⼀个后台进程,可根据需要监视,产⽣和停⽌以下各项:•分派器和共享服务器进程•数据库驻留连接池的连接代理和池化服务器进程•作业队列流程•可重启后台程序PMAN作为操作系统进程⽽不是线程运⾏。除数据库实例外,PMAN还可以在Oracle⾃动存储管理 (ASM) 实例和Oracle ASM代理实例上运⾏。注意:获得完整的进程列...原创 2020-04-10 15:48:16 · 413 阅读 · 0 评论 -
Oracle Database 19c 技术架构(三)
11.数据库系统⽂件(Database System Files)以下数据库系统⽂件在Oracle数据库操作期间使⽤,并位于数据库服务器上。请注意,数据⽂件是属于数据库容器的物理⽂件,在此不再描述。•控制⽂件:控制⽂件是必需⽂件,⽤于存储有关数据⽂件和联机重做⽇志⽂件的元数据;例如,它们的名称和状态。数据库实例需要此信息才能打开数据库。控 制⽂件还包含在数据库未打开时必须可访问的元数据。强烈...原创 2020-04-03 11:39:29 · 260 阅读 · 0 评论 -
Oracle 控制文件存储解析
控制文件块内容分布SQL> SELECT TYPE, 1 RECORD_SIZE, 2 RECORDS_TOTAL, 3 RECORD_SIZE*RECORDS_TOTAL, 4 ceil(record_size*records_total/((8*1024)-24)) 5 FROM v$co...转载 2020-04-01 12:06:46 · 211 阅读 · 0 评论 -
Postgresql实战经验之alter table 开小差了
Postgresql实战经验之alter table 开小差了今天需要将一张有数据的表中一个字段varchar 类型转换为timestamp类型,但是pg的alter table 语句却开小差,出现了两种问题,翻了pg10.5中文手册、很多博客文档,做了对比实验,哎,可谓费了九牛二虎之力才解决问题。1.alter table 修改表定义(DDL操作)官方文档关于alter table 的用法...转载 2020-03-24 14:26:52 · 525 阅读 · 0 评论 -
关于ORA-00603 ORA-27504 ORA-27300 ORA-27301 ORA-27302报错的处理
现象描述环境:Oracle 11.2.0.4 RAC+Redhat 7.6发现异常异常查看后台日志显示如下解决参考mos:Oracle Linux: ORA-27301:OS Failure Message: No Buffer Space Available (Doc ID 2041723.1)一、修改网络配置修改配置文件root@rac16821:/root #vi /...转载 2020-03-19 16:32:54 · 1717 阅读 · 0 评论 -
深入了解控制文件
实验步骤控制文件是一个二进制文件,为了查看其内容,我们可以通过oracle命令转储出来进行查看(以下命令来自oracle 19c):SQL> alter session set events 'immediate trace name controlf level 8'; Session altered. SQL> select value from v$diag_info...转载 2020-03-17 16:18:10 · 645 阅读 · 0 评论 -
oracle-【OPatch】从 Oracle Database 19.3 升级到 Oracle Database 19.6
1. 背景介绍由于Oracle Database 19c会作为Oracle长期支持的版本,官方也建议大家选择19c这个版本。而最新推出的20c会作为一个全新的发布序列,当前版本是20.1,此版本的生命周期也会比较短,因此可以再观望一下20c的后续版本。我安装了在Oracle官网可以下载到的19.3的版本,完成了升级到19.6版本的操作过程,给此项目工作提供文档支持。2. 升级过程可以从MOS...原创 2020-03-06 15:30:43 · 982 阅读 · 7 评论