【问题标题】:Configure Oracle XE logging running on Windows 10, prevent writing to Windows Event Log配置在 Windows 10 上运行的 Oracle XE 日志记录,防止写入 Windows 事件日志
【发布时间】:2021-11-12 12:03:09
【问题描述】:

环境: 在 Windows 10(我的笔记本电脑!)上运行的 Oracle XE 18。 我使用特定用户和sys 运行数据库命令。

问题: windows application event log 有 1000 条详细的 Oracle 数据库日志记录,例如每个 SELECT 语句,实际上是我运行的每个命令! 启动 Windows 事件查看器,在命令提示符处执行:eventvwr

问题:

  1. 如何配置 Oracle 以便只写入某些消息 到 Windows 事件日志。理想情况下,我执行的任何命令都不是 记录。

  2. Oracle XE 是否也写入日志文件(不是 Windows 事件日志),如果是,如何配置粒度?

(我对 Oracle 还很陌生)

其他信息: 以下是 Windows 应用程序事件日志的示例

【问题讨论】:

    标签: oracle windows-10 oracle-xe


    【解决方案1】:

    查看您的屏幕截图,您似乎正在使用 SYS 用户来执行您的 SQL 命令。默认情况下,用户使用 SYSASM、SYSBACKUP、SYSDBA、SYSDG、SYSKM 或 SYSOPER 权限执行的所有操作都会被审计并进入事件日志。您可以使用 AUDIT_SYS_OPERATIONS 初始化参数禁用该行为。

    在此处查看文档:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/AUDIT_SYS_OPERATIONS.html#GUID-58176267-238C-40B5-B1F2-BB8BB9518950

    以 SYS 身份登录时,可以使用以下命令更改参数设置:

    alter system set audit_sys_operations=false scope=spfile;
    

    然后重启数据库。

    也就是说,一般情况下,您应该将 SYS 用于日常操作,最好保留默认审计。相反,使用具有普通权限的用户帐户(即 not SYS 作为 SYSDBA)来执行不需要这些提升权限的所有操作。在大多数情况下,除了启动/关闭、备份操作和安装补丁之外,您不需要该级别的访问权限。

    create user myuser identified by mypassword;
    grant dba to myuser;
    alter user myuser default role all;
    

    这应该为您提供大量提升权限的用户,不会经常触发内置审核。

    在此处阅读有关 Oracle 安全性的信息:https://docs.oracle.com/en/database/oracle/oracle-database/18/dbseg/introduction-to-oracle-database-security.html#GUID-41040F53-D7A6-48FA-A92A-0C23118BC8A0

    【讨论】:

    • 非常感谢您的回答,完美运行。也非常感谢在本地机器上使用 SYS 的额外帮助,标准开发黑客。将使用开发者帐户 insead。
    • 如您所见,标准开发黑客会带来后果。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2011-03-16
    • 2014-10-29
    • 1970-01-01
    • 2011-09-24
    相关资源
    最近更新 更多