oraclesql日志
㈠ pl/developer 查看oracle数据库日志
pl/developer本身不能查看数据库日志,只能通过查询一些视图找到一些类似的内容。
比如v$database中能找到数据库建立时间,运行状态等。还有一些视图能找到redolog切换时间,现在正在用的redo文件,正在连接的session,活动的process等,不过这些只能说是状态,并不能说是日志。
alertlog日志,以及监听日志等只能去操作系统层面查询,pl/developer没有这个查询功能。
㈡ 在ORACLE 中怎么查看sql 执行日志
1、首先打开oracle sql developer工具,没有此工具的可以去网络浏览器下载安装即可,鼠标点击查看菜单。
㈢ 查看oracle数据库最近执行了哪些sql语句
select sql_text,last_load_time from v$sql order by last_load_time desc;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'select%' ORDER BY last_load_time DESC;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'update%' ORDER BY last_load_time DESC;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and last_load_time like' 14-06-09%' ORDER BY last_load_time DESC;
㈣ 如何查询Oracle数据库的操作日志
查看归档模式
conn /as sysdba
archive log list
如果数据库为归档模式的话,可以通过logmnr来进行挖掘日志文件查看这些信息的。如果是非归档模式。对不起无法查看了
开启后台进程跟踪,
设置参数(initsid.ora)
.backgroudn_mp_dest=目录名 -- 指定根踪文件存放的路径
.user_dmup_test=目录名 --指定用户信息跟踪文件的存放路径
.用户的跟踪文件(.trc), 用TKPROF 来格式化用户跟踪文件
SQL 语句跟踪即可。
.imed_statistics=true; --设置启用 sql_trace =true;
.user_mp_dest=目录 --指定跟踪文件的存放路径
.max_mp_file_size=5M --指定跟踪文件最大尺寸
.SQL_TRACE=TRUE;
.动态改变 :alter session set sql_trace=true;
或者打开生成的跟踪文件:
默认在..\oralce\admin\user\ump\*.trc,由于oralce 生成的*.trc 直接打开格式不规格,看得很累,可以用tkprof gk 来格式化 :c:\tkprof ora00001.trc a.txt
㈤ Oracle日志
1 你是用SYS用户创建的PACKAGE吗?
2 执行的sys.dbms_logmnr_d.build('shwdict.ora','d:\oracle\'); 再试试。oracle的目录差一个“\”都报错
㈥ 如何清除oracle中的执行sql记录在日志里面的的记录
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的物理文件删除后,我们就可以正
㈦ oracle中运行.sql文件的日志怎么输出
批量执行sql文件并输出执行日志
1、建立betchinsert.bat文件。内容:sqlplus username/password@服务名 @BETCH.SQL > SQLINSERT.log exit
2、建立betah.sql文件。内容:
@@nkgis.sql\AE_USERS.sql
@@nkgis.sql\AE_ROLES.sql
@@nkgis.sql\AE_MENUS.sql
可以写多个sql文件,注意路径要正确。在这里的nkgis.sql是文件夹名
3、建立相应的sql文件,如AE_USERS.sql
4、执行betchinsert.bat就可以执行所有的sql文件。并且会在betchinsert.bat文件的同目录中生成SQLINSER.log文件。
执行结束后会自动退出.
㈧ 如何查询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中的执行sql记录在日志里面的的记录
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)1.指定数据库实例C:/DocumentsandSettings/Administrator>SETORACLE_SID=orcl2.连接数据库C:/DocumentsandSettings/Administrator>RMANTARGETSYS/sysadmin@orcl3.查看归档日志的状态RMAN>listarchivelogall;4.手工删除归档日志文件RMAN>'SYSDATE-7';说明:SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库DELETEARCHIVELOGfromTIME'SYSDATE-7';删除从7天前到现在的全部日志,慎用UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除find/oraarchive-xdev-mtime+7-name"*.dbf"-execrm-f{};这样做仍然会在RMAN里留下未管理的归档文件仍需要在RMAN里执行下面2条命令crosscheckarchivelogall;deleteexpiredarchivelogall;所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能5.退出rmanRMAN>exit