【学习视频】第6期2019-Oracle迁移到PostgreSQL - 适合DBA与业务开发者

简介: 大家好,这里是《PG干O,仁心所象 - 去O实战培训》 公益活动纪录 - 《PG开发者指南、去O、管理与优化实践》

背景


“PG干O,仁心所象”公益培训活动 2019.6.15 在阿里巴巴西溪园区正式启动。“PG干O,仁心所象”作为“PG天天象上”技术沙龙的兄弟活动,面向开发者和DBA体系化的介绍“PostgreSQL应用开发指南,Oracle用户TO PG开发实践,PG数据库的管理与优化实践”几个方面的内容。旨在帮助开发者和DBA快速了解体系化的去O知识,更加顺滑的使用PostgreSQL 去O。

《兄弟活动- “PG天天象上技术沙龙纪录》

《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?为什么PG是去O的最佳选择》

“PGO,仁心所象公益培动纪录

1 20190615期“PG干O,仁心所象”《PG开发者指南、去O、管理与优化实践》 (阿里巴巴西溪园区)

报名人数:36

重要议题1:《PostgreSQL 开发者指南》

重要议题2:《PostgreSQL 日常维护、监控、管理、优化、诊断》

重要议题3:企业数据库辩论赛。

参会企业:同花顺、ODOO(全球第一openERP)、富士通、大华、海康、爱尔、娃哈哈、沃趣、大树、百世物流。。。等。

企业辩论赛回顾:

1Q PG数据库的编码如何转换

A 创建数据库时指定编码,如果要转换,需要新建,数据导出导入。


         
CREATE DATABASE

2Q 创建的对象名超过64个字节会怎么样?

A 截断到63个字节为止。


         
psql: NOTICE:  42622: identifier "a1111111111111111111111111111111111111111111111111111111111111111" will be truncated to "a11111111111111111111111111111111111111111111111111111111111111"
LOCATION:  truncate_identifier, scansup.c:205
CREATE TABLE

         
postgres=# select octet_length('a11111111111111111111111111111111111111111111111111111111111111');
octet_length
--------------
63
(1 row)

另外,如果要超过63个字节,需要修改头文件,并重新编译软件,重新初始化数据库集群。

src/include/pg_config_manual.h


         
* Maximum length for identifiers (e.g. table names, column names,
* function names).  Names actually are limited to one less byte than this,
* because the length must include a trailing zero byte.
*
* Changing this requires an initdb.
*/
#define NAMEDATALEN 64

3Q 怎样保证从库需要的WAL日志不被主库清除?

A standby使用slot连接主库,主库不会删除没有被SLOT对应STANDBY接收的WAL日志。

设置wal_keep_segments,设置归档也是能够避免WAL被及早清理的方法。但是不能保证。SLOT是绝对性的保证。

4Q ORACLE RAC PG的几个不同点

A RAC为共享存储架构,PG为非共享存储架构。(但是目前阿里云POLARDB for PG已经提供了计算存储分离架构,类似于ORACLE RAC

ORACLE 支持内存表,PG暂时不支持。但是PG 12开放了AM API,已经开源的ZEDSTORE支持列存,UNDO引擎等。相信很快会支持内存引擎。

ORACLE 有秒级快照备份。PG结合系统ZFS文件系统,同样支持基于STANDBYZFS秒级快照备份。(同时PG在激活STANDBY时,可以做到瞬间激活(不管多大的事务,回滚是瞬间完成的(HEAP引擎)))

5、在WINDOWS上,当误操作KILL PG的主进程时,会有PG_CTL进程残留的问题。这个是WIN架构下的服务注册模块的问题。

6、在同一个实例的多个DB自建表级同步,如何做?

A 使用逻辑订阅,但是在目标端创建订阅时,不能使用自动创建SLOT的语法。后期版本可能会改进。

 

Oracle迁移到PostgreSQL实战培训议题

1 对比Oracle与PG

  • PG的开源生态,为什么PG是最适合取代Oracle的数据库
  • 架构与术语
  • 进程结构
  • 逻辑架构
  • 数据类型
  • 内置函数
  • 系统视图
  • SQL语法
  • 函数开发
  • 包开发
  • 存储过程开发
  • 外部数据源访问
  • 性能监控、awr、aas、索引推荐、冷热状态、sql审计
  • SQL优化
  • 错误代码、问题诊断、上报bug、问题库、知识库、邮件组
  • 表空间管理
  • 管理工具
  • 管理函数
  • 管理常用SQL
  • 日常问题的原因、运维
  • 高级功能:分区表、递归查询、JOB、批量处理等
  • 安全(链路、访问acl、rls、角色|组权限控制)
  • 参数(参数介绍、配置级别介绍(全局、用户、会话、数据库、事务、表、函数级别等))
  • 性能压测(工业标准tpcc, tpch,自定义测试)
  • 开发工具
  • 订阅工具
  • 逻辑备份、还原
  • 物理备份、还原
  • 快照备份
  • 实时增量备份
  • standby
  • 逻辑standby
  • 容灾
  • 延迟容灾
  • 多副本同步
  • 不同架构的rpo,rto

2 迁移Oracle

  • Oracle迁移

3 进阶(场景、痛点、解决方案)

  • 进阶,掌握PG独特性、先进性(插件、GIS等)
  • 哪里有插件
  • 如何开发插件
  • 如何扩展PG的功能
  • PG 技巧
  • perf insight
  • ganos
  • oss
  • 全文检索
  • 模糊查询
  • jsonb
  • 时空多属性、时空调度
  • gin倒排索引
  • bloom过滤
  • brin时序索引
  • GiST,SPGiST索引
  • rum索引
  • 聚集索引
  • 存储扩展插件(zedstore, zheap, cstore)
  • 分布式插件citus
  • 图像识别
  • 向量计算与搜索
  • 并行计算(并行度控制)
  • 强制并行
  • 索引推荐
  • 资源隔离
  • 树类型(空间换时间)
  • smlar相似
  • 用户画像(数组、varbitx、roaringbitmap)
  • 时序数据实时聚合
  • rum多重搜索(比es更强的地方)
  • range类型(物联网,会议室预定,排他约束)
  • partial index(物联网,过滤无效数据)
  • 变长类型byteam, text代替blob, clob
  • 大对象
  • 大量数据写入、导出(batch insert, copy)
  • 大量中间数据存储,表数组,代替临时表
  • update, delete limit
  • 并发批量更新防止锁冲突(skip locked, update|delete limit)
  • 秒杀(ad lock)
  • merge into, upsert
  • 连接池
  • 内置连接池
  • 读写分离
  • 递归、分佣、树
  • 逻辑订阅(kafka、流、...)
  • 单元化、互相逻辑同步
  • 流计算
  • 图式关系搜索

4 云

  • polardb for Oracle , 存储按量付费, 弹性增减节点, 一写多读,多副本存储。 RPO=0
  • rds pg安全, 100万iops, 32TB

5 讨论

  • 现场激烈讨论

参考

《PostgreSQL 11 2天体系化培训(包含Oracle迁移到PG的知识点) - 含视频》

《PostgreSQL 多应用场景实践 - 含视频》

《Oracle DBA 增值 PostgreSQL 学习路径》

《PostgreSQL、Greenplum 《如来神掌》》

《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?PG是去O的最佳选择》

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
10月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】在PostgreSQL中访问Oracle
本文介绍了如何在PostgreSQL中使用oracle_fdw扩展访问Oracle数据库数据。首先需从Oracle官网下载三个Instance Client安装包并解压,设置Oracle环境变量。接着从GitHub下载oracle_fdw扩展,配置pg_config环境变量后编译安装。之后启动PostgreSQL服务器,在数据库中创建oracle_fdw扩展及外部数据库服务,建立用户映射。最后通过创建外部表实现对Oracle数据的访问。文末附有具体操作步骤与示例代码。
835 6
【赵渝强老师】在PostgreSQL中访问Oracle
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
336 0
|
Oracle 关系型数据库
【YashanDB知识库】YMP从oracle到yashan迁移评估报OCI相关错误
本文来自YashanDB官网,主要解决在使用YMP(yashan-migrate-platform)进行迁移评估时出现的OCI版本检查错误问题。错误原因为操作系统重装后,OCI所需依赖缺失(如`libnsl.so.1`、`libnnz19.so`等)。文章提供了排查步骤和解决方法:一是检查并配置环境变量`LD_LIBRARY_PATH`,二是若依赖仍缺失,则需手动下载并安装对应依赖文件。适用于使用YMP迁移平台的用户遇到OCI相关问题时参考。
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
SQL Oracle 关系型数据库
Oracle向YashanDB迁移的丝滑体验
这篇文章主要介绍了从 Oracle 向 YashanDB 迁移的过程,包括 YashanDB 迁移平台 YMP 的介绍、下载安装准备、安装步骤、运行状态及访问方式,迁移中的添加数据源、创建任务、迁移配置、离线迁移、一致性校验等环节,还分享了迁移后的体验,认为 YMP 不错但希望增加在线迁移等功能。
|
SQL Oracle 关系型数据库
【YashanDB知识库】YMP迁移oracle不兼容给用户授权高级包
【YashanDB知识库】YMP迁移oracle不兼容给用户授权高级包
|
SQL Oracle 关系型数据库
基于YMP工具实现Oracle迁移YashanDB
这篇文章主要介绍了基于 YMP 工具实现 Oracle 迁移 YashanDB 的相关内容,包括 YMP 工具的简介、架构、规格,迁移前的环境准备和工具部署,迁移过程中的创建任务、评估、配置、离线迁移、校验等步骤,以及迁移体验,指出其部署简单、数据类型兼容但存在部分功能不支持等情况。
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
4028 2
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
3025 3

推荐镜像

更多