如何取oracle日志 oracle操作日志

oracle如何查看日志文件

oracle日志查看

在通辽等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都网站制作 网站设计制作定制网站建设,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸网站制作,通辽网站建设费用合理。

一.oracle日志的路径:

登录:sqlplus

"/as

sysdba"

查看路径:sql

select

*

from

v$logfile;

sql

select

*

from

v$logfile;(#日志文件路径)

二.oracle日志文件包含哪些内容:(日志的数量可能略有不同)

control01.ctl

example01.dbf

redo02.log

sysaux01.dbf

undotbs01.dbf

control02.ctl

redo03.log

system01.dbf

users01.dbf

control03.ctl

redo01.log

shttest.dbf

temp01.dbf

三.oracle日志的查看方法:

sqlselect

*

from

v$sql

(#查看最近所作的操作)

sqlselect

*

fromv

$sqlarea(#查看最近所作的操作)

oracle

数据库的所有更改都记录在日志中,从目前来看,分析oracle日志的唯一方法就是使用oracle公司提供的logminer来进行,因为原始的日志信息我们根本无法看懂,oracle8i后续版本中自带了logminer,而logminer就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。

oracle被删除dbs如何查看操作日志

Oracle日志文件查看方法:

1、以sysdba权限用户登录数据库。

2、执行sql语句:select*fromv$logfile;

3、结果显示即为日志路径:

4、另外还有其他的操作日志可用以下两个sql语句查询:

select*fromv$sql;--(#查看最近所作的操作)select*fromv$sqlarea;--(#查看最近所作的操作)

Oracle日志的查看方法:

SQLselect*fromv$sql(#查看最近所作的操作)

SQLselect*fromv$sqlarea(#查看最近所作的操作)

Oracle数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。

怎么获取oracle数据库变化日志

Oracle数据库诊断文件(日志)查看

Diagnostic File(诊断文件)

1:诊断文件的作用

Diagnostic files :

包含了后台遇见重大事件的信息。

被用于解析问题,

被用于日常管理日志文件。

2:诊断文件日志的分类

分为两类:

1: alterSID.log

-----background trace files (后台进程跟踪文件)

2: trace files ---

-----user trace file (用户trace 文件)

1:对于Background trace files文件的命名:

命名方式: SID_processname_PID.trc 对应解释 SID_进程名_进程号.trc

2: 对于user trace files 的文件命名为:

SID_ora_PID.trc 解释: SID_ora_进程号.trc

3:对于 alertSID.log 说明:

这个文件是为了记录: 1:记录一些操作命令

2:记录主要事件的结果

3:以及日常的操作信息

4:被用于诊断数据库错误

每一个entry 都有一个time stamp(时间戳)和它关联

该文件必须被ORACLE DBA管理

这个文件的位置在: BACKGROUND_DUMP_DEST

通过 show parameter dump 查看这个文件的位置:

这个文件中也包含数据库的启动信息相当于pfile或者spfile的内容。

用管理员登录:

2:下面是实战操作:

首先用sysdba登录后执行:

[sql]

SQL show parameter dump

NAME TYPE VALUE

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

background_core_dump string partial

background_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\trace

core_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\cdump

max_dump_file_size string unlimited

shadow_core_dump string none

user_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\trace

可以看到这些文件的路径信息。

根据显式的信息我找到我的文件位置:

目录结构如下:

下面说一下如何才能记录信息到这些日志文件,需要一些开关,如果不开,记录的只是

一点点信息而已:

两种方式 能够让用户tracing

1:session 级别的:

使用如下命令:

ALTER SESSSION SET SQL_TRACE = TRUE

第二种是执行如下存储过程:

dbms_system.SET_SQL_TRACE_IN_SESSION

第二个方式是 instance级别的:

设置初始化参数: SQL_TRACE = TRUE

一般采用session级别的。因为设置instance级别的容易造成log文件过大;

可以通过alterSID.log文件中的信息制作pfile 或者spfile文件启动

数据库。

下面采用session级别的修改sql_trace为true即可在user_dump_dest中对应文件中看到相应的信息。

[sql]

SQL conn /as sysdba

已连接。

SQL alter session set sql_trace = true;

会话已更改。

执行过后:查看

orcl_ora_7188.trc文件信息 PS:如果不知道哪个文件就把这个目录下的全部删除,再执行sql就会看到生成的文件:

查看这个文件信息如下:

很详细的执行信息:

比如一个语句为:select * from dual

这个文件中会生成如下信息:

[plain]

*** 2013-06-13 22:58:20.776

=====================

PARSING IN CURSOR #1 len=18 dep=0 uid=0 oct=3 lid=0 tim=9184375464 hv=942515969 ad='232363f8' sqlid='a5ks9fhw2v9s1'

select * from dual

END OF STMT

PARSE #1:c=0,e=32,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184375458

EXEC #1:c=0,e=50,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184376205

FETCH #1:c=0,e=109,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=9184376423

STAT #1 id=1 cnt=1 pid=0 pos=1 obj=115 op='TABLE ACCESS FULL DUAL (cr=3 pr=0 pw=0 time=0 us cost=2 size=2 card=1)'

FETCH #1:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=9184376893

是对这个sql的执行的详细解读分析

下面贴上今天的部分执行的信息:

[plain]

*** 2013-06-13 22:58:20.776

=====================

PARSING IN CURSOR #1 len=18 dep=0 uid=0 oct=3 lid=0 tim=9184375464 hv=942515969 ad='232363f8' sqlid='a5ks9fhw2v9s1'

select * from dual

END OF STMT

PARSE #1:c=0,e=32,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184375458

EXEC #1:c=0,e=50,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184376205

FETCH #1:c=0,e=109,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=9184376423

STAT #1 id=1 cnt=1 pid=0 pos=1 obj=115 op='TABLE ACCESS FULL DUAL (cr=3 pr=0 pw=0 time=0 us cost=2 size=2 card=1)'

FETCH #1:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=9184376893

*** 2013-06-13 23:15:15.474

=====================

PARSING IN CURSOR #1 len=289 dep=0 uid=0 oct=3 lid=0 tim=10199053291 hv=2462394820 ad='232017e0' sqlid='7cfz5wy9caaf4'

SELECT NAME

NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',

6,'big integer', 'unknown') TYPE,DISPLAY_VALUE

VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE

UPPER(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM

END OF STMT

PARSE #1:c=0,e=438,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=10199053285

=====================

PARSING IN CURSOR #2 len=210 dep=1 uid=0 oct=3 lid=0 tim=10199056088 hv=864012087 ad='29162590' sqlid='96g93hntrzjtr'

select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt,

timestamp#, sample_size, minimum, maximum, distcnt, lowval, hival,

density, col#, spare1, spare2, avgcln from hist_head$ where obj#=:1 and

intcol#=:2

END OF STMT

PARSE #2:c=0,e=568,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=3,tim=10199056084

EXEC #2:c=0,e=1024,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=3,tim=10199057412

FETCH #2:c=0,e=30,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=3,tim=10199057533

STAT #2 id=1 cnt=0 pid=0 pos=1 obj=411 op='TABLE ACCESS BY INDEX ROWID HIST_HEAD$ (cr=2 pr=0 pw=0 time=0 us)'

STAT #2 id=2 cnt=0 pid=1 pos=1 obj=413 op='INDEX RANGE SCAN I_HH_OBJ#_INTCOL# (cr=2 pr=0 pw=0 time=0 us)'

=====================

PARSING IN CURSOR #2 len=210 dep=1 uid=0 oct=3 lid=0 tim=10199057848 hv=864012087 ad='29162590' sqlid='96g93hntrzjtr'

select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt,

timestamp#, sample_size, minimum, maximum, distcnt, lowval, hival,

density, col#, spare1, spare2, avgcln from hist_head$ where obj#=:1 and

intcol#=:2

END OF STMT

EXEC #2:c=0,e=25,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=3,tim=10199057844

FETCH #2:c=0,e=13,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=3,tim=10199058128

EXEC #1:c=0,e=7034,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=1,tim=10199060756

FETCH #1:c=15600,e=13882,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=10199075783

FETCH #1:c=0,e=21,p=0,cr=0,cu=0,mis=0,r=5,dep=0,og=1,tim=10199076326

STAT #1 id=1 cnt=6 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=0 pr=0 pw=0 time=0 us cost=2 size=2115 card=1)'

STAT #1 id=2 cnt=6 pid=1 pos=1 obj=0 op='COUNT (cr=0 pr=0 pw=0 time=8 us)'

STAT #1 id=3 cnt=6 pid=2 pos=1 obj=0 op='HASH JOIN (cr=0 pr=0 pw=0 time=6 us cost=1 size=2115 card=1)'

STAT #1 id=4 cnt=35 pid=3 pos=1 obj=0 op='FIXED TABLE FULL X$KSPPI (cr=0 pr=0 pw=0 time=70 us cost=0 size=81 card=1)'

STAT #1 id=5 cnt=1915 pid=3 pos=2 obj=0 op='FIXED TABLE FULL X$KSPPCV (cr=0 pr=0 pw=0 time=19 us cost=0 size=203400 card=100)'

关于alter_SID.log中的内容如下: 今天的:

注意这个文件中包含Oracle启动的参数信息:可以利用这些信息配置spfile或者pfile文件尝试用这个配置的文件启动数据库也可以的

[plain]

Thu Jun 13 22:13:43 2013

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Picked latch-free SCN scheme 2

Using LOG_ARCHIVE_DEST_1 parameter default value as D:\app\topwqp\product\11.1.0\db_1\RDBMS

Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST

Autotune of undo retention is turned on.

IMODE=BR

ILAT =18

LICENSE_MAX_USERS = 0

SYS auditing is disabled

Starting up ORACLE RDBMS Version: 11.1.0.6.0.

Using parameter settings in server-side spfile D:\APP\TOPWQP\PRODUCT\11.1.0\DB_1\DATABASE\SPFILEORCL.ORA

System parameters with non-default values:

processes = 150

memory_target = 412M

control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL01.CTL"

control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL02.CTL"

control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL03.CTL"

db_block_size = 8192

compatible = "11.1.0.0.0"

db_recovery_file_dest = "D:\app\topwqp\flash_recovery_area"

db_recovery_file_dest_size= 2G

fast_start_mttr_target = 0

undo_tablespace = "UNDOTBS1"

remote_login_passwordfile= "EXCLUSIVE"

db_domain = ""

dispatchers = "(PROTOCOL=TCP) (SERVICE=orclXDB)"

audit_file_dest = "D:\APP\TOPWQP\ADMIN\ORCL\ADUMP"

audit_trail = "DB"

db_name = "orcl"

open_cursors = 300

diagnostic_dest = "D:\APP\TOPWQP"

Thu Jun 13 22:13:46 2013

PMON started with pid=2, OS id=1888

Thu Jun 13 22:13:46 2013

VKTM started with pid=3, OS id=4296 at elevated priority

Thu Jun 13 22:13:46 2013

DIAG started with pid=4, OS id=6804

VKTM running at (20)ms precision

Thu Jun 13 22:13:46 2013

如何查看oracle的日志文件?

1、因为oracle运行在Linux系统下,首先,要连接Linux系统。

2、切换到oracle安装用户下。 我的用户是 oracle。

3、运行oracle的环境变量,在oracle 的根目录下面,运行 soruce .bash_prfile 命令, 以便        输入相关命令。

4、运行命令: cd $ORACLE_HOME 进入oracle的安装目录。

5、在此输入命令: find -name listener.log ,查找监控日志文件。

6、运行命令 cd  到查看到的日志文件目录。

7、运行cat listener.log命令 查看日志文件。

如何查询Oracle数据库的操作日志

查看归档模式

conn /as sysdba

archive log list

如果数据库为归档模式的话,可以通过logmnr来进行挖掘日志文件查看这些信息的。如果是非归档模式。对不起无法查看了

开启后台进程跟踪,

设置参数(initsid.ora)

.backgroudn_dump_dest=目录名 -- 指定根踪文件存放的路径

.user_dmup_test=目录名 --指定用户信息跟踪文件的存放路径

.用户的跟踪文件(.trc), 用TKPROF 来格式化用户跟踪文件

SQL 语句跟踪即可。

.imed_statistics=true; --设置启用 sql_trace =true;

.user_dump_dest=目录 --指定跟踪文件的存放路径

.max_dump_file_size=5M --指定跟踪文件最大尺寸

.SQL_TRACE=TRUE;

.动态改变 :alter session set sql_trace=true;

或者打开生成的跟踪文件:

默认在..\oralce\admin\user\udump\*.trc,由于oralce 生成的*.trc 直接打开格式不规格,看得很累,可以用tkprof gk 来格式化 :c:\tkprof ora00001.trc a.txt

Oracle归档日志

显示归档日志信息

1,使用ARCHIVE LOG LIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.

2显示日志操作模式

SELECT name,log_mode FROM v$database;

3,显示Oracle归归档日志信息.

Col name format a46

Select name, swquence#, first_change# FROM v$archived_log;

Name用于表示Oracle归归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.

4、执行介质 恢复 时,需要使用归档日志文件,此四必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.

SELECT destination FROM v$archive dest;

5,显示日志历史信息

SELECT * FROM v$loghist;

THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.

6.显示归档进程信息.

进行日志切换时,ARCH进程会自动将重做日志内容复制到Oracle归归档日志中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!

SELECT * FROM v$archive_processes;

Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动,STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状态


当前文章:如何取oracle日志 oracle操作日志
标题URL:http://hbruida.cn/article/hgccdd.html