如果是设备数据类的 用专门的软件 如果是仪表的 可以用帝视信恒监控设备,性价比会高
Oracle数据库诊断文件(日志)查看
Diagnostic File(诊断文件)
①.:诊断文件的作用
Diagnostic files :
包含了后台遇见重大事件的信息.
被用于解析问题,
被用于日常管理日志文件.
分为两类:
①.: alterSID.log
-----background trace files (后台进程跟踪文件)
-----user trace file (用户trace 文件)
①.:对于Background trace files文件的命名:
命名方式: SID_processname_PID.trc 对应解释 SID_进程名_进程号.trc
SID_ora_PID.trc 解释: SID_ora_进程号.trc
这个文件是为了记录: 1:记录一些操作命令
每一个entry 都有一个time stamp(时间戳)和它关联
该文件必须被ORACLE DBA管理
这个文件的位置在: BACKGROUND_DUMP_DEST
通过 show parameter dump 查看这个文件的位置:
这个文件中也包含数据库的启动信息相当于pfile或者spfile的内容.
用管理员登录:
首先用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\
可以看到这些文件的路径信息.
根据显式的信息我找到我的文件位置:
目录结构如下:
下面说一下如何才能记录信息到这些日志文件,需要一些开关,如果不开,记录的只是
一点点信息而已:
两种方式 能够让用户tracing
①.: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 conn /as sysdba
已连接.
SQL alter session set sql_trace = true;
会话已更改.
执行过后:查看
查看这个文件信息如下:
很详细的执行信息:
比如一个语句为:select * from dual
这个文件中会生成如下信息:
[plain]
=====================
select * from dual
END OF STMT
是对这个sql的执行的详细解读分析
下面贴上今天的部分执行的信息:
SELECT NAME
VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE
UPPER(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt,
timestamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
关于alter_SID.log中的内容如下: 今天的:
注意这个文件中包含Oracle启动的参数信息:可以利用这些信息配置spfile或者pfile文件尝试用这个配置的文件启动数据库也可以的
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
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
LICENSE_MAX_USERS = 0
SYS auditing is disabled
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:
control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL01.CTL"
compatible = "11.1.0.0.0"
db_recovery_file_dest = "D:\app\topwqp\flash_recovery_area"
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"
diagnostic_dest = "D:\APP\TOPWQP"
其实你可以在user_tables表上建立触发器,当这个表的数据发生变化时,你用触发器往记录表里插入数据.
不是很清楚你的问题和要求,
修改程序后, 你说的所有记录都存放在表中,是指所有对表的操作,还是仅跟你修改的程序相关的表操作
如果仅表示你修改的某个程序,相关的数量较多的表被修改, 你的要求是否要查到那些已经被修改的表的信息.
(如果该程序可以重新执行, 可以在程序的前与后,对该会话增加SQL_TRACE, 就可以从生成的trace文件中知道你的程序究竟对哪些表作了修改
查看归档模式
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=目录
--指定跟踪文件的存放路径
--指定跟踪文件最大尺寸
.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在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步.
输入命令"sqlplus / as sysdba",如下图所示,然后进入下一步.
以上就是土嘎嘎小编为大家整理的oracle数据怎么看变动相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!