新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

oracle如何查看日志,oracle数据库怎么查看日志

如何察看用户的 oracle job的运行日志?

使用job的所有者账号登陆,通过查询user_jobs视图查看;

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了静海免费建站欢迎大家使用!

我一般只关注三个字段;

LAST_DATE:最后次运行时间;

NEXT_DATE:下次运行时间;

TOTAL_TIME:总用时。具体语句如下:select s.LAST_DATE,s.NEXT_DATE,s.TOTAL_TIME from user_jobss。

日志

日志,是一个汉语词汇,汉语拼音是rì zhì。基本字义是指工作日志。日志主要发表在网络,详细介绍一个过程和经历的记录。

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就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。

如何查看oracle11 日志

Oracle11日志查看方法

现象描述:

oracle日常维护中经常需要检查alert告警日志,查看数据库是否有问题。

原因分析:

oracle11g修改了日志系统,不在使用oracle9的alert_$ORACLE_SID.log日志,修改为Diag Alert 和Diag Trace两个目录保存xml格式和文本格式的日志,这个两个目录分别放置于/oracle/oracle/diag/rdbms/rac/rac1/trace和/oracle/oracle/diag/rdbms/rac/rac1/alert目录下,也可以使用

sqlselect name ,value from v$diag_info命令来查询。也可以使用Enterprise Manager,进入Oracle database home page,在Related Links点击Alert Log Contents查看。

处理过程:

oracle11g修改了日志系统,不在使用oracle9的alert_$ORACLE_SID.log日志,修改为Diag Alert 和Diag Trace两个目录保存xml格式和文本格式的日志,这个两个目录分别放置于/oracle/oracle/diag/rdbms/rac/rac1/trace和/oracle/oracle/diag/rdbms/rac/rac1/alert目录下,也可以使用

sqlselect name ,value from v$diag_info命令来查询。也可以使用Enterprise Manager,进入Oracle database home page,在Related Links点击Alert Log Contents查看。

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

方法1:使用LogMiner工具

优点:可以完全挖掘日志内容,找出所有执行过的SQL语句

缺点:

1.

如果没有启用归档日志,则只能对联机日志进行挖掘

2.

需要掌握LogMiner的用法

访法2:查看HIST视图

优点:简单,只要使用普通的select语句查询

缺点:Oracle保留约1周的历史,所以要查太早的就不可能了

--

找出哪个数据库用户用什么程序在最近三天执行过delete或truncate

table的操作

举例如下:

SELECT

c.username,

a.program,

b.sql_text,

b.command_type,

a.sample_time

FROM

dba_hist_active_sess_history

a

JOIN

dba_hist_sqltext

b

ON

a.sql_id

=

b.sql_id

JOIN

dba_users

c

ON

a.user_id

=

c.user_id

WHERE

a.sample_time

BETWEEN

SYSDATE

-

3

AND

SYSDATE

AND

b.command_type

IN

(7,

85)

ORDER

BY

a.sample_time

DESC;

如何查看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用户操作日志

1 查看值得怀疑的SQL

select substr(to_char(s.pct,'99.00'),2)||'%'load,

s.executions executes,

p.sql_text

from(select address,

disk_reads,

executions,

pct,

rank() over(order by disk_reads desc) ranking

from(select address,

disk_reads,

executions,

100*ratio_to_report(disk_reads) over() pct

from sys.v_$sql

where command_type!=47)

where disk_reads50*executions) s,

sys.v_$sqltext p

where s.ranking=5

and p.address=s.address

order by 1, s.address, p.piece;

2 查看消耗内存多的sql

select b.username ,a.buffer_gets ,a.executions,

a.disk_reads/decode(a.executions,0,1,a.executions),a.sql_text SQL

from v$sqlarea a,dba_users b

where a.parsing_user_id = b.user_id

and a.disk_reads 10000

order by disk_reads desc;

3 查看逻辑读多的SQL

select*

from(select buffer_gets, sql_text

from v$sqlarea

where buffer_gets500000

order by buffer_gets desc)

where rownum=30;

4 查看执行次数多的SQL

select sql_text, executions

from(select sql_text, executions from v$sqlarea order by executions desc)

where rownum81;

5 查看读硬盘多的SQL

select sql_text, disk_reads

from(select sql_text, disk_reads from v$sqlarea order by disk_reads desc)

where rownum21;

6 查看排序多的SQL

select sql_text, sorts

from(select sql_text, sorts from v$sqlarea order by sorts desc)

where rownum21;

7 分析的次数太多,执行的次数太少,要用绑变量的方法来写sql

set pagesize 600;

set linesize 120;

select substr(sql_text,1,80) "sql",count(*),sum(executions) "totexecs"

from v$sqlarea

where executions5

group by substr(sql_text,1,80)

having count(*)30

order by 2;

8 游标的观察

set pages 300;

select sum(a.value), b.name

from v$sesstat a, v$statname b

where a.statistic#=b.statistic#

and b.name='opened cursors current'

group by b.name;

select count(0) from v$open_cursor;

select user_name, sql_text,count(0)

from v$open_cursor

group by user_name, sql_text

having count(0)30;

9 查看当前用户username执行的SQL

select sql_text

from v$sqltext_with_newlines

where(hash_value, address) in

(select sql_hash_value, sql_address

from v$session

where username='username')

order by address, piece;


文章标题:oracle如何查看日志,oracle数据库怎么查看日志
文章分享:http://wjwzjz.com/article/hdhjhd.html
在线咨询
服务热线
服务热线:028-86922220
TOP