数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
转储控制文件头

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

 

 

 

转出控制文件必须在数据库打开(OPEN)或者安装(MOUNT)的状态下进行。

 

1.      连接数据库

E:\>sqlplus "/ as sysdba"

 

SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 5 14 08:52:03 2004

 

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

 

连接到:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

 

2.      确定跟踪文件的目录:

sys@TEST_LUNAR> show parameter dump

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

background_core_dump                 string      partial

background_dump_dest                 string      e:\oracle\admin\test\bdump

core_dump_dest                       string      e:\oracle\admin\test\cdump

max_dump_file_size                   string      UNLIMITED

shadow_core_dump                     string      partial

user_dump_dest                       string      e:\oracle\admin\test\udump

sys@TEST_LUNAR>

 

sys@TEST_LUNAR> host dir E:\oracle\admin\test\udump

 驱动器 E 中的卷是 ORACLE

 卷的序列号是 707A-C50C

 

 E:\oracle\admin\test\udump 的目录

 

2002-01-13  21:59       <DIR>          .

2002-01-13  21:59       <DIR>          ..

               0 个文件              0 字节

               2 个目录  2,444,267,520 可用字节

 

3.      转储控制文件头

sys@TEST_LUNAR> alter session set events 'immediate trace name controlf level 1';

 

会话已更改。

 

sys@TEST_LUNAR> host dir E:\oracle\admin\test\udump

 驱动器 E 中的卷是 ORACLE

 卷的序列号是 707A-C50C

 

 E:\oracle\admin\test\udump 的目录

 

2002-01-13  21:59       <DIR>          .

2002-01-13  21:59       <DIR>          ..

2004-05-14  09:06                  949 test_ora_1364.trc

               1 个文件            949 字节

               2 个目录  2,444,263,424 可用字节

 

sys@TEST_LUNAR>

 

 

4.      解读dump出来的控制文件头(level 1)信息

以下是test_ora_1364.trc的内容(23)

(1)     Dump file e:\oracle\admin\test\udump\test_ora_1364.trc

 

(2)       Fri May 14 09:06:10 2004

创建跟踪文件的时戳

 

(3)       ORACLE V9.2.0.1.0 - Production vsnsta=0

数据库当前的版本是V9.2.0.1.0

注意:与(18)条目的区别

 

(4)       vsnsql=12 vsnxtr=3 ???

(5)       Windows 2000 Version 5.0 Service Pack 4, CPU type 586

当前OS信息

 

(6)       Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

(7)       With the Partitioning, OLAP and Oracle Data Mining options

(8)       JServer Release 9.2.0.1.0 - Production

(9)       Windows 2000 Version 5.0 Service Pack 4, CPU type 586

 

 

(10)   Instance name: test

实例名称为test

 

(11)   Redo thread mounted by this instance: 1

这说明这是一个单实例数据库,当前线程被实例1装载

 

(12)   Oracle process number: 13

目前Oracle的进程数为13,这个信息同select count(*) from v$process的结果相同:

sys@TEST_LUNAR> select count(*) from v$process;

 

  COUNT(*)

----------

        13

 

sys@TEST_LUNAR>

 

 

 

(13)   Windows thread id: 1364, image: ORACLE.EXE

这条信息反应了前台进程中可执行部分的信息,注意在windows平台上Oracle作为一个ORACLE.EXE进程来运行。所以,这里前台进程中的可执行部分是:ORACLE.EXE;创建该跟踪文件的线程号为1364(十进制数)。

如果在UNIX中,这部分信息会类似下面的信息:

Image: $1$DUA41:[V8ROOT.RDBMS]SQLPLUS.EXE;8

        即该跟踪文件是由前台进程SQLPLUS.EXE创建的,其操作系统进程号(PID)为8

 

(14)   *** 2004-05-14 09:06:10.000

创建跟踪文件的时戳

 

(15)   *** SESSION ID:(10.9) 2004-05-14 09:06:10.000

创建控制文件的sessionSID SERIAL#,本例中,SID10SERIAL#9,这部分信息可以同v$session视图中看到的一样。

sys@TEST_LUNAR> select sid,serial# ,username from v$session;

 

       SID    SERIAL# USERNAME

---------- ---------- ------------------------------

         1          1

         2          1

         3          1

         4          1

         5          1

         6          1

         7          1

         8          1

         9          1

        10          9 SYS

 

已选择10行。

 

sys@TEST_LUNAR> 

 

 

 

(16)   DUMP OF CONTROL FILES, Seq # 2929 = 0xb71

说明这是一个控制文件的转储,Seq #是控制文件的序列号,它意味着控制文件的更新次数,也可以看作是控制文件的版本。292910进制表示的,0xb71是十六进制表示的。(这行信息同21行给出的信息是一样的含义)

 

*********以下内容是通用文件头(generic file header)信息*************

通用文件头信息对于数据库中所有的数据文件,控制文件和日志文件都应当是一样的。

(17) FILE HEADER:

(18)   Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000

指出了创建控制文件时的Oracle的版本,这里是0x9200000,即,9.2.0

Compatibility Vsn指出了兼容版本为0x8000000,即,8.0

注意:与(3)条目的区别

 

(19)   Db ID=1750352942=0x6854442e, Db Name='TEST1'

Db ID是数据库标识号,Oracle根据数据库的创建时间和数据库名按照一定的算法得出的;Db Name为数据库名,本例中数据库名为TEST1

 

(20)   Activation ID=0=0x0

 

(21)   Control Seq=2929=0xb71, File size=228=0xe4

Control Seq16行信息的含义;

File size指出了控制文件的物理大小,其单位为块,

即,控制文件的实际大小=File size的值 * 数据块的大小(DB_BLOCK_SIZE

 

(22)   File Number=0, Blksiz=8192, File Type=1 CONTROL

控制文件的文件号为0,类型为1

Blksiz对应于操作系统数据块的大小,在Windows平台上为8192K

(如果是UNIX操作系统,Blksiz的值为512)???

 

 

**************************通用文件头结束****************************

 

(23) *** END OF DUMP ***

 

 

 




相关文章

相关软件