默认新建库和会话时区(def_timezone)
📄字数 1.1K
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
系统默认时区偏移(格林威治时区)。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | VARCHAR |
| 默认值 | 'GMT+08:00' |
| 取值范围 | ['GMT-12:59', 'GMT+14:59'] |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数作为新建连接、新建用户库的默认时区。
- 该参数参与数据库内部的系统时钟计算,系统时钟应用的场景有:
| 系统时钟的应用场景 |
|---|
| 1. 对象的创建/修改时间。 2. 参与部分系统函数中的时间值计算。 3. 参与部分系统包的时间值计算。 4. 参与数据库系统内部自运行的僵死及陈旧事务清理、空闲连接清理、表对象统计分析等定时作业的时间计算。 5. 参与事务预写日志(WAL 日志)执行节点的时间戳计算。 6. 参与 COMMAND.LOG、ERROR.LOG、EVENT.LOG、TRACE.LOG 等系统日志中时间戳的计算。 7. 参与数据库系统内部时钟的计算(检查点执行、变更记载、元信息维护等诸多场景都会基于该时钟运行)。 8. 参与 DATETIME WITH TIME ZONE 数据类型的时间值计算。 |
注意
- def_timezone 必须以 GMT 前缀开头。
- 数据库进程运行过程中,系统时钟的时区不接受更改,即使修改了 def_timezone,系统时钟的时区也不会随之改变。
- 该参数影响的系统函数主要有:
CURDATECURTIME、SYSTIME、UTC_DATE、UTC_TIME、UTC_TIMESTAMP、WEEKOFYEAR、WEEK、
YEARWEEK、TIMESTAMP、TO_TIMESTAMPZ、SYSTIMESTAMP、CLOCK_TIMESTAMP、
TRANSACTION_TIMESTAMP、STATEMENT_TIMESTAMP、SYSDATE、 MAKE_TIMESTAMPTZ、DATE_TRUNC、
TIMEOFDAY - 该参数影响的系统包主要有:
DBMS_UTILITY.GET_TIME
DBMS_TEST.TEST_PING_PONG1
DBMS_TEST.TEST_PING_PONG2
DBMS_TEST.TEST_MSG_SEND1
DBMS_TEST.TEST_MSG_SEND2
DBMS_TEST.TEST_RPC_SEND 。
示例
sql
-- 在线修改 def_timezone
SQL> SET def_timezone TO 'GMT+08:00';
-- 在线查看 def_timezone
SQL> SHOW def_timezone;
/*
* 场景一:
* 1. def_timezone = 'GMT+08:00';
* 2. 新建连接;
*/
SQL> SELECT time_zone FROM sysdba.sys_sessions; -- 输出 'GMT+08:00';