Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A。 Standby: 11.2.0.1 单机,Site B、Site C。 当前DG环境示意图:
说明:本文汇总Oracle安装部署,版本升级,应用补丁等相关内容,方便快速查阅。 其中参考随笔是汇总我自己总结的原创作品,参考文章是汇总其他作者的相关优秀作品。
通过软件升级到11.2.0.4后,当查询的语句涉及到较多的blob、clob字段时,会报ORA-06550 、PLS-00306:调用'SYNCRN'时参数个数或类型错误,该问题是一个bug问题,可以通过如下方法解决:
在Oracle中,什么是延迟段创建(Deferred Segment Creation)?
前段时间在做oracle查询的时候遇到了一个非常奇怪的现象,现将现象和解决过程记录下来,以备查看:
使用oracle 11.2.0.1 的客户端,对19c的服务端进行连接时,报错:ORA-28040: No matching authentication protocol
sqlnet是oracle提供的与网络层面交互的一个工具,比如如何解析客户端发起的连接,如何对客户端发起的连接进行辨别,如何对客户端连接进行阻隔限制,或者启用日志及跟踪(log and trace)功能等等一系列的功能。所以,可以通过sqlnet工具对tnsping进行跟踪分析,查找为何外部网络无法连接数据库的原因。
首先需要了解一些有关PSU(Patch Set Update)、CPU(Critical Patch Update)、BP(Bundle Patch)等概念,参考下表:
跑SELECT dbms_sqltune.report_tuning_task(:tuning_task) FROM dual; 错误消息,如下面:
最近数据库从10.2.0.3升级到了10.2.0.5之后,一些对象无法编译通过。查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。下面是这个问题的症状及对策。
在 2018年8月10日,Oracle 独立的发送了一封"安全警告"邮件给所有的 Oracle 用户,这封邮件的标题是:Oracle Security Alert for CVE-2018-3110。这也是今年 Oracle 第一次独立针对一个 CVE 安全风险发布预警。
【DB笔试面试792】在Oracle中,ORA-01578和ORA-26040--NOLOGGING操作引起的坏块-错误解释和解决方案.
(一)NOLOGGING操作引起的坏块(ORA-01578和ORA-26040)简介
之前写了一篇文章介绍的是用SQL Profile来调整、稳定目标SQL的执行计划,即使无法修改目标SQL的SQL文本。但SQL Profile实际上只是一种亡羊补牢、被动的技术手段,应用在那些执行计划已经发生了不好的变更的SQL上,即当我们发现这些SQL的执行计划已经出了问题时通过创建SQL Profile来纠正、稳定这些SQL的执行计划。即便通过创建SQL Profile解决了目标SQL执行计划变更的问题,依然不能保证系统后续执行的SQL的执行计划就不再发生不好的变更。这种不确定性会给Oracle数据库大版本升级(比如从Oracle 10g升级到Oracle 11g)带来一系列的麻烦,因为不清楚升级之后原先系统中哪些SQL的执行计划会发生不好的变更。
如果是在几年前讨论Oracle升级的问题,其实会存在很多的异议,如今再来看待这个问题,我觉得情况有了变化,我来尝试重新解读一下这个问题。
Warning: The SCN headroom for this database is only 3 days!
最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。通常情况下,当我们基于不完全恢复的时候,日志文件需要被清空,而此时是正在被清空。不是很好理解啊。下面是这个问题的解决方案。 一、故障现象 SQL> alter database open resetlogs; alter database open resetlogs *
想必我们大家都知道,Shutdown immediate即一致性关闭数据库,数据库下次启动不需要做实例恢复即可open数据库。那么当数据库一致性关闭出现缓慢等状况时,该怎么办呢?那我们就来一起分析一下,数据库一致性关闭缓慢问题。 shutdown immediate在数据库中会做哪些操作? 📷 从以上图得知在shutdownimmediate关闭数据库只需要在数据库中强制选择检查点并关闭文件,不需要等待当前事物处理结束,不需要等待当前会话结束,不允许新连接。 引发shutdown immediate slo
注意:为了模拟客户环境,假设无法通过UNDO快照找回,当前删除时间点为:<2021/06/17 18:10:00>。
想必我们大家都知道,Shutdown immediate即一致性关闭数据库,数据库下次启动不需要做实例恢复即可open数据库。那么当数据库一致性关闭出现缓慢等状况时,该怎么办呢?那我们就来一起分析一下
今天有客户联系说误更新数据表,导致数据错乱了,希望将这张表恢复到 一周前 的指定时间点。
设置互信信息 首先添加rac2节点 依次点击 SSH Connectivity ,填写 oracle 密码,最后点击setup,安装程序会自动建立两节点互信 如之前建立过互信需勾选 reuse private and publick key选项
修复由于主库NOLOGGING操作引起的备库ORA-01578和ORA-26040错误
一、做性能压测,实现准实时从mysql同步数据到oracle,mysql采用分库分表,oracle是传统rac架构。源端使用全量初始化+增量解析binlog方式来保证实现数据同步,之前主要采用oracle goldengate同步数据,但是goldengate不支持mysql xa事务,从而测试其他同步工具解决mysql到oracle数据同步问题(具体细节后面讲述)。对同步工具进行性能压测如期进行,但是收到数据库连接数告警信息,不符合常理,经过检查发现,数据库等待事件中enq:HW–contention占大头.将近60%.
迁移环境 源:Solaris 10 + Oracle 11.2.0.3 目标:Solaris 10 + Oracle 11.2.0.1 导出命令: expdp user/pwd directory=jy content=metadata_only tables=xxx,xxx,xxx exclude=statistics dumpfile=expdp_xxx.dmp logfile=expdp_xxx.log version='11.2.0.1.0' 导入命令: impdp user/pwd directo
概述:北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询。
昨天升级数据库,从10.2.0.5.0升级到11.2.0.2.0.按照预定的步骤很快就操作完了。升级完成后,开始跑一些应用和Job.有一个Job开始报错,Job是一个自动的同步job,中会有exp的动作,而且里面用到了consistent=y的选项,这样exp就大体如下:exp xxxx/xxxx file=xxx.dmp tables=xxxx consistent=y报错如下: Export: Release 11.2.0.2.0 - Production on Mon Sep 23 16:43:12
如果对tnsnames.ora文件没有做相应的配置,那么也可以使用Oracle的EZCONNECT(Easy Connect Naming Method)方式来连接到数据库,其语法形式如下所示:
1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大。
RAC 增加SCAN IP :http://blog.itpub.net/26736162/viewspace-2155652/
解压 p13390677_112040_Linux-x86-64_3of7.zip 文件提取grid安装文件
1.确认迁移需求:源数据库cssf 用户所有表和数据迁移到目标数据库新建用户cssf_gt下,表空间为dbs_cssf_gt。
(1) 这里设置初始数据文件大小是200M,AUTOEXTEND属性默认自动增长,每次申请新的表空间时会分配32M,最多分配1024M。
客户有个需求:某用户程序(含exp导出任务)报错EXP-00003,这个错误并不会影响整个导出任务的结束,但由于是晚上的定时任务,该错误会触发夜间告警。客户想通过数据库层面来规避掉此错误。 事实上,这个错误是比较普遍的,我们知道Oracle 11g有一个延迟段创建的特性,这个特性在最佳实践一般是建议关闭的,但由于默认是开启,大部分环境还是默认值。如果我们直接通过网络去搜索这个错误,也会得到一些答案,给出的解决方案有两种,一是关闭该特性(但是这对之前的空表无效),二是给空表主动插入一条数据(这在实际生产环境实际是不现实的)。 客户的数据库环境是11.2.0.4,我在自己测试环境顺手验证了下,结果发现并不会报错EXP-00003。 依次确认:
在Linux环境下,可以设置TWO_TASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TWO_TASK的设置作为环境变量连接数据库。其中,TWO_TASK的值为tnsnames.ora文件中配置的值。示例如下所示:
在物理机上使用虚机搭建RAC环境时碰到了很多“坑”和关键点,这里慢慢一一回味总结下。
也许大家对数据库中游标都不陌生,但对于其概念可能有时又会有些模糊,游标到底是什么? 为了使大家对游标有个清晰的认识,本文将介绍Oracle中游标(curosr)相关的知识。
Oracle Server – Enterprise Edition – Version 11.2.0.1 and later Information in this document applies to any platform.
Oracle最吸引人的地方,就是有些答案,隐藏在种种现象之中,扑朔迷离,朦朦胧胧,就像侦探办案,首先要有思路,其次要有证据,再者就是扎实的基础知识,另外就是些运气。
今年以来,在某客户现场遇到了2次HPUX IA64平台11g及12c某些版本登陆速度缓慢的问题(包含本地及远程sqlplus/jdbc登陆都慢),经过大量测试分析,最终确定Oracle的某些PSU存在缺陷,导致在HPUX IA64平台上登陆时间大幅增加。
引言:这篇文章主要是介绍了 Oracle RAC 集群服务的启动与关闭顺序,很多初学者不太理解 RAC,对 RAC 知识了解甚少,对其启动与关闭的顺序和原理不是特别清晰。因此分享了这篇文章,感谢原作者辛苦的付出,更加地感谢大家对此篇文章的浏览。
ORA-02374: conversion error loading table "QBJMES"."PROJECT"
1. 11g的库,话说有一个应用程序新上线,应用中使用了绑定变量的方式执行一条简单的SQL,例如select a from b where c = :x,c列是该表复合主键的前导列,表定义是varchar2类型,从spotlight监控看这条SQL的执行计划是全表扫描,一次执行要1个小时,这张表是运行很久的引用分区表,数据量是亿级,测试的时候正常,但很显然测试的数据量可能和生产非常不一致,导致没察觉。
张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 在Oracle11g新增了一个特别的功能—DBFS,从字面翻译,DBFS=DATABASE FILE SYSTEM(数据库文件系统),听上去好像很神奇的样子,到底数据库文件系统是什么呢? 简单的来说,DBFS 就是 Oracle 11gR2 中提供的能够在 Linux 操作系统中将 Oracle 数据库当成文件系统来使用的功能。在 DBFS 内部,文件是以 SecureFiles LOBs(对比与以前的 BasicFiles
昨天大半夜装一个RH5+Oracle版本,期间碰到了几件事情,陈述如下,以此为据。
环境:Linux + Oracle 11.2.0.1 ADG 现象:发现备库没有应用日志
为了解决因为统计信息缺失或者统计不够准确而引起的问题,从9iR2的版本开始Oracle推出了动态采样(Dynamic Sampling)功能,使SQL文在硬解析过程中动态地收集统计信息。 该功能在以后的版本上得到更进一步的增强,从11.2.0.4版本改称为动态统计(Dynamic Statistics 以后简称DS )。
在Oracle数据库中判断得到的执行计划是否准确,就是看目标SQL是否被真正执行过,真正执行过的SQL所对应的执行计划就是准确的,反之则有可能不准,因此,通过10046事件及如下的几种方式得到的执行计划是最准确的,而从其它方式获取到的执行计划都有可能不准确。
提示segmet的含义是get a semaphore set identifier,即获取一个信号量集标识符。说明此错误可能和未获得信号量有关,No space left on device不是指存储空间,而是指信号量资源。
领取专属 10元无门槛券
手把手带您无忧上云