如何使用 SQL Plus 从 DB 用户获取日志信息?
Posted
技术标签:
【中文标题】如何使用 SQL Plus 从 DB 用户获取日志信息?【英文标题】:How can I get log info from DB user with SQL Plus? 【发布时间】:2019-02-06 13:11:42 【问题描述】:我们公司正在使用 Oracle 数据库。出于监管原因,我们需要一份包含所有数据库用户的“报告”,这些用户用于在 2018 年更新我们软件的数据库及其登录和注销时间戳。我知道 Oracle 有一个跟踪该功能的工具,但不幸的是,我们公司从未使用过该功能,并且仍处于停用状态。这样的东西还能买到吗?
我需要的实际上应该是这样的: 1. 列:数据库用户 2. 栏目:登录时间戳 3.列:注销时间戳
可能是这样的:
prod_user | 01.02.2018 05:30:05 | 01.02.2018 05:35:30
prod_user | 02.02.2018 10:06:16 | 02.02.2018 10:48:58
最好的问候
【问题讨论】:
【参考方案1】:没有。
除非您在数据库中启用审计并审计连接,否则 Oracle 默认不存储用户登录/注销。
来自the AUDIT SESSION
documentation:
此选项为连接到实例的每个会话生成单个审核记录。审计记录在连接时插入审计跟踪,并在断开连接时更新。此记录可以包括连接时间、断开连接时间以及处理的逻辑和物理 I/O 等信息。
不管怎样,您可以通过查看管理视图DBA_USERS
中的列LAST_LOGIN
来访问任何用户的上次登录日期。这是一项常规功能,不需要启用审核。
【讨论】:
谢谢。从现在开始,我们将使用审计来跟踪这些记录。【参考方案2】:假设您使用的用户具有足够的权限,您可以使用 DBA_AUDIT_SESSION 视图来检查您需要的信息。 Documentation Oracle 10g
【讨论】:
以上是关于如何使用 SQL Plus 从 DB 用户获取日志信息?的主要内容,如果未能解决你的问题,请参考以下文章