达梦开启awr功能报错:[-7160]:Object [DBMS_WORKLOAD_REPOSITORY_DATA_LOW] is invalid
版本如下:
14:45:26 SYSDBA@xchz(140012390767224)> SELECT id_code, t.* FROM v$version t;ID_CODE BANNER ----------------------------------- --------------------------------- --05134284044-20230417-187846-20040 DM Database Server 64 V8 --05134284044-20230417-187846-20040 8.1 --05134284044-20230417-187846-20040 安全版 --05134284044-20230417-187846-20040 DB Version: 0x7000c --05134284044-20230417-187846-20040 05134284044-20230417-187846-20040 used time: 1.331(ms). Execute id is 66702.
在使用sp_init_awr_sys开启awr的时候报错如下:
08:39:10 SYSDBA@xchz(140004884092440)> SELECT sf_check_awr_sys;SF_CHECK_AWR_SYS ---------------- 0 used time: 0.947(ms). Execute id is 22313. 08:40:39 SYSDBA@xchz(140004884092440)> CALL sp_init_awr_sys(1); CALL sp_init_awr_sys(1); [-7160]:Object [DBMS_WORKLOAD_REPOSITORY_DATA_LOW] is invalid -7160: anonymous block line 16 . used time: 00:00:01.203. Execute id is 0.
并且DBMS_WORKLOAD_REPOSITORY_DATA_LOW在SYSDBA用户下不存在,但是我对比了下其他正常的达梦库这个对象是存在的。
10:36:10 SYSDBA@xchz(156739288)> desc DBMS_WORKLOAD_REPOSITORY_DATA_LOW [-20001]:INVALID OBJECT NAME -20001: OBJ_IS_EXISTS line 201 -20001: SHOW_PARA_INFO line 302 . used time: 1.472(ms). Execute id is 0.
后续发现是由于参数 datetime_fmt_mode 配置导致的。
datetime_fmt_mode 表示:
是否兼容 ORACLE 日期格式。0:不兼容;1:兼容
兼容模式会导致默认的日期格式显示为类似:19-DEC-23 09.09.24. AM
10:47:03 SYSDBA@xchz(156739288)> SHOW PARAMETER datetime_fmt_modePARA_NAME PARA_VALUE ----------------- ---------- DATETIME_FMT_MODE 1
将参数修改为0后,在新会话中再次使用sp_init_awr_sys初始化则正常执行。
10:55:07 SYSDBA@xchz(156739288)> SP_SET_PARA_VALUE(1,'DATETIME_FMT_MODE',0); DMSQL executed successfully used time: 33.806(ms). Execute id is 36023. 10:55:42 SYSDBA@xchz(156739288)> show parameter DATETIME_FMT_MODEPARA_NAME PARA_VALUE ----------------- ---------- DATETIME_FMT_MODE 010:55:59 SYSDBA@xchz(156739288)> exit 重新登录... 10:56:07 SYSDBA@xchz(140012390767224)> CALL sp_init_awr_sys(1); DMSQL executed successfully used time: 00:00:03.241. Execute id is 39103. 10:56:14 SYSDBA@xchz(140012390767224)> SELECT sf_check_awr_sys;SF_CHECK_AWR_SYS ---------------- 1 used time: 6.669(ms). Execute id is 39104.