暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL和数据库技术公众号文章汇总

407

编者按:

总结和回顾是必要的,付出的时间不会白费。2022年一起成长!

Update Date:2022/09/22


【免责声明】本公众号文章仅代表个人观点,与任何公司无关。

编辑|SQL和数据库技术(ID:SQLplusDB)



数据库实战手册(从基础和实战角度了解Oracle数据库):

数据库性能问题分析和诊断方法概论

通过寄存服务来“理解”Oracle数据库基本体系结构和动作流程

数据库的“黑匣子”--故障诊断日志基础

数据库故障诊断基础工具之TFA

【基础知识】ORACLE数据库错误概述

ORA-600/ORA-700/ORA-7445内部错误的本质

ORA-600/ORA-700/ORA-7445内部错误的的分析

Oracle数据库版本和补丁基础
Oracle数据库版本和补丁基础(2)

Oracle数据库补丁一点儿Tips


图解系列:

【图】一图了解Oracle数据库简史

【图】一图检验Oracle数据库空间管理的知识理解

图:SQL解析时内存锁的加载过程

图:库缓存对象的保护

图:Oracle库缓存对象的访问

图:父游标和子游标

关于软软解析、软解析和硬解析的图

简图:SQL解析时内存锁的加载过程

Oracle 连接方法比较

从数据库源流与发展图想起

Linux性能诊断工具一览图

图:执行计划-表访问操作

图:执行计划-索引访问操作

图: SQL性能问题的诊断流程图



优化器相关功能介绍(了解CBO):

Oracle优化器架构变化和特定行为

基数反馈 (Cardinality Feedback)(一)

基数反馈 (Cardinality Feedback)(二)
自适应游标共享(Adaptive Cursor Sharing)
自适应游标共享(Adaptive Cursor Sharing)(二)
Oracle优化器之自动重新优化(Automatic Reoptimization)功能
Oracle优化器之自适应执行计划(Adaptive Execution Plans)
Oracle优化器之动态统计(Dynamic Statistics)
【SQL】历史SQL监控(Historical SQL Monitoring ) 功能(12c)
Oracle优化器成本的估算(10053 Trace中基于CPU成本模型的内容解析)

CBO 查询转换系列(深入了解Oracle执行计划)

CBO 查询转换(1):子查询展开机能(Subquery Unnesting)

CBO 查询转换(2):反结合的NULL识别机能(null aware anti-join )

CBO 查询转换(3):结合谓词下推机能(Join Predicate Pushdown)

CBO 查询转换 (4):Group By 配置最优机能(Group By Placement)

CBO查询转换(5):星型转换(Star Transformation)

CBO查询转换(6):子查询关联集展开机能(unnest correlation set subquery)

CBO查询转换(7):Distinct 配置最优机能(Distinct Placement)



手把手系列(帮助个人技术成长):

手把手教你在Windows 10安装Oracle 19c(详细图文附踩坑指南)

在线Oracle SQL学习环境--Live SQL

SQL调优和诊断从哪入手?

获取SQL执行计划最基础的方法是啥?

一学就会的获取SQL执行计划和性能统计信息的方法

【SQL】实时SQL监控功能(Real-Time SQL Monitoring)

【SQL】历史SQL监控(Historical SQL Monitoring ) 功能(12c)

获取历史执行计划:AWR/StatsPack SQL 报告

SQL调优和诊断之何时使用何工具?

SQL调优和诊断利器之SQLT介绍

SQL调优和诊断利器之SQLHC介绍

SQL调优和诊断工具之SQL Trace (10046 Event)介绍

SQL调优和诊断工具之Optimizer Trace(10053 Event)介绍
SQL调优和诊断工具之DBMS_SQLDIAG介绍

SQL调优和诊断工具之SQL 相关的动态视图


执行计划之表连接1:连接树(Join Trees)

Oracle 连接方法比较


网罗收集10046的各种Case,方便trace信息的收集 | Oracle官方博客转载

供收藏:Oracle固定SQL执行计划的方法总结

Oracle SQL 性能调优:使用Hint固定执行计划1(Hash Join)

Oracle SQL 性能调优:使用Hint固定执行计划2(Nested Loop Join)

Oracle SQL 性能调优:使用SqlPatch固定执行计划

Oracle SQL 性能调优:使用SqlPatch固定执行计划(二)19c

Oracle Outline实用总结


Oracle SQL 基础(学习SQL的写法):

Oracle SQL 基础:窗口函数(一)over()函数

Oracle SQL 基础:窗口函数(二)RANK函数如何使用窗口函数

Oracle SQL 基础:窗口函数(三)错行函数(lag,lead)的使用



数据库性能调优(性能调查方法):

Oracle性能调查之ASH(一)

Oracle性能调查之ASH(二)

Oracle性能调查之AWR(一)
AWR报告分析之TOP SQL


等待事件(性能分析基础)

高级OWI之Enqueue(排队)

高级OWI之Latch(闩锁)

高级OWI之Mutex (互斥锁)

Oracle数据库性能优化之Enq: TM – contention

【等待事件】SQL*Net more data from client

"WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! "等待原理概述

案例:”WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! “等待的诊断

案例:  log file sync等待引起的RAC 挂起(HANG)
Oracle等待事件原因和一般解决方法:control file sequential read


浅谈RAC系列:

浅谈Oracle RAC (1)--概要

浅谈Oracle RAC (2)--集群管理软件GI基本架构

浅谈Oracle RAC(3)--GI的启动

浅谈Oracle RAC(4)– OHAS组件

浅谈Oracle RAC(5)– CSS组件

浅谈Oracle RAC(6) 之实战:节点reboot问题的调查方法

浅谈Oracle RAC(7) -CRS组件

浅谈Oracle RAC(8) -OCR和投票盘

浅谈Oracle RAC(9)- RAC DB 简介

浅谈Oracle RAC(10)- RAC DB特有进程


备份恢复系列:

Oracle数据库工程师手记:备份恢复双城记(一)

Oracle数据库工程师手记:备份恢复双城记(二)

Oracle数据库工程师手记:备份恢复双城记(三)

Oracle数据库工程师手记:从RAC环境备份后向新环境(文件系统)恢复的试验

Oracle数据库工程师手记:探究 Oracle PDB Application Container (一)

Oracle数据库工程师手记:探究 Oracle PDB Application Container (二)

Oracle数据库工程师手记:  探究 Oracle PDB Application Container (三)

Oracle数据库工程师手记:探究 Oracle PDB Application Container (四)

Oracle数据库工程师手记:如何在Active Data Guard环境下创建Standby的AWR

Oracle数据库工程师手记:Data Guard Broker中改属性是否需要两侧分别执行?


案例系列:(从实际问题出发)

案例:如何从SYSTEMSTATE DUMP查看Mutex的持有者和请求者

知识&案例:并行和并发统计信息收集

案例:12.2环境用户登录错误ORA-01017

案例:数据库无法登录发生ORA-12560/ORA-12557错误

案例:DRIVING_SITE 提示(HINT)设定无效的调查

案例:  log file sync等待引起的RAC 挂起(HANG)

案例:”WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! “等待的诊断

小案例:结果缓存无法使用,RESULT_CACHE_MAX_SIZE值无法更改的问题
小案例:使用To_char的时候,某些SQL语句在SQLPLUS的表示格式发生变化


Hands On:(常用命令&小技巧)

手动创建数据库及创建过程遇到的错误(踩到的坑)

数据库管理和维护常用操作和命令

RMAN相关基础操作

【常用命令】修改数据库字符集(仅供测试使用)

【常用命令】监视数据库的用户登录和注销会话信息

【常用命令】自动统计收集的停止(无效)和启动(有效)

【常用命令】获取数据库对象的定义(DDL)

【常用命令】修改数据库字符集(仅供测试使用)

【怎么办001】DROP USER ... CASCADE特别慢怎么办?

【怎么办002】想要获取数据库对象的定义(DDL)怎么办

【怎么办】003 如何加强Oracle数据库安全--监控数据导入导出操作

【怎么办】004 如何找到删库跑路的人--监控数据库用户登录

SQL*PLUS技巧:生成易读的HTML报表
【快问快答】如何判断OJVM是否被使用?
【快问快答】如何收集回看sql语句中传入的绑定变量值

【快问快答】事务异常或者instance abort时,如何估算事务rollback时间

DBA命令速查1:查看SQL的执行计划

DBA命令速查2:查看隐含参数值

DBA命令速查3:获取Oracle服务器IP的方法

DBA命令速查4:Oracle 编译无效对象(Compile Invalid Objects)

DBA命令速查4:AWR报告相关命令

DBA命令速查6:临时表空间( Temporary Tablespace)的相关确认SQL

Oracle示例Schema的安装(Scott,HR,OE, OC, PM,  SH)
查看Oracle长时间运行操作(V$SESSION_LONGOPS)
Oracle EBS 并发请求(Concurrent Request )相关SQL命令
Oracle EBS 并发请求(Concurrent Request )相关SQL命令2


Oracle PL/SQL例

Oracle PL/SQL编程基础

Oracle PL/SQL例2:处理查询的结果行(基础循环)

Oracle PL/SQL例3:使用双引号

Oracle PL/SQL例4:文字(Literals)换行的处理

Oracle PL/SQL例5:注释

Oracle PL/SQL例6:声明变量/常量
使用PL/SQL发邮件相关的Oracle ACL (Access Control List)


数据库工具:

SQL*Loader设置参数之ROWS、BINDSIZE和READSIZE

知识&案例:SQL*Loader的执行性能--Conventional Path 篇

【诊断方法】AWR 快照(snapshot)无法获取

获取历史执行计划:AWR/StatsPack SQL 报告

如何在Active Data Guard环境下创建Standby的AWR


数据库相关功能介绍(了解数据库技术):

SQL的处理流程

【SQL 基础】游标(curosr)

【SQL 基础】游标(curosr)(二)如何调查子游标的增加

测试例:子游标个数限定的功能使用例

你知道Oracle数据库除了SGA和PGA,还有MGA么?

关于表压缩(Table Compression)技术概述及其历史演变

【数据库管理】数据库自动维护任务介绍

自动统计信息收集(Automatic Optimizer Statistics Collection)

自动段指导任务(Automatic Segment Advisor)

[DBA] 关于LOB RETENTION的知识共享

12.2新特性:索引使用的跟踪功能(Index Usage Tracking)

【12.2 新功能】优化器统计顾问(Optimizer Statistics Advisor)及常见问题

【避坑指南】12.2 新功能优化器统计顾问(Optimizer Statistics Advisor)及常见问题和解决方法

快速搞懂Oracle 19c安全新特性 (二)Privilege Analysis(权限分析)

快速搞懂19c 数据库安全新特性 (一)Schema Only Accounts


数据库漫谈系列(数据库杂谈):

数据库漫谈(一)----引子

数据库漫谈(二)----随机I/O

数据库漫谈(三)----随机I/O和Redo

数据库漫谈(四)----锁

数据库漫谈(五)----SSD

数据库漫谈(六)----ORACLE传奇

数据库漫谈(七)----OWI

数据库漫谈(八)----NoSQL

数据库漫谈(九)----云数据库
数据库漫谈(十)----数据库选型


数据库排名(了解数据库技术的变化):

2020年10月 数据库流行度排名

2020年11月 数据库流行度排名

2020年12月 数据库流行度排名

2021年01月 数据库流行度排名

2021年02月 数据库流行度排名:开源和云数据库流行度提升

2021年03月 DB-Engines 数据库流行度排名:三甲同比流行度下降,开源和云数据库连续提升,国产数据库展露头角

2021年04月 DB-Engines 数据库流行度排名:前三甲同比环比均下降、开源上升、云数据库排位上升

2021年05月 DB-Engines 数据库流行度排名:延续4月趋势
2021年06月 DB-Engines 数据库流行度排名:总体趋势延续,TiDB排名上行

2021年07月 DB-Engines 数据库流行度排名:总体趋势延续,Redis首次超过DB2

2021年10月 DB-Engines 数据库流行度排名:总体趋势延续,Redis连续4月位列第六

2021年11月 DB-Engines 数据库流行度排名:PG趋势明显崛起,TiDB首次冲入百强,TDSQL、人大金仓入榜

2021年12月 DB-Engines 数据库流行度排名:Oracle略有反弹、PG依然强势、Snowflake异军突起

2022年01月 DB-Engines 数据库流行度排名:Oracle略有反弹、PG依然强势、Snowflake异军突起

2022年02月 DB-Engines 数据库流行度排名:数仓Snowflake再升2名,开源PG总分增加,国产TiDB排位上升

2022年9月DB-Engines数据库流行度排名



学习资源&杂谈:

有效利用Oracle官方的免费学习资源(一)

云时代的dba你准备好了么?

2020年了,还有必要学习Oracle数据库技术么?

读了这些数据库经典书,你已经超过了90%的Oracle技术者(文末彩蛋)

浏览器搞定一切的云时代:在线Oracle数据库运行环境+可访问Linux主机环境

Log4J2的瓜

2021 Gartner云数据库魔力象限图


周末杂文:

周末杂文:多年前写的一篇自我职业梳理文章--路


官方博客转载(了解一些重要知识):

Index Unique Scans我们要说的 | Oracle官方博客转载

网罗收集10046的各种Case,方便trace信息的收集 | Oracle官方博客转载

如何分析发生在过去的数据库性能问题 | Oracle官方博客转载


各种数据库:

Redis数据库

TiDB初感

Windows 环境通过Virtual Box快速体验TiDB 5.0

Oracle vs. MySQL vs. SQL Server vs. PostgreSQL vs. MongoDB

TiDB vs. MySQL vs. PostgreSQL vs. Kingbase vs. AnalyticDB

Snowflake是什么东东?

初识开源的ETL工具-Pentaho Data Integration(Kettle)

Azure SQL

云数据库:使用Amazon Performance Insights分析RDS性能问题

AWS:如何做云端数据库审计?

Oracle技术支持是如何分析数据库性能问题的 | Oracle官方博客转载


PostgreSQL相关:
PostgreSQL自带的命令行工具--psql
PostgreSQL数据库中的角色(Role)与用户(User)的基本操作




MySQL相关:

手把手教你在Windows 10安装MySQL 8.0(详细图文)

MySQL入门:Linux 6 RPM方式安装MySQL 8.0

MySQL入门02:关于MySQL连接的ABC

MySQL入门03:MySQL修改root密码的方法

Oracle 和 Mysql 的索引在Null字段上处理的异同
MySQL客户端工具--mysql命令行


MySQL 5.6认证考试将于2020年9月30日停考

又是一个时代进程,MySQL 5.6结束其生命周期(EOL)

适合MySQL小白的书:我的译作《MySQL基础教程》


Python相关:

【杂说】Python之禅--入门Python的正确姿势


操作系统相关:

Linux性能诊断工具一览图


视频介绍:

视频:在线SQL运行环境Oracle Live SQL


视频:Oracle开发者初级课(转载)

Oracle开发者初级第1课:表

Oracle开发者初级第2课:列和数据类型

Oracle开发者初级第3课:数据建模

Oracle开发者初级第4课:SELECT和WHERE

Oracle开发者初级第5课:SQL联结

Oracle开发者初级第6课:聚合与Group By

Oracle开发者初级第7课:插入和提交

Oracle开发者初级第8课:更新与事务

Oracle开发者初级第9课:删除与清空


视频:Oracle开发者中级课(转载)

Oracle开发者中级第1课:NULL

Oracle开发者中级第2课:子查询

Oracle开发者中级第3课:Order By与Top-N

Oracle开发者中级第4课:分析函数

Oracle开发者中级第5课:Pivot 和 Unpivot

Oracle开发者中级第6课:并集, 差集与交集

Oracle开发者中级第7课:层级查询

Oracle开发者中级第8课:Merge

Oracle开发者中级第9课:读取一致性



视频:Oracle开发者性能(转载)

Oracle开发者性能第1课:如何解读执行计划

Oracle开发者性能第2课:什么是数据库统计信息?

Oracle开发者性能第3课:我的查询做了多少工作?

Oracle开发者性能第4课:如何创建索引?

Oracle开发者性能第5课:为什么我的查询不使用索引?

Oracle开发者性能第6课:如何使用物化视图快速汇总数据

Oracle开发者性能第7课:联结如何工作?

Oracle开发者性能第8课:如何更快地插入、更新和删除

Oracle开发者性能第9课:如何查找慢 SQL


视频:1分钟聊DB

SQL解析过程


视频TiDB文档阅读

TiDB文档阅读:整体架构

TiDB文档阅读:存储

TiDB文档阅读:数据库计算-键值对映射

TiDB文档阅读:数据库计算-元信息管理和SQL层


交流群讨论精选:
交流群讨论精选1
交流群讨论精选2:表名最大长度,查看CRS错误信息

个人其他:

《MySQL基础教程》译作出版

【数据库认证】OCM准备及考试经验总结

2020年总结


SQL性能诊断和调优专栏:

https://www.modb.pro/course/125



——End——


专注于技术不限于技术!

用碎片化的时间,一点一滴地提高数据库技术和个人能力。

欢迎关注!



文章转载自SQL和数据库技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论