Author: mac
-
Oracle 故障排除ORA-01116:打开错误…错误24打开的文件太多
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 错误24经常出现在提交并发请求,如日常商务智能(DBI)初始或增量加载时。然而在执行各种操作时,随时都可能出错24。在这份说明中,我们假设问题是可重复的,以提交DBI请求集为例。 这问题只有两个已知原因。本说明的目的是提供一套清晰的说明,以确定问题的原因是什么,以便采取适当行动。 这是Oracle遇到的一个操作系统(OS)错误,Oracle会将其报告给应用/用户。 故障排除步骤 1.确保你的数据库服务器上有UNIX工具lsof的副本。如果没有,下面的信息提供了如何获得副本的详细信息。 lsof的最新分配是通过从主机lsof.itap.purdue.edu匿名FTP。你会发现在酒吧/工具/ UNIX/ lsof的目录中lsof的分布。 你也可以使用这个网址: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof LSOF在别处也有镜像。当您访问lsof.itap.purdue.edu并改变其pub/tools/unix/lsof的目录,你会得到一些镜像站点的列表。 这个pub/tools/unix/lsof的目录下,在其镜像文件中包含更加完整的列表。谨慎使用镜像 – 不是所有的镜像都拥有最新版本的lsof。 一些预编译的可执行文件lsof可在lsof.itap.pur-due.edu找到,但不支持使用 – 最好能从源代码构建自己的文件。如果你觉得必须使用一个预编译的可执行文件,请阅读在pub/tools/unix/lsof/二进制子目录中的README文件中以及分配的00*文件中出现的注意事项。 2.以拥有Oracle进程的telnet/ ssh身份连接到RDBMS服务器。 3.在UNIX提示符处发出以下命令 whoami > /tmp/orainfo.txt ulimit -n >> /tmp/orainfo.txt ulimit -Hn >> /tmp/orainfo.txt ps -ef | grep -i oracle >> /tmp/orainfo.txt 4.发出以下命令,以root身份连接 su – 5. 发出以下命令 (以 root身份) whoami…
-
Oracle 并发处理 – 11i-R12 APP-FND-01564 ORA-01116 ORA-01110 ORA-27041运行并发请求
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] Oracle并发处理 – 版本12.0.4至12.1.3[发行12版至12.1] Linux x86的 2013年12月1日检测相关性 目的 这是解决方案的整合,针对APP-FND-01564 ORA-01116 ORA-01110 ORA-27041错误运行并发请求 故障排除步骤 1.在 R12应用程序运行并发请求或请求集,结果导致APP-FND-01564 APP-FND-01564: ORACLE 错误 -1116 in SUBMIT: 其他 原因: 提交:因为ORA-01116,其他失败: 打开数据库文件{序号}出错 ORA-01110:数据文件{号}:“/{目录路径} / {文件}.dbf” ORA-27041:无法打开文件 Linux错误:24:打开文件太多 其他信息:3。 出错时正在执行的SQL语句是: &SQLSTMT,并且是从&ERRFILE文件中执行。 原因 如果lsof命令的输出值比的ulimit的值大,就会出现错误。 使用下面的命令查看由applmgr使用打开的文件数: $ lsof -u applmgr | wc -l 将结果与ulimit的值作比较: $ ulimit -n 解决办法 调整打开文件描述符的数量 打开/etc/security/limits.conf文件,并按照下列要求改变现有的“硬”和“软”参数值。更改后重新启动系统。 注意: 如果有任意一个参数的当前值高于本文档中列出的数值,不要改变参数的值。…
-
Oracle数据库块检查功能
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] Oracle数据库 – 企业版 –版本9.0.1.0和本文档中适用于任何平台的更高的信息。 目的 这篇短文介绍了Oracle 的几个功能,可在新数据库上用来在快要发生故障时帮助检测,其中一些功能是公开记录的,有些则不是,都应该小心使用。Oracle支持服务建议使用这些功能来创建新数据库,但是,在现有数据库上引入任何功能时,要注意它们可能会显示存在的问题。 详情 块校验 不同的Oracle 版本中有一个特殊的规定,就是对Oracle数据库块添加校验,当块接下来由Oracle读取时,这有助于检测介质损坏。 它有什么作用? 块校验迫使Oracle计算校验和,并在它写入到磁盘之前,置于每个数据库块的头部。 当块随后被读出时,校验和被重新计算,存储的值与计算的值一起被检查。 任何差异都被当做一个介质错误,ORA-1578错误也以信号告知,校验和本身在块被写入之前添加到块。 优点 校验使Oracle能检测因底层磁盘、存储系统或I / O系统引起的早期损坏。 缺点 导致了一小笔性能开销。 开启此功能通常仅仅会导致增加1%到2%的开销,所以,Oracle公司建议将DB_BLOCK_CHECKSUM设置为true,但是,在一个实时的数据库上引入该选项之前,如果可行的话,应该进行检查,这种开销是不太可能很大,但它的影响主要取决于应用程序和数据访问,所以是很难预测的。 启用块校验和 将下列相关的参数添加到你的INIT.ORA 文件中 Oracle 版本 用来启用校验和的参数 10gR2+ DB_BLOCK_CHECKSUM = OFF | TYPICAL | FULL 默认是TYPICAL和以前版本中的 TRUE 一样 在FULL 模式下,Oracle 在来自update/delete 语句的变更申请前,还确认了校验,变更申请后,重新计算了校验。此外,在将其写入当前日志之前,Oracle对每一个日志块进行校验。 9.0.1 – 10g …
-
ORACLE和UNIX上的块损坏 block corruption
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 数据库检验和决定了DBWn和直接加载器是否会计算检验和(从存储在该块的所有字节计算得来),也决定了在将其写入磁盘时是否将它存储到每个数据块头的缓存区,只有该参数正确并且最后一次该区块的写入存储了检验和时,块区读取时,检验和才得以证实,如果设置为FULL,数据库块检验和同样会导致内存损坏,不能传递到磁盘。 The _db_block_cache_protect=true protects the cache layer from becoming corrupted. 该参数会阻止某些损坏到达磁盘,虽然可能会导致数据库实例的前景的崩溃,这将有助于在缓存区捕捉偏离的写入,当一个进程试图不顾SGA中缓冲区的大小写入时,首先会因为码冲突出现失败。 如果数据库写入进程在将块写入磁盘之前检测到高速缓存中的损坏块,它会发出错误信号,并使数据库实例崩溃,损坏块绝不会写入到磁盘,收到错误信号后,简单地尝试重启数据库实例,毫无疑问,这是一个避免块损坏的一个昂贵的方法,但是,损坏产生后的解决方法会更昂贵。 案例三 块损坏产生的第三个原因是操作系统不服务于所请求的I/O系统,为返回错误代码Oracle对lseek()和 read()的调用被检查,此外,Oracle检查以查看被read()系统调用所读取的字节数,以确保块大小或块大小的倍数被读取,由于这些检查看起来是成功的,Oracle便假设该直接读取成功了,经完整性检查,RDBA是不正确的,对数据库的操作请求失败,所以,I/O 读取请求实际上从未发生,在这种情况下,发现的RDBA可以指向不同文件的区块。 案例四 块损坏的另一个原因是从同一设备中读取了错误的区块。这是非常繁忙的磁盘引起的典型的问题,在一些情况下,区块读取在一区块停止,但是却能涵盖几百个区块,因为当磁盘很繁忙并且处于压力大的状态下,这种情况才会发生,所以,尝试在多个磁盘中扩展数据文件,以保证磁盘驱动器能支持负载。 在第三种和第四种情况下,该数据库文件不会发生物理损坏,操作可以再次尝试,并能获得成功,大多数诊断测试不会显示关于操作系统或硬件的任何毛病,但是,问题往往是有关操作系统和硬件的问题。(Velpuri, 1995) 所以,是什么原因导致操作系统调用出现这样的行为?公司又将怎样尽力降低风险?我了评定这些问题,另外了解UNIX的工作方式是必需的。 为了提高性能,UNIX 供应商已经在文件系统上实现了很多功能,文件系统管理大缓存I / O缓冲区的大缓存,称为缓冲区高速缓存,此缓存使UNIX能够优化读取和写入操作,一个程序写入数据时,文件系统将数据存储在缓存区而不是立刻写入磁盘,在之后的某个时间点,系统会将该数据连同在该缓存区缓存的其他数据一起发送到磁盘驱动器,换句话说,缓冲区高速缓存允许磁盘驱动器按进度分批进行磁盘操作,它可以实现更大的调用,使用更加优化的技术从而使磁盘访问更加高效,这被称为后写。 当程序读取数据时,系统首先检查缓冲区高速缓存,观察想要的数据是否已存在,如果数据已存在,文件系统则不需要访问磁盘上的这些区块,它只是为用户提供了在其缓冲器中找到的数据,而无需等待一个磁盘驱动器;如果缓存区不存在想要的数据,文件系统仅仅需要读盘。为了进一步提高效率,文件系统假定该程序将连续从磁盘一次读取该文件并读取若干区块,这增加了未来读取操作的数据出现在缓存区的可能性 (Loukides, M.,1990),同时这也增加了块损坏发生的可能性。 当文件系统变得繁忙,缓冲区被读取、修改、写入和老化时,内核读取和写入错误区块的机会就会增加,同时,需要读取和写入磁盘的方案越复杂,操作失败的可能性会越大。 虽然字符设备的读写程序有时会使用与其区块相对应的策略程序来直接在该设备和用户地址之间传送数据,但是,UNIX 内核使用策略接口来发送高速缓存缓冲区和设备间的数据,该策略程序可能会在一个设备的工作清单上等待I/O 工作,或者为规划I/O 工作做更复杂的安排,驱动程序可以设置数据传输的一个物理地址,合适的情况下多个物理地址, UNIX内核传递一个缓冲头的地址到驱动策略程序,该缓冲头包括向该设备或从该设备传送数据的一系列地址和尺寸,这也是交换操作系统的工作方式,对高速缓存缓冲区来说,内核从一个地址传送数据,交换时,内核从多个数据地址传送数据,如果数据从用户地址空间拷贝或拷贝到用户地址空间,驱动器必须锁定存储器中的进程直到I/O 传递完成。 只有当内核等待缓冲区和磁盘上间的I/O 操作完成时,内核才会失去对缓冲区的控制, 可以设想,磁盘驱动器已损坏,不能中断CPU,从而防止内核不断释放缓冲器,有些进程可以监控这些情况下的硬件,使区块清零,对于坏磁盘作业向内核返回一个错误。 (Bach, 1990…
-
Oracle 块损坏/坏块的原因
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 目的 本文主要讨论了造成块损坏的一些原因。 范围和应用 适用于试图了解数据库中块损坏原因的用户。 相关文献 通常,损坏发生后,组织管理层需要从数据库管理员处获得一些信息,来了解损坏是如何发生的,他们需要做些什么来加以避免。 造成损坏的原因很多,大致可分为以下几类: 1. 硬件故障 最常见的硬件故障是硬盘上块的物理损坏或是磁盘控制器发生故障,在磁盘发生故障的情况下,磁盘可能完全损坏或者盘片个别点可能会损坏。 典型的是,该损坏仅限于 磁盘上的文件, 最常见的原始是运行时的电压浪涌和系统的运动、硬件的年限或制造缺陷,该磁盘的OS级别的系统调用通常受到影响。(对文件的读取和写入) 在磁盘控制器出现故障的情况下,你可能会看到和磁盘故障相同的行为,但通常它并不限定于一个磁盘,控制器可能偶尔无法进行读取和写入,或者存在镜像磁盘间读取和写入的协调问题,控制器也可能完全损坏。在任何情况下,你通常会看到OS相关的错误和/或故障。 软件故障 在软件出现故障的情况下,你通常会收到不会在OS级别显示的Oracle错误, 他们往往都伴随着内部错误、核心转储或特定的错误,表明无法读取或写入未出现,并且蓄意试图删除或复制已成功完成的文件, 这些错误通常是由几种已知的原因造成的,数据库或 OS 操作系统的问题极端严重,该数据库性能很差现或反复崩溃, 当数据库打开时关闭后台进程,对涉及从磁盘或内存读取或写入的任何正常的内核级别活动的不恰当的处理已经被定义成错误或者还未被定义成错误。 造成软件故障的原因是不同的,除非是与错误相关的,通常不会出现一致的原因。 硬件和软件故障 这些是最难区分的,他们可能会通过任何数量的方式表现,需要硬件专家、软件专家和开发商共同努力来理清问题的根源。 如何为损坏做准备 a. 准备故障应急预案 b. 保持补丁版本是最新的 c. 调试 头号解决方案是做好最坏的打算。 定期备份和输出,同时调试数据库和OS操作系统,另一个考虑是研究硬件的寿命,规划到资金预算,以便定期迁移到由预期寿命确定的新系统上。 …
-
Oracle ORA-3113:网络繁忙超时
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 问题描述: ==================== 已建立的连接间歇性断开。 ORA-03113返回到应用程序。 应用程序必须启动一个新的连接。 数据库alert.log中没有生成错误 解决方案: ===================== 警告:Windows注册表/编辑器使用不当会导致很严重的问题, 可能需要您重新安装操作系统。 在 Windows 注册表上增加TcpMaxDataRetransmissions 参数 在Windows 上(2000, XP, 2003, Vista, 2008, 2008 R2, Windows 7): HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet …
-
Oracle 故障排除 ORA-03113 ORA-03113: 通信通道的文件结尾 ORA-03113: end-of-file on communication channel
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] ORA-03113: end-of-file on communication channel ORA-03113: 通信通道的文件结尾 应用于: Oracle 数据库–企业版– 9.2.0.1 到 12.1.0.1版本[发布 9.2到12.1版] 此文件信息可应用于任何平台 ***于2016/1/11进行相关性检测*** 目的: ORA-3113“通信通道文件终端”错误是常见错误,通常反映在客户端进程中,与Oracle数据库相连。这一错误表明 ‘连接不到Oracle服务进程’。因为是常见错误,可以收集更多信息更易于判断哪里出错—错误本身并不表明错误原因。例如,ORA-3113可能是以下任何一种情况: 服务器崩溃 服务器进程在O/S水平中断 网络出错 Oracle 内部出错 (ORA-600 / ORA-7445) / 服务器中止 客户端错误处理多个连接 等等。。。一系列可能原因 !! 本文讲解了针对ORA-3113错误应该搜集哪些信息,这种错误通常与其他错误一起出现,比如: ORA-1041 内部错误. hostdef 扩展不存在 ORA-3114 未连接到ORACLE (使用PL/SQL时,这种错误会出现在 ORA-3113 之前) ORA-1012 未登录 这些都表明,与Oracle断开连接 注意: 这篇笔记是更新后的版本,已存档…
-
Oracle 使用防火墙时报ORA-3113
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] Oracle网络服务 – 版本10.2.0.1到11.2.0.4[发行10.2至11.2] 本文档中的信息适用于任何平台。 症状: 休息几分钟后再处理查询时,客户端报ORA-3113 16等级客户端跟踪显示下面的堆栈: 2011-12-16 07:11:54.598189 : nsprecv:reading from transport… 2011-12-16 07:11:54.598213 : nttrd:entry 2011-12-16 07:12:13.470991 : ntt2err:entry 2011-12-16 07:12:13.471091 : ntt2err:soc 828 error – operation=5, ntresnt[0]=530, ntresnt[1]=53, ntresnt[2]=0 2011-12-16 07:12:13.471120 : ntt2err:exit 2011-12-16 07:12:13.471144 : nttrd:exit 2011-12-16 07:12:13.471185 : nsprecv:error exit 2011-12-16 07:12:13.471214 : nserror:entry 2011-12-16…
-
【Maclean Liu技术分享】拨开Oracle优化器迷雾探究Histogram之秘
【Maclean Liu技术分享】拨开Oracle CBO 优化器迷雾, 探究Histogram直方图之秘,讲座文档正式版已上传 http://t.askmac.cn/thread-2172-1-1.html 预计时长: 1.5个小时 适合参与成员: 对于性能调优和CBO优化器有兴趣的同学,或急于提升SQL调优技能的同学。 教学视频已上传 , 收看请猛击下面的地址: https://zcdn.askmac.cn/histogram%E7%9B%B4%E6%96%B9%E5%9B%BE.mp4 【Maclean Liu技术分享】Histogram直方图技术演示脚本如下: 【Maclean Liu技术分享】Histogram直方图技术演示脚本.txt (9.93 KB, 下载次数: 65) 讲座材料presentation 当前正式版本下载: 【Maclean Liu技术分享】拨开Oracle CBO优化器迷雾,探究Histogram直方图之秘 20130429.pdf (1.11 MB, 下载次数: 3646)
-
Oracle Database 11gR2中的Cost Base Optimizer使用说明会
本文永久地址是:https://www.askmac.cn/archives/oracle-database-11gr2%E4%B8%AD%E7%9A%84cost-base-optimizer%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E4%BC%9A.html SQL的执行计划是指什么? Execution Plan SQL语句中没有记录访问路径(使用索引等)。Database内部判断做出决定。这个访问路径我们称为执行计划。 SQL例子: select * from tab2 where c2 > 999; 执行计划例子: 使用索引的执行计划 ———————————————————- Plan hash value: 2200541503 ————————————————— | Id | Operation | Name | Rows ————————————————— | 0 | SELECT STATEMENT | | 10 | 1 | TABLE ACCESS BY INDEX ROWID| TAB2 | 10 |* 2…