转储控制文件头
2024-07-21 02:06:33
供稿:网友
转出控制文件必须在数据库打开(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. 确定跟踪文件的目录:
[email protected]_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
[email protected]_lunar>
[email protected]_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. 转储控制文件头
[email protected]_lunar> alter session set events 'immediate trace name controlf level 1';
会话已更改。
[email protected]_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 可用字节
[email protected]_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的结果相同:
[email protected]_lunar> select count(*) from v$process;
count(*)
----------
13
[email protected]_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
创建控制文件的session的sid 和serial#,本例中,sid是10,serial#是9,这部分信息可以同v$session视图中看到的一样。
[email protected]_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行。
[email protected]_lunar>
(16) dump of control files, seq # 2929 = 0xb71
说明这是一个控制文件的转储,seq #是控制文件的序列号,它意味着控制文件的更新次数,也可以看作是控制文件的版本。2929是10进制表示的,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 seq同16行信息的含义;
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 ***