`
hanjian861202
  • 浏览: 165063 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Oracle:dump转储文件

阅读更多

转储文件内容1:数据文件

     

      转储数据文件、重做日志等文件的内容也是优化中经常用到的技术,因此DBA必须掌握。在优化项目中,有时候为了分析表和索引等的碎片、行迁移等情况,需要对数据文件进行转储。把数据库文件(数据文件、日志文件、控制文件等)的内容取出有助于对Oracle数据库内部结构展开分析。使用操作系统的转储工具可以导出数据库文件中的内容,不过这种方式相对比较麻烦。Oracle提供的ALTER SYSTEM DUMP 命令就可以把数据导出到Trace文件中,这一命令是以数据块为单位的。

      对于普通的数据文件,通过下面的命令可以导出数据文件中的数据块:

      ALTER SYSTEM DUMP DATAFILE [<file_id>|<file_name>] block <block_no>;

或者:

      ALTER SYSTEM DUMP <tablespace_name> block <block_no>;

或者:

     ALTER SYSTEM DUMP DATAFILE  [<file_id>|<file_name>] block min <block_no_min>  block max <block_no_max>;

      第一条命令导出一个数据块,第二条命令可以导出多个连续的数据块。以上命令不能转储 LMT的临时表空间文件。如果用ALTER SYSTEM DUMP DATAFILE命令去导出一个LMT的临时表空间文件,会报ORA-1205错误。

      要转储 LMT的临时文件,需要使用DUMP TEMPFILE命令:

      ALTER SYSTEM DUMP TEMPFILE 'E:\ORACLE\ORADATA\ORC9\sk_TEMP.DBF' BLOCK 1;   

 

转储文件内容2:转储对象的段头

 

比如:

  1.  SELECT SEGMENT_NAME, HEADER_FILE, HEADER_BLOCK   
  2.         FROM DBA_SEGMENTS    
  3.         WHERE OWNER = 'SCOTT' AND SEGMENT_NAME = 'EMP';   
  4.    
  5. SEGMENT_NAME         HEADER_FILE HEADER_BLOCK   
  6. --------------------------  ----------------- ---------------   
  7. EMP                            8                    7411  

 

 

      ALTER SYSTEM DUMP DATAFILE 8 BLOCK 7411;

 

      产生的Trace文件会存放在USER_DUMP_DEST参数指定的位置,如果没有设置这个参数,那么默认的位置是$Oracle_BASE/admin/<sid>/udump。 如果要转储回退段,那么可以这样操作:

  1.  SELECT SEGMENT_NAME, HEADER_FILE, HEADER_BLOCK    
  2.         FROM DBA_SEGMENTS    
  3.         WHERE SEGMENT_NAME = 'RBS01';   
  4.    
  5.    
  6. SEGMENT_NAME         HEADER_FILE HEADER_BLOCK   
  7. -------------------- ----------- ------------   
  8. RBS01                          2          514   
  9.    
  10.    
  11.   alter system dump datafile 2 block 514;  

     或者直接用下面的命令转储:

 

     ALTER SYSTEM DUMP UNDO HEADER RBS01;

      这个例子说明EMP的段头在8号文件的7411数据块。使用下面的命令,可以把段头转储出来;

      在Oracle中,每个段都包含一个段头。段头一般来说是某个段第一个扩展的第一个块,包含段的信息(段的扩展情况、FREE LIST的数量等)。要转储段头的信息,首先需要定位某个段的段头所在的位置。通过下面的查询可以查看到段头的相关信息:

 

     SELECT SEGMENT_NAME, HEADER_FILE, HEADER_BLOCK  FROM DBA_SEGMENTS  WHERE OWNER = '<SEGMENT OWNER>' AND SEGMENT_NAME = '<SEGMENT NAME>'; 

 

 

转储文件内容3:转储控制文件

     通过设置系统事件,可以把控制文件转储到Trace文件:

     ALTER SESSION SET EVENTS 'immediate trace name controlf level <level>'; 

 

     <level>的取值如下表所示。

 Level

转储的内容

1

文件头信息

2

文件头信息,数据库信息记录和检查点进程记录

3

所有的记录,仅仅包含最新和最老的循环使用类型的记录

4

类似3,不过包含4条最新的循环使用类型的记录

5+

类似3,循环使用类型的记录是每个级别的双倍

转储文件内容4:转储控制文件

      使用ALTER SYSTEM DUMP LOGFILE可以转储在线日志文件。也可以使用ALTER SESSION命令去转储重做日志头的信息。在数据库处于NOMOUNT、MOUNT或者OPEN状态时,就可以使用上面的命令。当操作系统相同的情况下,可以通过客户端去转储另外一个数据库的重做日志。重做日志的信息会被写入一个Trace文件。

      可以用下面的方法转储在线日志。

根据DBA(Data Block Address)转储记录。

根据RBA(Redo Block Address)转储记录。

根据时间点去转储记录。

根据层次和操作码转储记录。

转储文件头信息

转储整个重做日志文件

http://book.51cto.com/art/201006/204540.htm

分享到:
评论

相关推荐

    oracle 11g 转储文件及查询转储文件路径

    Oracle 11g数据库转储文件(dump files)是数据库管理员和开发人员在进行故障排查、数据恢复或学习数据库结构时的重要工具。这些文件包含了数据库的原始数据和元数据,通常用于导出和导入数据,或者在不同环境之间...

    ORACLE 11G导入到10G的命令

    - **dumpfile**: 指定了导出文件的路径和文件名,本例中为`D:\nc56mgsdn.dmp`。 - **logfile**: 指定了记录导出过程中日志信息的文件,这里为`D:\ncadmin.log`。 - **version**: 设置了导出数据的兼容版本,这里为`...

    Oracle DMP备份文件导入(impdp)导出(expdp)方法

    - `dumpfile`: 指定导出文件的名称,可以包含多个文件,用逗号分隔。 - ` logfile`: 可选,用于记录导出过程的日志文件。 - `schemas`: 指定要导出的模式或用户。 - `tables`: 指定要导出的表,多个表用逗号分隔...

    利用多个转储文件导出大量Oracle数据

    Oracle 提供了数据导出实用工具(也称为 EXP 或 EXPDP),使得我们可以将数据库中的数据导出到转储文件中,以便于备份、迁移或恢复。当面对大规模的数据库时,单个转储文件可能无法满足需求,这时就需要利用多个转储...

    Oracle常用dump命令介绍

    ### Oracle常用dump命令详解 #### 一、Memory Dumps **Memory Dumps** 主要用于获取Oracle内存区域的详细信息,这些信息对于诊断系统性能问题非常有用。下面将详细介绍几个常用的Memory Dump命令。 ##### 1\. ...

    oracle查看alert日志文件位置

    - **background_core_dump**:控制是否允许后台进程创建核心转储文件。 ### 如何查看 Alert 日志文件位置 #### 步骤一:查询 DIAGNOSTIC_DEST 参数 首先,需要确认`DIAGNOSTIC_DEST`参数的值。可以通过执行以下...

    dump.zip

    【标题】"dump.zip" 提供的文件是一个包含数据库故障转储(dump)的压缩包。这类文件通常在数据库系统遇到问题时生成,用于后期分析和故障排查。 【描述】"dump.zip" 的描述非常简洁,没有提供具体的故障或事件信息...

    idea git提交内存溢出后dump文件

    标题中的“idea git提交内存溢出后dump文件”指的是在使用IntelliJ IDEA(简称IDEA)这款流行的Java集成开发环境进行Git操作时遇到了内存溢出的问题,导致系统生成了一个名为`heapDump.hprof`的堆转储文件。...

    Oracle跟踪事件

    该事件可以将 Oracle 各类内部结构中所包含的信息转储(dump)到跟踪文件中,以便用户能根据文件内容来解决各种故障。 Oracle 跟踪文件分为三种类型: 1. 后台报警日志文件:记录数据库在启动、关闭和运行期间后台...

    linux下oracle创建实例总结

    - `core_dump_dest`:设置核心转储文件的目标路径。 - `db_block_size`:设置数据块大小。 - `db_domain`:设置数据库域名。 - `db_file_multiblock_read_count`:设置多数据块读取计数。 - `dispatchers`:设置调度...

    Linux 下手动创建oracle数据库

    - `$ORACLE_BASE/admin/mydb/bdump`: 存放后台进程产生的错误转储文件(background dump files)。 - `$ORACLE_BASE/admin/mydb/cdump`: 存放核心转储文件(core dump files)。 - `$ORACLE_BASE/admin/mydb/udump`: ...

    修改oracle到处文件dmp版本号

    oracle10g导入11g导出数据时报版本号错误,如果直接用UE修改,又是数据较大且不能保证修改成功,网上搜集到神器,可以快捷修改dmp版本号:各版本对应版本号: 11g R2:V11.02.00 11g R1:V11.01.00 10g:V10.02.01 ...

    论文研究-Oracle8i数据库日志文件的分析与恢复.pdf

    1. 转储文件(Dump File):转储文件是Oracle在处理日志文件时生成的中间文件,它们通常包含内存中的数据结构和内存中发生的数据改变信息。通过对转储文件的分析,可以更深入地理解Oracle 8i日志文件的内部结构和...

    oracle实验报告

    - `E:\app\oracle\admin\mydb\adump`:审计跟踪文件目录。 - `E:\app\oracle\admin\mydb\bdump`:后台转储文件目录。 - `E:\app\oracle\admin\mydb\cdump`:核心转储文件目录。 - `E:\app\oracle\admin\mydb\...

    Ora2PgDump:Oracle 到 PostgreSQL 转储

    Oracle 到 PostgreSQL 转储 此实用程序来自需要以合理的速度将 Oracle 数据转换为 PostgreSQL 数据。 这个项目相当实用,但它是一个开始。 它不创建表; 目标表必须已经存在。 目标列名称必须与查询列名称匹配(列...

    Oracle Dump Viewer-开源

    Oracle Dump Viewer是一款开源的数据库转储分析工具,专门设计用于帮助数据库管理员和开发人员解析、浏览和理解Oracle数据库的转储文件(DMP文件)。在IT行业中,数据转储是备份或迁移数据库的一种常见方法,而...

    aix环境下为oracle新建一个数据库

    - `BACKGROUND_DUMP_DEST='/LCdisk/oradata/bill/admin/bdump'`: 背景转储文件的存放路径。 - `CORE_DUMP_DEST=/LCdisk/oradata/bill/admin/cdump`: 核心转储文件的存放路径。 - `USER_DUMP_DEST='/LCdisk/...

    Oracle2Mysql:可以将oracle sql dump转换为mysql兼容sql的软件

    Oracle2Mysql 可以将oracle sql dump转换为与mysql兼容的sql的软件该软件帮助您轻松快速地从oracle迁移到myslq运作方式它会读取由oracle制成的sql文件寻找所有“创建表”并将它们放在第一个sql文件中(这是为了避免...

    oracle 10g数据泵之impdp

    - **dumpfile**:设定转储文件的名称,可以指定多个文件以处理大型转储。 - **logfile**:定义日志文件的名称,用于记录导入过程中的详细信息。 - **exclude/include**:分别用于排除或包含特定类型的对象,如表、...

    oracle的10053事件

    - `ALTER SYSTEM DUMP`语句可以用来转储特定数据文件或块。 - `DBMS_SYSTEM.SET_EV`包中的过程可以为特定会话设置事件。 - `OracleDebug`也可用于设置诊断事件,需要指定进程ID(SPID)。 3. 10053事件: - ...

Global site tag (gtag.js) - Google Analytics