【问题标题】:Set audit parameters with no startup无需启动即可设置审计参数
【发布时间】:2017-09-16 14:53:49
【问题描述】:

我想在我的 oracle 数据库中激活一个或两个表的审计操作, 为此,我需要设置审计参数。

alter system set AUDIT_SYS_OPERATIONS=true scope=spfile;
alter system set AUDIT_TRAIL=db, extended scope=spfile;

但是这些参数并没有真正改变,因为需要启动DB。

有没有办法跳过启动以应用这些更改?

这是生产环境中非常重要的数据库,启动几乎是不可能的。

谢谢。

【问题讨论】:

  • 但我需要将“audit_sys_operations”设置为 true,对吗?另外,我想查看 sql_text,为此我需要扩展的 db..

标签: oracle startup audit


【解决方案1】:

如果您只想对选定对象启用审核,那么您可以在不退回数据库实例的情况下执行此操作。审计跟踪默认设置为DB

SQL> show parameter audit

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/orcl/adu
                                                 mp
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      DB

您需要做的就是对该对象启用所需的审核。

SQL> conn jay
Enter password: 
Connected.

SQL> audit select on my_table;

Audit succeeded.


SQL> conn system 
Enter password: 
Connected.
SQL> select * from jay.my_table;

no rows selected

可以从USER_AUDIT_OBJECT视图访问审计信息。

SQL> conn jay
Enter password: 
Connected.

SQL> select username, action_name from user_audit_object where obj_name='MY_TABLE';

USERNAME                       ACTION_NAME
------------------------------ ----------------------------
SYSTEM                         SESSION REC

但是,如果您需要为 sysdba/sysoper 特权用户(例如 sys)启用审核,则需要将 audit_sys_operations 参数设置为 true,这反过来又需要关闭数据库。

此外,如果您使用的是 Oracle 12c,则默认情况下 AUDIT_SYS_OPERATIONS 设置为 true

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show parameter audit

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string  /u01/app/oracle/admin/orcl/adump
audit_sys_operations                 boolean     TRUE
audit_syslog_level                   string
audit_trail                          string      DB

【讨论】:

  • 是的。好的。那是我想要的,因为我需要查看 sql_text 值。谢谢!
  • 很遗憾,SQL_TEXT 不可用,除非您将审计跟踪设置为 DB,EXTENDED
  • 是的,我明白了..所以我无法在没有启动的情况下得到它。
【解决方案2】:

你不能在没有启动的情况下使用它

看看这个(Auditing Administrative Users)

【讨论】:

  • 我不明白.. 怎么样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
相关资源
最近更新 更多