Author: mac

  • Oracle db file single write等待事件

    Oracle  db file single write 等待事件用来表示等待写数据文件的头部的等待。 wait time 等待时间是等这样的I/O完成的实际时间 参数 file# 代表数据文件的文件号,可以用下面的语句来对应 select * from v$datafile where file# = file#;   block# 这是正在等待写的数据块的块号。若块号不是1,则可用下面的语句来对应 select name, kind from ext_to_obj_view where file# = file# and lowb <= block# and highb >= block#; blocks 代表证要写入的块的数目 建议 数据文件头一般总是块号为1的数据块,特定的平台上块号为0。    

  • Oracle 如果存在一个空表分区,ALERT: Direct Path Export (EXP) Corrupts The Dump

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   适用于: Oracle Database – Enterprise Edition – 版本 11.2.0.1 及以上 本文信息适用于任何平台。 描述 你使用传统的导出工具(EXP)执行一个直接路径导出(表,schema或完整)。如果导出的对象包括一个空表分区,则导出转储dump损坏,无法被导入。 发生 仅导出版本>= 11.2.0.1 受影响。传统的导出工具从11g开始不受支持且不再被维护。 症状 在导入时,你可能遇到以下问题: IMP-00009: abnormal end of export file 或: IMP-00051: Direct path exported dump file contains illegal column length IMP-00008: unrecognized statement in the export file 或: 导入静默跳过了转储的一部分,表缺失,且之后的约束不能被创建。 下面用一个简单的测试证明: connect…

  • Oracle 当从DIRECT LOAD生成统计数据,导入失败生成ORA-942 IMP-8 或ORA-1031 或ORA-942

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   在本文中 症状 原因 解决方案 参考 适用于: Oracle Server – Enterprise Edition – 版本9.2.0.7 及以上  [Release: 9.2及以上] 本文信息适用于任何平台。 症状 使用STATISTICS=COMPUTE表级别直接导出且在导入时,导入失败出现各种错误,例如: IMP-00003: ORACLE error 942 encountered ORA-00942: table or view does not exist IMP-00008: unrecognized statement in the export file:… 该错误在所有表都被成功导入后立即出现,但统计部分被引用。 如果 STATISTICS=COMPUTE 参数在导出时被使用,错误出现。 原因 如果你在9.2.0.7 上并使用DIRECT LOAD,不论是导入或SQL*Loader ,且你有一个不拥有对象但被授予权限,如ROLE来执行加载的用户,则你会遇到Bug 4203324。 详情:在执行直接模式加载时,如果用户由角色被授予权限,则会出现ORA-1031…

  • Oracle 在导入时得到错误IMP-32

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   适用于: Oracle Database – Enterprise Edition – 版本9.2.0.1及以上 本文信息适用于任何平台。 *** 09-Jul-2014检查相关性*** 症状 你尝试使用原始导入工具(IMP)导入一个导出dump,收到错误: IMP-00032: SQL statement exceeded buffer length IMP-00008: unrecognized statement in the export file 我们来看一个演示的例子。 — create a big table (with a large DDL, 1000 columns) in schema test connect test/test create table big_table ( col000000000000000000000000001 varchar2(4000) not null, col000000000000000000000000002 varchar2(4000) not null,…

  • Oracle RMAN: Point-in-Time Recovery of a Backup From Before Last Resetlogs

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   本文适用于8i, 9i, 10g, 11g Releases 问题描述: ==================== 你需要将数据库还原到一个时间点,但被使用的备份是在最后的resetlog之前的。 问题是当使用resetlogs打开数据库时,数据库的incarnation 也被重置且RMAN 在Recovery Catalog 中保存数据库的incarnation的记录。 问题说明: ==================== 当我们进行时间点恢复并使用重置日志resetlogs打开数据库时,我们还需要告诉RMAN我们正在重置数据库的incarnationincarnation。 因此,使用RESET DATABASE命令指示RMAN在恢复目录中创建一个新的数据库incarnation记录。这个新的incarnation记录表示当前的incarnation。 RMAN会将目标数据库完成的所有后续备份和日志归档与新数据库的incarnation进行关联。 如果我们想将数据库还原到最后resetlog之前的一个时间点,我们需要告诉RMAN我们目前的incarnation需要被重置为旧的。 问题参考: =================== ORACLE8i BACKUP AND RECOVERY GUIDE 搜索词: ============= RESET INCARNATION RECOVER RESETLOGS 解决方案描述: ===================== 在我们能从最后resetlog之前的备份中还原之前,我们要重置数据库到旧的incarnation号。 以下是重置正确的incarnation并将数据库还原到最后resetlog之前的时间点的步骤。 注:目标数据库应被nomounted。 1. 启动RMAN 并仅连接到目录数据库catalog database。    % rman catalog rman/rman@rcat…

  • Oracle ORA-26040:FLASHBACK DATABASE WITH NOLOGGING OBJECTS/ACTIVITIES RESULTS IN CORRUPTION 以nologging对象/活动闪回数据库导致损坏

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   在本文中 症状 原因 解决方案 适用于: Oracle Server – Enterprise Edition – 版本: 10.2.0.1到 10.2.0.4 – Release: 10.2 to 10.2 本文信息适用于任何平台。 症状 保证还原点可用于将整个数据库逆转revert到几天或几周以前的已知的良好状态,只要有在闪回恢复区flash recovery area有足够的磁盘空间来存储所需的日志。通过Flashback Database,即使是类似直接加载插入(direct load insert)的NOLOGGING操作的影响,也可以用*保证的*还原点逆转revert。 使用Flashback Database ,当尝试被逆转,类似直接加载插入(direct load insert)的NOLOGGING操作的影响会导致损坏,但当使用*非保证的non-guaranteed *还原点时,这只会出现CTAS (create table as select) 。例如: CTAS/NOLOGGING/非保证的还原点non-guaranteed restore points: 示例 SYS SQL> create restore point…

  • Oracle 系统改变号(SCN), Headroom, 安全和补丁信息

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   适用于: Oracle Database – Enterprise Edition – 版本 10.1.0.5到 11.2.0.3 [Release 10.1 to 11.2] 本文信息适用于任何平台。 目标 本文高度概括了一个逻辑时间戳,即系统改变号(SCN),是如何用于排序数据库事件,以及这个逻辑时间戳的进展是如何被限制的。 范围 本文旨在用于Oracle DBA。 详细信息 系统改变号(SCN)是由Oracle数据库使用的一个逻辑的,内部的时间戳。 SCN排序数据库内发生的事件,这是为了满足事务的ACID属性。 数据库使用SCN来查询和跟踪更改。例如,如果事务更新行,则数据库记录发生此更新处的SCN。在该事务中的其他修改通常具有相同的SCN。当一个事务提交时,数据库记录该提交的SCN。在同一时间提交的多个事务可以共享同一SCN。 SCN出现在单调递增序列中,且Oracle数据库可使用SCN的数有一个极大的上限 – 该限制目前为281万亿,具体是281,474,976,710,656(即2 ^ 48)SCN值。 鉴于有上限,任何给定的Oracle数据库不用完可用的SCN是很重要的。 Oracle数据库使用基于时间的配给机制以确保这种情况不会发生。 在任何时间点,Oracle数据库计算数据库能使用的“不超过”限制的SCN数,基于自1988年以来经过的秒数,再乘以16,384。这被称为数据库当前最大SCN限制。这样做可以确保Oracle数据库将在各时间内配给SCN,使任何​​Oracle数据库能进行500多年的数据处理。 当前数据库使用的SCN和“不超过”上限的SCN之差,被称为SCN headroom。对于几乎所有Oracle数据库,这个headroom余量每秒在不断增加。 但是,Oracle现在确认了一些软件bug可能导致数据库试图超过目前最大的SCN值(或更接近保证的限制)。 一般来说,如果数据库尝试超过目前最大的SCN值,导致此事件的事务将被数据库取消,且应用程序会出现一个错误。下一秒限制增加,因此通常应用略微停顿就继续进行。然而,在一些非常罕见的情况下,数据库是需要被关闭来保护其完整性。在任何情况下,数据都不会丢失或损坏。 与时钟在计算机网络中如何保持同步类似,当两个数据库通过数据库链接相互通信时,它们选择在使用在中的最大SCN来同步它们的SCN。因此,在一些情况下,数据库经历快速下降的SCN headroom不是因为特定数据库中的bug,而是因为bug在数据库连接到的一个或多个数据库中是活跃的。由于数据库始终拒绝超过当前最高SCN 的SCN,Oracle数据库能够运行500多年的规则在任何情况下不会受到影响。 所有相关的bug已经在2012年1月CPU(和相关PSU)中被修正。在数据库补丁集更新(PSU)和最新的Oracle Exadata和Windows捆绑补丁中也提供相同的修正。 一些客户担忧,他们可能会越来越接近当前最大SCN限制,比他们在做的数据处理的保证速度更快。在所有的情况下,Oracle发现这是由于2012年1月CPU中修正的bug之一 – 而应用了修正的客户发现,他们的SCN headroom开始再次如预期增加。 为了确保他们的系统中不再出现这些潜在问题,客户可以运行一个脚本来检查任何特定数据库离目前最高限额的SCN有多远。Document:1393363.1中提供该脚本。该脚本将提醒客户他们可能接近最大极限SCN,在这种情况下,Oracle建议他们应该立即应用CPU到受影响的数据库(和相互连接的数据库)。预期是这些数据库的可用SCN headroom将开始增加,而对于已应用CPU的受影响的客户来说,确实如此。绝大多数客户会发现他们的数据库甚至不再接近最大极限SCN,在这种情况下,他们可以应用CPU(或相关PSU)作为其正常补丁程序的一部分。Oracle始终建议应当尽快应用CPU来解决在CPU中修正的任何其他安全问题。…

  • Oracle Streams Instantiation SCN 在导入时未被更新

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 目的 ——- 本文说明了使用元数据导入/导出的Oracle流实例化过程,并说明实例化的scn在目标站点何时不会被更新。 元数据导出/导入在表已经存在于两个站点,且在这些表中的复制数据在两个站点是一致的情况下使用。 范围与应用 ——————- 在DBA 配置并实施Oracle Stream 时用作参考。 SCN实例化的目的 —————————- 一个数据库对象的实例化SCN控制包含对数据库对象更改的哪些LCR被一个应用进程忽略和哪些LCR被一个应用程序使用。如果对源数据库的数据库对象的LCR提交的SCN小于或等于在目标数据库的数据库对象的实例化SCN数据库,则在目标数据库中的应用进程丢弃discard LCR。否则,该应用程序应用LCR。 当你为实例化准备对象(表,schema或数据库)时,你执行的过程记录了每个对象和任何实例化从属对象的最低SCN。 一个对象的最低SCN后续的SCN可用于实例化对象。一旦实例化准备好了对象,则你可以使用导入和导出工具来完成实例,如本文中所示,或使用Note:222815.1 所示SET_<level>_INSTANTIATION_SCN中的SET_<level>_INSTANTIATION_SCN程序。 使用元数据导出/导入初始化表 ————————————————- 如果你使用 DBMS_STREAMS_ADM.procedures 来配置你的捕获进程的规则,则实例化已经准备好了对象。 查询 DBA_CAPTURE_PREPARED_SCHEMA 或 DBA_CAPTURE_PREPARED_DATABASE 或DBA_CAPTURE_PREPARED_TABLES 来验证被实例化的对象。 这取决于你创建的规则的类型。 COLUMN table_owner FORMAT a12 COLUMN table_name FORMAT a20 SELECT * FROM DBA_CAPTURE_PREPARED_TABLES; Step 1) which copies the data as…

  • Oracle 数据库对DML活动挂起Database Hangs for DML Activity ORA-16038, ORA-00354, ORA-00312

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   ORA-16038 oerr ora 16038 16038, 00000, “log %s sequence# %s cannot be archived” // *Cause: An attempt was made to archive the named file, but the // file could not be archived. Examine the secondary error // messages to determine the cause of the error. // *Action:…

  • Oracle 在重做日志组成员的ORA-354 ORA-353 和 ORA-312

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]     ORA-00354 oerr ora 354 00354, 00000, “corrupt redo log block header” // *Cause: The block header on the redo block indicated by the accompanying // error, is not reasonable. // *Action: Do recovery with a good version of the log or do time based // recovery…