100天精通Oracle-实战系列
文章平均质量分 82
本专栏将通过100天实战系列教程,教你快速掌握Oracle技能,手把手带你完成各种实验!(配套视频教程)
优惠券已抵扣
余额抵扣
还需支付
¥399.90
¥499.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Lucifer三思而后行
Lucifer-4622
展开
-
100天精通Oracle-实战系列 - 总目录
100天精通Oracle-实战系列 - 总目录原创 2021-12-19 21:02:41 · 9071 阅读 · 11 评论 -
(第83天)参数文件问题汇总
我们常说的 pfile 参数文件也就是 initSID.ora 文件,initSID.ora 是文本文件。在 Oracle 9i 以前,Oracle 使用pfile存储初始化参数设置,参数文件的修改需要手工进行,这些参数在实例启动时被读取,通过pfile的修改需要重启实例才能生效。可以通过strings## 单机## RAC其内容主要为数据库的 db_name、数据库的版本、控制文件的位置、内存的分配、一些系统文件的路径、字符集、session的数量等等,一些数据库最基本的信息。原创 2024-03-24 20:39:25 · 89 阅读 · 0 评论 -
(第84天)控制文件损坏问题汇总
数据库名称归档模式日志文件信息数据文件信息临时文件信息数据库字符集SQL>!;------RESETLOGS区别在于当前在线重做日志是否都可用,如果在线日志有损坏的情况,在创建控制文件时就需要使用 RESETLOGS,反之,使用 NORESETLOGS。原创 2024-03-24 20:39:56 · 217 阅读 · 0 评论 -
(第82天)enq: TX - row lock contention 等待事件分析
最近看 awr 报告时,经常会看到一些的等待事件,分享一下排查的步骤。用于在事务执行时维护事务的完整性,防止其他会话同时修改相同的数据。如果发生争用,‘enq: TX - row lock contention’ 很可能成为数据库时间的重要组成部分并影响其他会话的性能。一旦发现数据库存在严重的 ‘enq: TX - row lock contention’ 等待,需要做的就是找出对应的对象和所涉及的 SQL 语句。通常等待与正在执行的应用程序代码有关,数据库本身大概率不存在问题。产生。原创 2024-03-24 20:38:55 · 100 阅读 · 0 评论 -
(第81天)log file sync 等待事件分析
什么是 log file sync 等待事件?当用户会话进行提交时,会话事务锁产生的全部日志都需要从LOG BUFFER刷入到,以保证事务对数据库的更改成为永久性。在 commit 的时候,用户会话会通知 LGWR 进程去写 log buffer(包含当前未写入的redo,会话当前的redo)到 red logfile,一旦 LGWR 进程完成写入请求,就会通知会话已完成。原创 2024-03-24 20:38:25 · 88 阅读 · 0 评论 -
(第75天)AutoUpgrade 升级:11GR2 到 19C
Oracle 从 12CR2 开始就开始大力推广 AutoUpgrade 升级工具,但是实际生产中使用并不广泛,但是这个工具已经发展的非常成熟了。本文介绍一下如何使用 AutoUpgrade 工具进行快速升级,操作非常简单。原创 2024-03-24 20:34:08 · 385 阅读 · 0 评论 -
(第76天)XTTS 升级:11GR2 到 19C
XTTS(Cross Platform Transportable Tablespaces,跨平台迁移表空间)是 Oracle 推出的一个用来迁移单个表空间数据以及将一个完整的数据库从一个平台移动到另一个平台的迁移备份方法。在企业越来越大的数据量、相对停机时间要求日益减少的情况下,利用 XTTS 可以完成使用增量备份方式实现跨平台的数据迁移,能够减少停机时间、可以进行增量备份,并且能实现跨平台的数据迁移。将源数据库中的表空间设为只读将数据文件传输到目标系统将数据文件转换为目标系统字节序格式。原创 2024-03-24 20:34:46 · 294 阅读 · 0 评论 -
(第77天)RAC GI 升级:11GR2 到 19C
Oracle RAC Grid 升级通常生产环境中很少遇到,因为 DB 升级基本都是更换新硬件,部署新 RAC,也就没必要升级 Grid。升级 Grid 大部分是为了支撑修复 BUG 或者等保要求。本文介绍如何在本机升级 Grid 软件。原创 2024-03-24 20:35:21 · 77 阅读 · 0 评论 -
(第78天)DB RU 补丁升级:19C 升级到 19.22
目前 Oracle 19C 是最新的稳定支持的版本,生产环境中使用的越来越多。当然,随着客户使用量的增多,自然无可避免的产生了很多 BUG,Oracle 每季度都会发布一个 RU 补丁来修复当前季度所产生的一些重要 BUG 补丁。作为 DBA,DB 补丁修复必然是需要掌握的一项技能。本文将介绍如何将数据库升级到最新的 RU 版本。原创 2024-03-24 20:35:55 · 141 阅读 · 0 评论 -
(第79天)单机转 RAC:19C 单机 到 19C RAC
升级迁移使用数据泵的方式与 (第72天)数据泵升级:11GR2 到 19C 步骤基本一致,这里不作演示,只演示使用 ADG 来进行同版本迁移。原创 2024-03-24 20:36:30 · 126 阅读 · 0 评论 -
(第74天)DataGuard 升级:11GR2 到 19C
上一篇课程讲到如何使用 RMAN + DBUA 的方式进行升级,是基于 RMAN 备份恢复来进行实现的。原创 2024-03-12 14:59:06 · 130 阅读 · 0 评论 -
(第73天)DBUA 升级:单机 11GR2 升级到 19C
Oracle 11GR2 版本是上一个长期稳定版本,但是官方已与 2020 年停止服务,官方建议升级到最新长期稳定版 19C。交互式的引导我们完成升级数据库的步骤,它会自动执行为了升级数据库所需的所有步骤。DBUA 适用于 CDB 和非 CDB 数据库系统,是推荐的升级数据库主要版本或者补丁集的方式。原创 2024-03-12 14:58:35 · 130 阅读 · 0 评论 -
(第72天)数据泵升级:11GR2 到 19C
目标端为 RAC 数据库 19C 企业版。数据泵导入需要目标端提前建库,这里使用。源端为单机数据库 11GR2 企业版。数据库中的大表需要单独导出。至此,数据泵迁移升级完成。原创 2024-03-12 14:58:05 · 83 阅读 · 0 评论 -
(第71天)RMAN 升级:11.2.0.3 异机升级到 11GR2
本文演示的是单机到单机的异机升级(本机升级更简单,但是存在一定的风险),RAC 的数据库版本升级也是大同小异。原创 2024-03-12 14:57:27 · 65 阅读 · 0 评论 -
(第69天)可刷新 PDB
从 Oracle 12CR2 版本开始支持可刷新 PDB,在 19C 版本后功能更加强大,为什么会衍生出这个技术呢?很多生产的 PDB 数据量很大,如果使用传统的方式进行克隆操作可能需要相当长的时间,并且克隆之后的数据无法随着源库更新而刷新,为了尽量减少对生产系统库的影响,可刷新 PDB 自然就应运而生。可刷新 PDB 支持通过源 PDB 的 redo 日志手动/自动刷新数据,不刷新时,可刷新的克隆 PDB 还能够以只读方式打开。原创 2023-12-12 21:00:25 · 189 阅读 · 0 评论 -
(第68天)DBCA 克隆 PDB
在前面课程我们讲过使用 DBCA 创建数据库以及搭建 DataGuard 等功能,在多租户这章节,要讲下如何使用 DBCA 克隆 PDB。18C 开始支持使用 DBCA 在本地 CDB 中克隆 PDB19C 升级支持使用 DBCA 克隆 PDB 到远端 CDB 中19C 升级支持使用 DBCA 重定向迁移 PDB 到远端 CDB 中。原创 2023-12-12 20:59:54 · 379 阅读 · 0 评论 -
(第67天)RMAN Duplicate 克隆 PDB
在之前 NONCDB 版本我们经常使用 RMAN Duplicate 方式来在线搭建 DataGuard,非常方便快捷。从 12C 开始 Oracle 推出了 CDB 架构后,自然也就支持使用 Duplicate 的方式来复制 CDB,但是 12C 时还没有那么智能。从 18C 开始进行了升级,可以支持使用方式在线克隆 pdb 到现有的远端 CDB 中。语法如下(建议使用OMF## 复制后的 PDB 不改名......;## 复制后的 PDB 需要重命名......;如果不使用OMF...;原创 2023-12-12 20:59:23 · 185 阅读 · 0 评论 -
(第66天)PDB 创建
DBCA和SQL*Plus,但是创建 PDB 还有很多其他的方式,本文主要介绍一下其他的简单方式。原创 2023-12-12 20:58:45 · 86 阅读 · 0 评论 -
(第65天)PDB 快照
PDB 快照是一个 PDB 指定时间点的副本。在创建快照时,源 PDB 可以是只读或者读写模式。PDB 快照可以用于快速创建 PDB。手动快照使用SNAPSHOT子句的方式来创建自动快照使用子句的方式来创建如果存储系统支持则会创建一个,否则会创建一个full copy。原创 2023-12-12 20:58:15 · 84 阅读 · 0 评论 -
(第64天)UNPLIUG/PLUG 迁移 PDB
在 Oracle 12C 之前,迁移数据库的方式大多通过 RMAN 或者数据泵的方式,但是在 12C 版本提出 CDB/PDB 架构后,对数据库进行了整合,只需要针对 PDB 进行迁移即可,本文介绍通过 UNPLUG/PLUG 的方式来迁移数据库。原创 2023-12-12 20:57:44 · 86 阅读 · 0 评论 -
(第63天)19C NONCDB 转 PDB
目前很多 19C 数据库依然是创建为 NONCDB 架构,但是未来 CDB 架构的使用是无法避免的,在 21C 版本开始 Oracle 官方将不再支持 NONCDB 架构。原创 2023-12-12 20:57:14 · 96 阅读 · 0 评论 -
(第62天)CDB/PDB 基础管理
管理 CDB 和 PDB 需要使用一些特定的命令和工具,如 SQL*Plus、SQL Developer 或 Enterprise Manager Cloud Control。创建 CDB: 使用 DBCA(Database Configuration Assistant)或命令行工具创建 CDB。创建 PDB: 在已创建的 CDB 中,使用命令行工具或 SQL 语句创建 PDB。打开/关闭 PDB: 使用语句打开或关闭 PDB。原创 2023-12-12 20:56:43 · 91 阅读 · 0 评论 -
(第61天)多租户架构(CDB/PDB)
Oracle 的 CDB 和 PDB 是 Oracle 12C 及以上版本中引入的新概念,用于管理多租户数据库环境。Oracle 数据库是商业数据库领域中的翘楚,其强大的功能和高可靠性备受企业用户追捧。而随着云计算和大数据时代的到来,Oracle 也不断推出新的技术以适应这些变化。CDB 技术是 Oracle 数据库架构中的一种新技术,本文将对 CDB 技术进行简单的介绍。原创 2023-12-12 20:55:48 · 347 阅读 · 0 评论 -
(第60天)分区表之日常维护分区表
前面介绍了分区表的创建以及如何转换,但是没有维护相关的内容,本文主要讲 DBA 日常工作中,如何维护分区表。通常我们在生产环境使用分区表,80% 都是通过时间列来创建范围分区表,同时为了 DBA 维护方便,很少使用间隔分区,基本都是需要定期对分区表进行数据归档以及扩展,这也就涉及到了如何维护分区表才能最大限度的减少停机时间。原创 2023-12-12 20:55:18 · 388 阅读 · 0 评论 -
(第59天)分区表转换之混合分区表
Oracle 从19C开始支持混合分区表,融合外部分区和内部分区于一体,可以轻松的将内部和外部的数据集成到单个分区表中,同时也可以将非活跃数据移动到外部文件,降低存储成本的同时也更加方便数据交换。适用于 ILM(Information Lifecycle Management)/Archiving。用更便宜的/归档存储方式将数据提取到数据库之外,作为表的一部分,但仍可以访问整个表将非活跃分区数据移动到外部文件,降低存储成本19C 版本数据库数据需要长期保存同时有在线查询需求的场景。原创 2023-12-12 20:54:48 · 68 阅读 · 0 评论 -
(第58天)分区表转换之外部分区表
外部表在 Oracle 9i 版本引入,外部表的特性是对现有 SQL*Loader 功能的补充,它能够使用户访问外部数据源中的数据,就像访问数据库中的表一样。数据库创建外部表来管理数据,默认通过来加载外部数据文件,允许对外部表中的数据进行只读访问,外部表不支持 DML 操作(UPDATE、INSERT或DELETE),也不能创建索引,仅适用于不频繁查询的表。可以针对外部表创建视图和同义词,外部表在数据仓库的 ETL 过程中非常有用,因为数据不需要暂存并且可以并行查询。原创 2023-12-12 20:54:17 · 299 阅读 · 0 评论 -
(第57天)分区表转换之脚本一键获取转分区步骤
在之前的课程里,我们介绍了几种方式来转换分区表,但是没有具体讲如何获取分区表结构的语句。一般来说,都是通过经验以及文档照葫芦画瓢来复制,但是在长时间的重复性工作中,“懒癌”发作的我就想着是否能通过自动化的方式构建分区表的建表语句呢?偶然发现分享的本脚本仅支持的方式转分区,不支持复合分区,接下来介绍下如何使用脚本一键生成分区表结构。原创 2023-12-12 20:53:45 · 74 阅读 · 0 评论 -
(第56天)分区表转换之复合分区
List-RangeList-HashList-List在生产环境种,最常用的复合分区方式是Range-Hash方式,因为Hash可以达到较好的打散表数据的目的。-- 查看主键确认是否可以重定义,没有主键可以用rowid执行没有报错代表可以进行表的在线重定义。BEGINEND;这一步操作是为了在结束重定义的时候,减少锁表的时间。BEGINEND;原创 2023-12-12 20:53:15 · 217 阅读 · 0 评论 -
(第55天)分区表转换之分区合并和拆分
Oracle 12CR2 版本开始支持对分区表进行在线拆分以及合并,只需要一个命令,而且不需要停机。原创 2023-12-12 20:52:44 · 69 阅读 · 0 评论 -
(第54天)分区表转换之 MODIFY 创建
12.2之后支持前面三章已经分别讲了数据泵、CTAS 和在线重定义的方式,本文主要讲解使用ALTER TABLE…MODIFY…方式进行分区表转换。在 Oracle 12CR2 版本之后,将非分区表转换为分区表变得比以往任何时候都更容易,只需要一个命令,而且不需要停机。原创 2023-12-12 20:52:13 · 81 阅读 · 0 评论 -
(第53天)分区表转换之在线重定义
DBMS_REDEFINITION(在线重定义):支持的数据库版本通过物化视图实现使用在线重定义的一些限制条件必须有足够的表空间来容纳表的两倍数据量必须在同一个用户下进行在线重定义SYS 和 SYSTEM 用户下的表无法进行在线重定义在线重定义无法采用 nologging如果中间表有新增列,则不能有 NOT NULL 约束ABSORT_REDEF_TABLE:清理重定义的错误和中止重定义CAN_REDEF_TABLE:检查表是否可以进行重定义,存储过程执行成功代表可以进行重定义。原创 2023-12-12 20:51:43 · 87 阅读 · 0 评论 -
(第52天)分区表转换之 CTAS
CTAS 是指以这种方式来根据原表结构来创建新分区表。优点:操作简单可控,CTAS 采用 DDL 方式,不会产生 UNDO,且只产生少量 REDO,效率相对较⾼,而且建表完成后数据已经在分布到各个分区中;缺点:CTAS 和 RENAME 期间无法访问表,需要停机进行操作,对表结构以及表数据需要梳理,转换后需要进行大量比较,准备工作较为复杂;本文主要讲解使用 CTAS 的方式进行分区表转换。原创 2023-12-12 20:51:12 · 78 阅读 · 0 评论 -
(第51天)分区表转换之数据泵导出导入
分区表作为 Oracle 三大组件之一,在 Oracle 数据库中,起着至关重要的作用。分区表有什么优点?提高性能:SQL 语句的 where 子句会过滤分区数据,只扫描需要查询的分区方便管理:各个分区隔离管理,部分分区故障不影响其他分区数据,支持对单个分区进行数据加载、数据备份、数据恢复以及索引重建等操作业务无感知:在数据库级完成分区,无需应用程序修改归档历史数据:对历史数据进行分区化归档,无需 DML 操作。原创 2023-12-12 20:50:42 · 117 阅读 · 0 评论 -
(第50天)DataGuard 运维常用小技巧
使用 Linux 系统自带的 mail 功能配置邮件发送,监控 DG 是否同步正常。原创 2023-12-12 20:50:09 · 67 阅读 · 0 评论 -
(第49天)DataGuard 执行 RMAN 备份以及恢复演练
众所周知,DataGuard 可以作为容灾库以及报表库,在生产中为主库分担了大部分的负载。但是很多生产库的体量以及负载较大,在主库执行 RMAN 备份可能需要持续 1 ~ 2 天,有影响到生产的可能性,针对这种情况,完全可以选择在备库来执行 RMAN 备份。本文演示在备库执行 RMAN 备份,并且使用备份来进行恢复演练,确保备份的可用性。原创 2023-12-12 20:49:38 · 119 阅读 · 0 评论 -
(第48天)DataGuard SwitchOver/FailOver 切换
上一章讲了如何使用 DG Broker 进行 ADG 一键切换,虽然很方便,但是生产中使用的不多,常用的切换方式还是手动切换(前提是未配置 DG Broker)。原创 2023-12-12 20:49:09 · 61 阅读 · 0 评论 -
(第47天)DataGuard 玩转 DG Broker
DG Broker 是一个分布式管理框架,可将 DG 系统中的主库和所有备库当做一个整体来实现集中自动化管理 DG 的创建、维护和监控。原创 2023-12-12 20:47:30 · 68 阅读 · 0 评论 -
(第46天)DataGuard GAP 快速修复
DG GAP 顾名思义就是:DG不同步,当备库不能接受到一个或多个主库的归档日志文件时候,就发生了 GAP。人工干预不同 Oracle 版本的 GAP 修复方式也不尽相同,下面分别介绍不同版本的方式!11G12C19COracle随着版本的升级,逐渐将步骤缩减,进行封装,19C 之后可谓是达到了所谓的一键刷新,恢复DG同步。原创 2023-12-12 20:47:00 · 146 阅读 · 0 评论 -
(第45天)DataGuard 搭建之 RAC 到 RAC
使用 Duplicate 在线复制的方式无需 RMAN 备份,可以通过 RMAN Duplicate 直接在线从主库拷贝文件。将主库生成并修改后的参数文件在备库创建好(这里建议源端目标端均使用。等待 RMAN duplicate 复制完成即可。将密码文件拷贝到备库,并且重命名,命名规则为。至此,ADG 搭建完成,备库可用于报表查询。原创 2023-12-12 20:46:19 · 117 阅读 · 0 评论 -
(第44天)DataGuard 搭建之 RAC 到单机
使用 Duplicate 在线复制的方式无需 RMAN 备份,可以通过 RMAN Duplicate 直接在线从主库拷贝文件。由于主库是 RAC,备库是单机,所以需要把集群相关的参数。等待 RMAN duplicate 复制完成即可。将密码文件拷贝到备库,并且重命名,命名规则为。至此,ADG 搭建完成,备库可用于报表查询。原创 2023-12-12 20:45:46 · 91 阅读 · 0 评论