oracle数据库日志 oracle 如何查看日志
大家好,关于oracle数据库日志很多朋友都还不太明白,今天小编就来为大家分享关于oracle 如何查看日志的知识,希望对各位有所帮助!
Oracle的日志文件存储在什么位置
1、通过sqlplus命令连接数据库,查看服务器是否已经开启归档。
2、查看归档日志默认存储位置,在查看归档的时候默认使用USE_DB_RECOVERY_FILE_DEST参数来表示归档位置,所以可以通过如下图参数来查看具体位置。
3、可以看出归档默认存储在闪回区内,默认大小是4G,一般情况下在归档默认空间使用结束的时候一般有两种方式可对归档进行修改。
4、修改log_archive_dest_1参数的值。
5、修改完成后重启数据库。
6、重启之后再重新查看归档日志默认存储位置,发现已经修改成功。
7、修改成功后一般情况下都会进行一次日志切换来验证默认归档位置是否发生改变。
oracle 如何查看日志
1、Oracle日志的路径的查看:
登录:sqlplus"/as sysdba"
查看路径:SQL> select* from v$logfile;
SQL> select* from v$logfile;(#日志文件路径)
2、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
3、Oracle日志的查看方法语句代码:
SQL>select* from v$sql(#查看最近所作的操作)
SQL>select* fromv$sqlarea(#查看最近所作的操作)
4、LogMiner的使用:
5、查看LogMiner工具分析结果
SQL> select* from dict t where t.table_name like'%LOGMNR%';看所有与logmnr相关的视图
6、分析结果在GV$LOGMNR_CONTENTS视图中,可按以下语句查询:
selec tscn, timestamp, log_id, seg_owner, seg_type, table_space, data_blk#, data_obj#, data_objd#, session#,serial#,username,session_info,sql_redo,sql_undo from logmnr3 t where t.sql_redo like'create%';
oracle启动时的错误日志在哪里
ORACLE的日志管理
2002-10余枫
ORACLE数据库的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log记录了重作日志的转换,
数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息.
数据库管理员需要检查这个文件有无ORA-错误并定期地对这个日志文件进行存档整理。
在UNIX下可以用grep命令把alert_orasid.log里出现的错误保存到另一个文件。然后去找原因。
$grep ORA- alert_orasid.log> error.log
大家都知道,文件越大,其打开和读写的开销越大。如果日志文件太大了(超过5M),需要对它截断处理。
直接删除它,让ORACLE重新生成不是好的方法。因为ORACLE是通过一个指向文件的指针进行写操作。
在数据库运行时删除了这个文件, ORACLE仍然用原来的文件指针进行写操作,有可能写一个不存在的文件
导致硬盘空间占用。
我们要采用以下的方法:
$tail-100$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log>/tmp/oracle_temp.log
$cp/tmp/oracle_temp.log$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log
$rm/tmp/oracle_temp.log
对日志文件进行截断处理。
listener的日志文件$ORACLE_HOME/network/log/listener.log记录了通过listener处理的网络请求
信息,它包含客户端请求的时间,连接方式(专用或共享),连接程序,网络协议,主机名,网络端口号等信息。
我们也需要周期地截断它,方法是先停止listener记日志的工作:
$lsnrctl set log_status off
然后进行文件处理(把原来的日志保存到备份文件夹,使原来的listener.log置空)
$cp$ORACLE_HOME/network/log/listener.log$ORACLE_BACKUP/network/log/listener_1.log
$cp/dev/null$ORACLE_HOME/network/log/listener.log
文件操作完成后,打开listener记日志的工作:
$lsnrctl set log_status on
如果你会写简单的shell程序,可以把上面的步骤固化成一个脚本,定一个时间表,让操作系统去做。
下面是我写的一个按天分割保存listener.log的文件auto_listener.sh
-------------------------------------------------------------------------------------
rq=` date+"%d" `
cp$ORACLE_HOME/network/log/listener.log$ORACLE_BACKUP/network/log/listener_$rq.log
su- oracle-c"lsnrctl set log_status off"
cp/dev/null$ORACLE_HOME/network/log/listener.log
su- oracle-c"lsnrctl set log_status on"
-------------------------------------------------------------------------------------
你可以根据自己的情况定义环境变量ORACLE_HOME,ORACLE_BACKUP或者直接改成实际的目录就可以让
操作系统root用户23:59分运行这个shell脚本完成日志文件的分割处理。
-------------------------------------------------------------------------------------
Microsoft SQL Server里可以执行系统的存储过程来分割ERRRLOG日志:
exec sp_cycle_errorlog
每次SQL Server数据库重新启动时,会自动分割ERRRLOG日志.
如何查询Oracle数据库的操作日志
1、打开oracle sql developer工具,没有此工具的可以去oracle官网下载安装即可,刚刚安装完成的是没有记录的,只有使用工具执行过后才会留下记录可以查询。打开之后不需要连接数据库就可以查询到sql记录了。
2、在二级菜单中,选择SQL历史记录选项,或者按快捷键F8打开窗口。
3、默认打开是会显示在最下方的小窗口,在标题栏双击鼠标左键,即可最大化窗口,再次双击左键还原窗口。
4、最大化窗口之后,便于更好的查询记录结果,如图所示,以往执行的sql记录都显示出来了,可以在每个栏目标题上单击,进行排序操作,一般可以点击时间戳字段,按时间来排序查询记录。第二次点击,可以切换顺序和逆序。
5、最后一个字段是持续时间,点击排序之后可以查询出哪些sql语句最快,哪些sql语句执行比较慢,需要优先等。
6、对于一些不需要的sql记录可以删除的,因为记录多了不便于查询,没有用的sql最好及时清除了。只需要选择您需要删除的记录,然后点击如图所示的清除按钮,在二次确认弹框中选择是,即可删除。
7、在删除按钮后面就是一个搜索输入框,在此处输入搜索关键字可以模糊匹配到记录,对于记不清的记录,采用模糊搜索的方式查询,效率非常高。工具会自动根据我们输入的关键字进行筛选过滤的。
关于oracle数据库日志和oracle 如何查看日志的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。