比如我输入create user dave identified by " dameng123 " ;这段那怎么看到谁输入了什么时间输入了输入了什么呢是开启什么日志吗
1、查看是否开启sqllog日志,登录数据库执行以下sql:
select PARA_VALUE from v$dm_ini where para_name='SVR_LOG';
执行后的值为0是未开启,1则是开启
2、打开日志记录,首先需要修改dm.ini里的svr_log参数值为1
可以登录数据库后执行以下sql:
sp_set_para_value(1,'SVR_LOG',1)
3、修改sqllog.ini,指定log文件存放位置、大小等
vi sqllog.ini
BUF_TOTAL_SIZE = 10240 #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE = 1024 #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT = 6 #SQLs Log buffer keeped count(1~100)
[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 0 ##SQL 日志分区存储,##表示 SQL 日志进行分区存储的划分条件。##0 表示不划分;1 表示 USER:根据不同用户分布存储
SWITCH_MODE = 2 ## 日志文件切换模式 2 按文件大小切换
SWITCH_LIMIT = 256 ## 文件大小限制,默认128,建议256 ,单位MB
ASYNC_FLUSH = 1 ## 日志刷盘模式默认1 异步刷盘,0实时刷盘(要考虑性能)
FILE_NUM = 20 ## 打印日志文件个数,默认5个,建议配置20
ITEMS = 0 ## 记录SQL全部内容信息 默认 0
SQL_TRACE_MASK = 1 ## 打印全部类型SQL日志 默认 1
MIN_EXEC_TIME = 0 ## 详细模式下,记录的最小语句执行时间,单位毫秒
USER_MODE = 0 ## SQL 日志按用户过滤时的过滤模式,取值0:关闭用户过滤
USERS = ## 打开 SVR_LOG_USER_MODE 时指定的用户列表。格式为:用户名:用户名:用户名
[SLOG_ERROR]
SQL_TRACE_MASK = 23
FILE_PATH = ../log
[SLOG_DDL]
SQL_TRACE_MASK = 3
[SLOG_LONG_SQL]
SQL_TRACE_MASK = 25
MIN_EXEC_TIME = 60000
4、数据库启动状态下,动态修改并生效sqllog.ini的修改内容需执行
sp_refresh_svr_log_config();
5、关闭日志记录,登录数据库后执行以下sql:----生产环境建议开启sqllog日志
sp_set_para_value(1,'SVR_LOG',0)
您是想记录SQL日志嘛,可以在dm.ini设置SVR_LOG为1,然后通过配置实例下的sqllog.ini中路径实现。