OCP考题解析_043: 会话时区和ORA_SDTZ环境变量

本文介绍了如何使用环境变量ORA_SDTZ设置Oracle默认会话时区,以及如何通过ALTER SESSION改变SQL会话的时区。会话时区影响数据检索时的时间显示,并在转换TIMESTAMP WITH TIME ZONE和TIMESTAMP LOCAL TIME ZONE数据类型时起作用。可以设置ORA_SDTZ为操作系统本地时区、数据库时区、UTC偏移或时区区域名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

You can set the default session time zone with the ORA_SDTZ environment variable. When users retrieve TIMESTAMP WITH LOCAL TIME ZONE data, Oracle returns it in the users' session time zone. The session time zone also takes effect when a TIMESTAMP value is converted to the TIMESTAMP WITH TIME ZONE or TIMESTAMP WITH LOCAL TIME ZONE datatype.

Note:

Setting the session time zone does not affect the value returned by the  SYSDATE and  SYSTIMESTAMP SQL function.  SYSDATEreturns the date and time of the operating system on which the database resides, taking into account the time zone of the database server's operating system that was in effect when the database was started.

The ORA_SDTZ environment variable can be set to the following values:

  • Operating system local time zone ('OS_TZ')

  • Database time zone ('DB_TZ')

  • Absolute offset from UTC (for example, '-05:00')

  • Time zone region name (for example, 'Europe/London')

To set ORA_SDTZ, use statements similar to one of the following in a UNIX environment (C shell):

% setenv ORA_SDTZ 'OS_TZ'
% setenv ORA_SDTZ 'DB_TZ'
% setenv ORA_SDTZ '-05:00'
% setenv ORA_SDTZ 'Europe/London'

You can change the time zone for a specific SQL session with the SET TIME_ZONE clause of the ALTER SESSION statement.

TIME_ZONE can be set to the following values:

  • Default local time zone when the session was started (local)

  • Database time zone (dbtimezone)

  • Absolute offset from UTC (for example, '+10:00')

  • Time zone region name (for example, 'Asia/Hong_Kong')

Use ALTER SESSION statements similar to the following:

ALTER SESSION SET TIME_ZONE=local;
ALTER SESSION SET TIME_ZONE=dbtimezone;
ALTER SESSION SET TIME_ZONE='+10:00';
ALTER SESSION SET TIME_ZONE='Asia/Hong_Kong';

You can find out the current session time zone by entering the following query:

SELECT sessiontimezone FROM DUAL;

OCP考题:
10. The current time zone for one of the user sessions is set to the 
database local time zone. For one application, the user sessionrequi
res the time zone to be set to the local operating system time zone w
ithout affecting other user sessions. 
Which two solutions could the user implement to achieve this objectiv
e? (Choose two.) 

A. use the ALTER SYSTEM command to change the time zone 
B. use the ALTER SESSION command to change the time zone 
C. use the ALTER DATABASE command to change the time zone 
D. set the value for the operating system variable ORA_SDTZ on the cl
ient machine 
E. set the value for the operating system variable ORA_SDTZ on the da
tabase server machine
 
Answer: B, D 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值