2023-11-18 04:03:08
Oracle数据库操作日志可通过redo日志、归档日志、审计日志和alert日志查看,具体查看方法如下:
查看redo日志
作用:记录所有已提交事务,提供数据库更改的即时视图,用于追踪近期操作。
查看方法:
连接到数据库。
执行命令:select * from v$log;
结果解读:查询结果包含日志组编号(GROUP#)、日志状态(STATUS)、成员文件路径(MEMBER)等信息。例如,STATUS为CURRENT表示当前正在使用的日志组,ACTIVE表示包含未写入数据文件的重做记录。
查看归档日志
作用:作为redo日志的备份,存储在数据库外部,用于恢复被覆盖的redo日志文件,支持时间点恢复。
查看方法:
连接到数据库。
执行命令:select * from v$archived_log;
结果解读:查询结果包含归档日志序列号(SEQUENCE#)、归档时间(COMPLETION_TIME)、存储路径(NAME)等。例如,通过NAME字段可定位归档日志文件位置,用于恢复操作。
查看审计日志
作用:记录特定用户执行的数据库操作,包括对象访问、SQL语句执行、权限变更等,用于安全审计和合规性检查。
查看方法:
确认审计功能已启用:通过查询v$option视图确认AUDITING参数为TRUE,或检查init.ora参数文件中的audit_trail参数(如设置为DB、OS或XML)。
执行命令:select * from dba_audit_trail;
结果解读:查询结果包含操作类型(ACTION_NAME)、执行用户(USERNAME)、操作时间戳(TIMESTAMP)、SQL语句(SQL_TEXT)等。例如,通过ACTION_NAME筛选特定操作(如LOGON、DDL)。
查看alert日志
作用:记录数据库运行过程中的错误、警告及关键事件(如实例启动/关闭、空间不足、死锁等),用于故障诊断。
查看方法:
定位alert日志文件:
默认路径为$ORACLE_BASE/admin/<SID>/bdump/alert_<SID>.log(Linux/Unix)或%ORACLE_BASE%admin<SID>bdumpalert_<SID>.log(Windows)。
也可通过查询v$diag_info视图获取路径:select * from v$diag_info where name = 'Diag Trace';
使用文本编辑器(如vi、Notepad++)或命令行工具(如tail -f实时监控)打开文件。
关键内容解读:
错误信息:如ORA-01555(快照过旧)、ORA-01653(表空间不足)。
警告信息:如检查点未完成、归档日志生成延迟。
关键事件:实例启动(Starting up ORACLE instance)、参数变更(System parameter altered)。
注意事项: