Oracle数据库技术分享
文章平均质量分 62
Oracle数据库技术分享
Leon-Ning Liu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PDB未按预期时间执行自动统计信息收集问题分析
解答:参考官方文档KB140350,2月9日周一白天运行自动统计信息收集任务的原因实际为CDB$ROOT Scheduler默认时区(PRC)比PDB Scheduler默认时区(PST8PDT)快16h导致的差异,PDB层面是按照PST8PDT的Scheduler时区执行的自动调度任务,也就是按照PST8PDT时区2月8日6时的周日调度任务,实际在北京时间2月8日22时开始执行,结合前一个结论间隔4小时运行一次,也会在2月9日2时、6时、10时、14时再调度一次。此为Oracle的预期行为。原创 2026-02-12 16:27:25 · 509 阅读 · 0 评论 -
19C新特性:使用gv$tempseg_usage查看临时表空间使用率
GV$TEMPSEG_USAGE是12C引入的新视图,属于gv$sort_usage视图的增强版。GV$TEMPSEG_USAGE包含了所有临时段使用(排序、哈希、临时表等),相对更准确。gv$sort_usage只有在用的排序操作(SORT)使用的段,不够完整。原创 2026-02-05 16:11:14 · 49 阅读 · 0 评论 -
Oracle DG apply lag 零延迟后再查询延迟过大
1.查看v$dataguard_stats的apply lag波动很大,前一秒还是00:00,后一秒就是17:40,再查一次又变成了 00:00。监控反馈DG有延迟17分40秒左右,但是连上去查看 v$archived_log 里面,都是正常同步的。3.由于主库是RAC环境,查看RAC环境发现两边节点时间不一致,刚好相差17:40左右。2.查看了arch,alert,rfs等日志均未发现异常。,导致DG库端apply lag 时大时小。原创 2026-01-20 16:13:51 · 146 阅读 · 0 评论 -
19c RAC 环境 Patch 38326922 应用实战
确认Opatch版本号。原创 2026-01-05 18:04:03 · 255 阅读 · 0 评论 -
Oracle 19c RAC报错ORA-17503,ORA-27300,ORA-27301,ORA-27302
发现alert日志频繁报错trc 日志信息CLID: P。原创 2025-12-17 11:35:53 · 964 阅读 · 0 评论 -
【系列实验二】RAC 19C集群:CentOS 7.9 原地升级至 Oracle Linux 8.10 实战笔记
《CentOS 7.9至Oracle Linux 8.10原地升级实战》摘要 本文记录了Oracle RAC 19c集群从CentOS 7.9原地升级至Oracle Linux 8.10的完整过程。升级分为四个阶段:预检查(卸载旧包、停集群)、发行版迁移(使用centos2ol.sh脚本)、主版本升级(leapp工具)和事后清理(重装GUI、启集群)。关键步骤包括清理YUM配置、解决leapp预检查报错、处理共享内存段配置问题等。升级耗时约2-3小时,需特别注意网络稳定性、内核包冲突及系统参数重置问题。实验原创 2025-12-05 10:36:37 · 733 阅读 · 0 评论 -
【系列实验一】Oracle 19c RAC 安装(4个节点)
官方文档最小要求的内存是8G,但是在实验过程中发现,8G很可能导致数据库无法开启,建议至少要12GB。心跳网络不做bond,用2个网络做负载均衡。也可使用命令: /usr/lib/udev/scsi_id -g -u /dev/sdc 查看指定盘符的uuid。启动multipath配置后,会在/dev/mapper下生成多路径逻辑盘。略,图形化这步骤比较简单,懒的贴图了。有可能权限没变化,可以重启服务器,基本就可以了。,本次测试内存仅12GB,不需要配置。1 50G *1 ,共5个硬盘。原创 2025-12-03 10:16:03 · 845 阅读 · 3 评论 -
alter system kill session语句详解(19C增加了新特性)
会将一个会话标记为终止,其正在进行的事务,释放所有会话锁,并部分回收会话资源。你可以使用GV$SESSIONSIDSERIAL#不指定实例ID的情况下,kill session的会话和目标会话必须位于上。指定实例ID的情况下,kill session的会话可以位于上(推荐)。如果会话正在执行某些必须完成的操作,例如等待远程数据库(dblink)的响应或回滚事务,Oracle 数据库会等待该操作完成,然后将会话标记为终止,并将控制权返回给你。原创 2025-12-01 11:26:49 · 783 阅读 · 0 评论 -
Oracle查看隐含参数信息的SQL语句
权限下访问,普通用户无法查询。⚠️ 注意:这两个表是。原创 2025-11-20 10:45:55 · 206 阅读 · 0 评论 -
19C 数据库集群无法修复后 如何在另一个集群上恢复ASM数据
新的盘作为创建grid集群临时使用,1G即可。原创 2025-11-12 14:38:55 · 673 阅读 · 0 评论 -
修改oracle数据库用户密码永不过期
【代码】修改oracle数据库用户密码有永不过期。原创 2025-11-12 13:39:51 · 265 阅读 · 0 评论 -
19c静默建库如何调整块大小为16k
修改数据块为16k时,需要调整templateName,initParams两个参数,因为模板Data_Warehouse.dbc和General_Purpose.dbc默认都是8k注:该方式会比常规建库耗时,请耐心等待。原创 2025-11-10 17:03:27 · 347 阅读 · 0 评论 -
数据库参数OPTIMIZER_INDEX_COST_ADJ的一段故事
是一个用于微调优化器行为的参数,通过“人为地”降低或提高索引访问路径的“估算成本”,来影响SQL执行计划的选择。我看了一下,就是一个简单的单表查询,排查了一遍,没看到什么异常。故事是这样的,当时有个物流行业的DBA来找我,问一个简单的SQL语句怎么不走索引,他查了一圈,没找到问题。然后我通过他提供的时间,然后查看了DB TIME,发现从他说的这个时间点开始,DBTIME有明显的增幅。今天在做一个SQL语句的优化,突然间想起了一个参数OPTIMIZER_INDEX_COST_ADJ。原创 2025-11-07 16:07:02 · 306 阅读 · 0 评论 -
集群将仅存活的一个节点心跳down掉的影响
集群有rac1、rac2两个节点,关掉rac2节点,然后再将rac1的心跳网卡拔掉,观察是否对业务有影响。关掉心跳网卡后,已经建立的会话可以正常执行SQL,但是无法建立新的连接。原创 2025-11-07 11:38:27 · 124 阅读 · 0 评论 -
ASMCMD命令大全
这些命令共同构成了一个强大的命令行管理界面,使得 DBA 能够在不使用 SQL*Plus 或 EM 的情况下,高效地管理 Oracle ASM 环境。这些命令用于管理 ACFS(ASM Cluster File System)之前的 ASM 动态卷。这些命令类似于 Linux 中的基本文件操作命令,但操作对象是 ASM 磁盘组中的文件和目录。这些命令用于管理访问 ASM 实例的用户和组(需要启用 ASM 访问控制)。这些命令用于管理整个 ASM 磁盘组。这些命令用于管理 ASM 实例本身。原创 2025-11-07 11:36:56 · 800 阅读 · 0 评论 -
AIX7.2上安装19.3RAC 执行root.sh报错
该文章是在AIX7.2上安装RAC 19.3时,执行 root.sh 时遇到的问题。原创 2025-11-07 11:35:29 · 793 阅读 · 0 评论 -
Oracle常用视图:V$ACCESS(存储过程被锁)
在日常运维中,会遇到存储过程修改后无法编译提交,一直卡在那里,不知道是哪个会话在跑这个存储过程,只能等待。这个视图的作用是实时展示 当前对库缓存对象(library cache object)持有的锁。可以使用以下的SQL查看对应的SID,然后就可以判断是不是要kill。/这个hint,是因为不加的话,会运行很久,加上了就会快很多。原创 2025-11-06 10:23:00 · 269 阅读 · 0 评论 -
Windows环境Oracle占用CPU高如何排查到具体的会话
由于Windows与Linux的线程机制不同,Windows环境下Oracle数据库并不能很直观的看到每个进程的具体使用情况。原创 2025-11-03 13:50:54 · 150 阅读 · 0 评论 -
SQLPLUS小技巧:不切换用户,不修改模式名,直接运行其他用户下的语句(模式切换)
在日常运维中,用DBA的权限执行应用SQL语句时(做SQL优化等场景下),经常会遇到语句无法执行,原因就是语句中的表名前没有写对应的schema。这时候一般我们就要切换用户,或者在表名前加上对应的schema。这样就可以节约时间,合理的摸鱼了。原创 2025-11-03 10:08:44 · 148 阅读 · 0 评论 -
SQLPLUS小技巧:忽略SQL语句中的&符号(禁用替代变量)
在日常运维中,会遇到开发在注释中加入“&”,导致在SQLPLUS中执行语句的时候会要求输入变量,这样就对批量跑语句产生一些小麻烦。可以用set define off来规避这个问题。原创 2025-11-03 09:53:37 · 251 阅读 · 0 评论 -
ALTER TABLE MODIFY 在线将非分区表更改为分区表
Oracle 12.2 以前在线将非分区表更改为分区表只能使用在线重定义的方式,在12.2及以上版本新增了ALTER TABLE MODIFY直接转换。原创 2025-10-23 11:07:13 · 327 阅读 · 0 评论 -
ORACLE WITH ADMIN OPTION权限特性测试
权限仍保留,表明系统权限回收具有。的用户无法回收权限用户的权限。时,被授权者不具备转授权限。(上游权限回收不影响下游)。:执行失败(报错),表明无。赋予被授权者转授权限。:执行失败,表明未拥有。原创 2025-10-23 10:50:06 · 302 阅读 · 0 评论 -
Oracle RAC 集群目录权限误修改恢复
Oracle RAC 环境下的目录权限是十分复杂的,且误修改很可能导致CRS无法启动,节点驱逐等问题。本文阐述了误修改RAC其中一个节点,如何从另一个正常节点复制正确的权限到问题节点。原创 2025-10-16 15:50:14 · 249 阅读 · 0 评论 -
使用 SQL*Plus 生成 HTML 格式的报告
SET MARKUP是 Oracle SQL*Plus 中的一个强大命令,它允许你将查询结果为或等结构化格式,而不是默认的纯文本网格。原创 2025-10-16 15:05:05 · 261 阅读 · 0 评论 -
Oracle DBMS_JOB
DBMS_JOB是Oracle数据库中一个传统的作业调度工具,用于在后台定期执行PL/SQL代码,它是在Oracle的核心调度器。原创 2025-10-14 15:16:01 · 214 阅读 · 0 评论 -
oracle spfile/pfile 定位
定位 spfile 路径(以数据库 emrep 为例)pfile启动时显示:若为pfile,并且无法确定指定的pfile文件是哪个,建议直接从内存里创建pfile若要重启可以考虑利用memory 创建spfile后利用spfile启动。原创 2025-10-11 15:49:46 · 321 阅读 · 0 评论 -
Oracle 23ai RAC安装部署文档
Oracle 23ai RAC安装部署原创 2025-10-11 11:23:37 · 793 阅读 · 1 评论 -
Oracle回收站recyclebin
Oracle 回收站是一个逻辑结构,它用来存放被 DROP 掉的数据库对象(如表、索引等)。它的主要作用是提供一个“安全网”,允许用户在误删对象后能够将其恢复,从而避免数据的永久丢失。原创 2025-10-11 10:48:12 · 162 阅读 · 0 评论 -
oracle普通视图插数据和 WITH CHECK OPTION插数据实践
这个视图是 “简单” 的,因为它基于单个表,没有复杂的聚合或连接。可以为视图增加一个 “数据校验” 层,确保通过视图操作的数据始终符合视图定义的规则。本实验旨在验证 Oracle 视图的更新特性,并重点演示。:证明当视图定义足够简单时,我们可以通过它来修改基表数据。现在,我们尝试通过这个视图插入一条新记录。子句在保障数据完整性方面的作用。条件创建第二个视图,但这次加上。我们再尝试插入一条符合条件的记录。我们基于同一个基表和。原创 2025-10-10 18:01:39 · 266 阅读 · 0 评论 -
【Oracle RAC 】如何把普通的Administrator-Managed Database 转换为 Policy-Managed Database
如何把普通的Administrator-Managed Database 转换为 Policy-Managed Database原创 2025-09-28 15:49:06 · 288 阅读 · 0 评论 -
记一次 sqlplus / as sysdba 报错ORA-12547: TNS:lost contact
遇到一个刚安装好RAC的环境,其他节点正常,其中一个节点用sqlplus / as sysdba登录报错。原创 2025-09-28 14:19:53 · 229 阅读 · 0 评论 -
Linux 8 修改网卡 device名
Oracle RAC要求每个节点对应网络的网卡名必须要一致。在RAC安装部署或者加节点时遇到了网卡名不一致的情况,需要修改网卡名。Linux 8的网卡名修改方法与之前的版本不一样。原创 2025-09-26 13:36:13 · 308 阅读 · 0 评论 -
Oracle创建临时表的语法
临时表分为全局临时表和私有临时表。全局临时表是oracle8i版本的特性。私有临时表是oracle18c版本的特性。全局临时表的结构是所有会话都可以使用的,但是数据是每个会话独享的,每个会话对于同一个全局临时表的数据都是互相独立的。临时全局表的结构是每个会话独有的,数据自然也是独享了,每个不同会话可以有相同名字的私有临时表。原创 2025-09-23 21:31:25 · 254 阅读 · 0 评论 -
Oracle12c以上数据库密码备份恢复
场景:在忘记原密码的情况下用户密码过期需要修改密码,但是应用调整密码的地方太多无法全部修改为新密码,所以在我们修改密码使用户unlock后,还需要再将密码恢复为原密码。由于12c与11g的user$有很大不同,本文讲述了12c以上如何备份密码并在密码修改后恢复为原密码。原创 2025-09-22 17:52:38 · 181 阅读 · 0 评论 -
Oracle Data Guard环境中监听器参数与数据库参数的对应关系
通常与DB_NAME或一致,主库和备库可以相同或不同。SID_NAME:必须与一致,主库和备库通常不同。DB_NAME:主库和备库必须相同。:主库和备库必须不同。:主库和备库通常不同。这些参数的配置需要根据具体环境和需求进行调整,以确保Data Guard环境的正常运行。原创 2025-09-19 21:40:11 · 457 阅读 · 0 评论 -
Oracle 19c 包 (Package) 开发文档
本文全面介绍了Oracle 19c数据库中包(Package)的开发与管理,包括包的定义、结构、创建方法及最佳实践。包作为Oracle实现模块化编程的核心机制,由包规范(接口)和包体(实现)组成,具有模块化、信息隐藏、性能优化等优势。文档详细说明了包的语法结构、调用方法、管理维护策略,并深入讲解了重载、会话状态保持等高级特性。同时提供了性能优化建议、安全实践规范和常见问题解决方案,强调合理使用包对提升数据库应用性能、安全性和可维护性的重要性。原创 2025-09-19 18:22:21 · 541 阅读 · 0 评论 -
oracle 关闭数据库的四种操作的区别
立即阻止新连接与新事务;强制终止所有活跃事务(不回滚,事务状态保留在重做日志中);直接终止所有数据库进程(类似 “断电”),跳过资源清理步骤;数据库直接从OPEN状态变为SHUTDOWN状态,不经过MOUNT阶段。Oracle 四种SHUTDOWNNORMAL与:安全优先,适用于常规维护;IMMEDIATE:平衡安全与效率,适用于紧急但无故障场景;ABORT:效率优先(强制中断),仅用于故障应急。原创 2025-09-19 18:23:13 · 1210 阅读 · 0 评论 -
Oracle 19c 同义词 (Synonym) 开发文档
本文档详细介绍了Oracle19c中同义词(Synonym)的概念和使用方法。主要内容包括:同义词分为私有和公有两种类型,前者仅创建者可用,后者对所有用户开放;创建语法及示例;同义词的管理方法,包括查询、修改和删除;使用同义词的优点和适用场景;最佳实践建议,如命名规范、权限管理和性能考虑;常见问题及解决方案。同义词能简化对象访问、增强安全性、便于维护,是提高数据库管理效率的重要工具。文档为开发人员和管理员提供了全面的参考指南。原创 2025-09-19 18:22:41 · 686 阅读 · 0 评论 -
Oracle11g数据库密码备份恢复
场景:在忘记原密码的情况下用户密码过期需要修改密码,但是应用调整密码的地方太多无法全部修改为新密码,所以在我们修改密码使用户unlock后,还需要再将密码恢复为原密码。本文讲述了如何备份密码并在密码修改后恢复为原密码。原创 2025-09-19 18:21:43 · 327 阅读 · 0 评论 -
Oracle 函数(Function)开发文档
Oracle函数是存储在数据库中的可重用程序单元,用于执行计算并返回单个值。主要优势包括代码重用、简化复杂计算和提高性能。函数分为标量函数(返回单值)、表值函数(返回结果集)和聚合函数(对数据聚合计算)。创建时应遵循命名规范(F_前缀)、添加详细注释,并包含异常处理。性能优化建议包括减少上下文切换、标记确定性函数和避免DML操作。函数可在PL/SQL块或SQL语句中调用,并通过ALTER FUNCTION管理。最佳实践强调单一职责、参数验证和单元测试,以确保开发高质量、易维护的函数。原创 2025-09-17 11:34:55 · 1080 阅读 · 0 评论
分享