配置在 Windows 10 上运行的 Oracle XE 日志记录,防止写入 Windows 事件日志

Posted

技术标签:

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

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

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

问题:

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

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

(我对 Oracle 还很陌生)

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

【问题讨论】:

【参考方案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。 如您所见,标准开发黑客会带来后果。 :-)

以上是关于配置在 Windows 10 上运行的 Oracle XE 日志记录,防止写入 Windows 事件日志的主要内容,如果未能解决你的问题,请参考以下文章

Oracle服务无法启动,报:Windows无法启动OracleOraDb10g_home1TNSListener服务,错误 1067:进程意外终止。

odoo12 - 关于odoo12在windows10上运行的配置问题

jmeter性能测试学习1_配置oracl jdbc连接

odoo10.0可以在windows上运行吗

windows 2008 r2 蓝屏求解答

Windows安装程序无法将Windows配置未在此计算机的硬件上运行--解决方法