alter session set events语句dump 控制文件头信息示例

alter session set events 'immediate trace name controlf level 1';中level n的意义如下:

1 控制文件中的文件头信息
2 level 1 + 文件头信息
3 level 2 + 数据文件头信息
10 level 3
更详细的alter session set events--oracle -Oracle跟踪事件简介见http://blog.csdn.net/q947817003/article/details/16369041 第2小节。
个人见解:
在需要DBID进行数据恢复时,alter system dump logfile 'filename';明显适合更复杂的场景。
ALTER SYSTEM DUMP LOGFILE 'filename'  DBA MIN fileno  blockno    DBA MAX fileno  blockno; 
详见:http://blog.csdn.net/q947817003/article/details/16370203

本实验命令如下:

SYS@ bys3> alter session set events 'immediate trace name controlf level 1';   --同样要求数据库是MOUNT/OPEN状态可执行语句
Session altered.
SYS@ bys3> oradebug setmypid;   --此语句要用SYSDBA权限执行,普通DBA用户会报错:ORA-01031: insufficient privileges
Statement processed.
SYS@ bys3> oradebug tracefile_name  --找出产生的TRACE文件名
/u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_1788.trc
################################################################

查看产生的TRACE文件信息 --因只DUMP了控制文件头的信息,所以内容并不多。

Trace file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_1788.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1
System name:    Linux
Node name:    bys3.bys.com
Release:    2.6.32-200.13.1.el5uek
Version:    #1 SMP Wed Jul 27 20:21:26 EDT 2011
Machine:    i686
Instance name: bys3
Redo thread mounted by this instance: 1
Oracle process number: 17
Unix process pid: 1788, image: oracle@bys3.bys.com (TNS V1-V3)

*** 2013-11-17 15:08:09.573
*** SESSION ID:(43.881) 2013-11-17 15:08:09.573
*** CLIENT ID:() 2013-11-17 15:08:09.573
*** SERVICE NAME:(SYS$USERS) 2013-11-17 15:08:09.573
*** MODULE NAME:(sqlplus@bys3.bys.com (TNS V1-V3)) 2013-11-17 15:08:09.573
*** ACTION NAME:() 2013-11-17 15:08:09.573
 
DUMP OF CONTROL FILES, Seq # 1596 = 0x63c       DUMP的控制文件
 V10 STYLE FILE HEADER:
    Compatibility Vsn = 186646528=0xb200000
    Db ID=3358363031=0xc82c8d97, Db Name='BYS3'  ---数据库的DBID和DB_NAME信息
    Activation ID=0=0x0
    Control Seq=1596=0x63c, File size=604=0x25c
     File Number=0, Blksiz=16384, File Type=1 CONTROL
*** END OF DUMP ***

*** 2013-11-17 15:08:13.584
Processing Oradebug command 'setmypid'
*** 2013-11-17 15:08:13.585
Oradebug command 'setmypid' console output: <none>
*** 2013-11-17 15:08:16.701
Processing Oradebug command 'tracefile_name'
*** 2013-11-17 15:08:16.701
Oradebug command 'tracefile_name' console output:
/u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_1788.trc

### 回答1: The command "alter session set events 'immediate trace name controlf level 1'" is an Oracle database command that generates a trace file for the current database session. The trace file contains detailed information about the database session and can be used for performance tuning and troubleshooting. Specifically, this command generates a trace file with the name "controlf" and sets the tracing level to 1. The tracing level determines the amount of detail that is included in the trace file. A level of 1 is the lowest level of detail and generates a trace file that includes basic information about the session, such as the SQL statements that are executed and the time it takes to execute them. It's important to note that this command should only be used by experienced database administrators who understand how to interpret the information in the trace file. Additionally, this command should only be used in a controlled testing environment, as it can have a significant impact on database performance. ### 回答2: "alter session set events 'immediate trace name controlf level 1';"是一个Oracle数据库的SQL语句。这个语句的作用是立即开启一个名为controlf的跟踪事件,并将其级别设置为1。 跟踪事件是用来跟踪和记录数据库操作的工具。当开启一个跟踪事件后,系统会记录下相应的跟踪数据,包括SQL语句、执行计划以及性能统计等。 在这个SQL语句中,"alter session set events"是用来改变当前会话的事件设置。'immediate trace name controlf level 1'是具体要设置的事件内容。 其中,'immediate'表示立即执行,'trace'表示要跟踪的事件类型为跟踪文件,'name controlf'表示具体要开启的跟踪事件名称为controlf,'level 1'表示要设置的跟踪事件级别为1,级别数字越高,跟踪信息越详细。 通过这个SQL语句,我们可以在Oracle数据库中开启一个controlf跟踪事件,并设定其级别为1。这将在数据库中生成一个跟踪文件,其中包含了与该事件相关的详细信息,用于分析和调优数据库的性能问题。 ### 回答3: `alter session set events 'immediate trace name controlf level 1';` 这是一个用于在Oracle数据库中启用跟踪的命令。 该命令包括以下几个关键部分: 1. `alter session`: 表示要对当前会话进行修改。 2. `set events`: 表示设置要执行的事件。 3. `'immediate trace name controlf level 1'`: 是具体要执行的事件命令,其中包括以下几个参数: - `immediate`: 表示事件应立即执行。 - `trace`: 表示要进行跟踪。 - `name controlf`: 表示要启用的跟踪名称为'controlf'。 - `level 1`: 表示跟踪的详细级别,此处设置为1级。 当执行这个命令时,Oracle数据库会立即启用名为'controlf'的跟踪,并将跟踪的详细级别设置为1级。跟踪信息会记录在跟踪文件中,其中包括了与数据库控制文件相关的操作和事件。 通过查看跟踪文件,可以获得有关控制文件的详细信息,例如控制文件的读取、写入和更改操作等。这对于诊断和解决与数据库控制文件相关的问题非常有用。 需要注意的是,启用跟踪可能会对数据库的性能产生一定影响,因此在使用之前应谨慎评估,并只在必要时启用跟踪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值