千家信息网

Oracle Study之--NLS_DATE_FORMAT

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Oracle Study之--NLS_DATE_FORMAT系统环境:操作系统:RedHat EL6数据库: Oracle 11gR2在RMAN中设置时间格式时,报错:Oracle中 NLS_DATE
千家信息网最后更新 2026年11月01日Oracle Study之--NLS_DATE_FORMAT

Oracle Study之--NLS_DATE_FORMAT


系统环境:

操作系统:RedHat EL6

数据库: Oracle 11gR2

在RMAN中设置时间格式时,报错:



Oracle中 NLS_DATE_FORMAT的设置方法

分类:
Oracle中 NLS_DATE_FORMAT的设置方法
Oracle日期格式默认为:DD-MON-YY,以下是3种方法可以修改使之永久生效;


1、修改glogin.sql文件,这个文件的路径为:
Windows下:
%ORACLE_HOME\sqlplus\admin\
Unix下:
$ORACLE_HOME/sqlplus/admin/
在文件中加入:
alter session set nls_date_format = 'yyyy-mm-dd hh34:mi:ss';


2、修改注册表(windows平台)
开始-->运行-->regedit-->HKEY_LOCAL_MACHINE-->SOFTWARE-->ORACLE-->KEY_ORADb10g_home1
新建字符串值:
NLS_DATE_FORMAT,并设置其值为:YYYY-MM-DD:HH24:MI:SS


3、修改用户环境变量(Unix平台)
export NLS_DATE_FORMAT =AMERICAN
export NLS_DATE_FORMAT ='YYYY-MM-DD HH24:MI:SS'
RMAN会话中设置NLS_DATE_FORMAT 和NLS_LANG
run {
...........
sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";
sql 'alter session set NLS_LANG ="AMERICAN";
...........
}

Oracle 官方解释:


Explanation

part1:
NLS_DATE_FORMAT is client centric, not server centric. This way each client can see dates the way he/she needs to. For example clent in Europe is used to dates in DD/MM/YY format while clients in the US are used to MM/DD/YY. Therefore, each client needs to set NLS_DATE_FORMAT on the client box. In Windows, start regedit, go to HKEY_Local_Machine, Software, Oracle and add entry NLS_DATE_FORMAT = 'MM/DD/YYYY'. On Unix set environment variable NLS_DATE_FORMAT.

part2:
part1 is not entirely true.
NLS_DATE_FORMAT is not that straight forward. And explanation I gave you is not entirely true. There is a lot of articles in Oracle's MetaLink on that topic. If you are MetaLink customer check http://support.oracle.com.sg/met ... OT&p_id=74375.1

NLS_DATE_FORMAT is used if a date format mask is not specified in application code. The effective NLS_DATE_FORMAT is determined by the following (in order of precedence):

1. Session NLS_DATE_FORMAT (via ALTER SESSION command)
2. Client side NLS_DATE_FORMAT (from client environment variables/registry settings)
3. Instance NLS_DATE_FORMAT (from init.ora file)
4. Database NLS_DATE_FORMAT


Session NLS_DATE_FORMAT is set to client side NLS_DATE_FORMAT (explicit or implicit) ONLY if NLS_LANG is set. Another words, if NLS_LANG is set, then session NLS_DATE_FORMAT will be taken from the client. If clent NLS_LANG is set and client NLS_DATE_FORMAT is not, session NLS_DATE_FORMAT will default to DD-MON-YY (and that was exactly what you experienced). If NLS_LANG is not specified on the client side, NLS_DATE_FORMAT will be taken from instance NLS_DATE_FORMAT which is NLS_DATE_FORMAT from INIT.ORA. If NLS_DATE_FORMAT is not set in INIT.ORA, session NLS_DATE_FORMAT will default to DD-MON-YY.


文件 方法 平台 格式 环境 系统 中设 操作系统 变量 字符 字符串 官方 数据 数据库 日期 时间 注册表 用户 路径 中加 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 哈尔滨大商圈互联网科技有限公司 中关村互联网科技集团 互联网金融科技创新 互联网女皇 腾讯科技 米客互联网科技 成都仁贤领冠互联网科技有限公司 西藏七维空间互联网科技有限公司 温州喔噻互联网科技有限公司 赶超互联网科技 微信多开 千方科技属于互联网企业吗 消费医药和互联网科技 乌苏新华互联网科技做什么的 玉溪新华互联网科技好不好 滨湖区互联网智能科技产品有哪些 工业互联网科技成果转化 互联网与数字科技关系 全球科技与互联网公司市值变化 国产互联网科技公司 互联网金融运营模式中的金融科技 江苏根荣互联网科技 互联网和科技创新 贷财互联网科技 善班互联网科技有限公司 掌上梦互联网科技 佰商互联网科技有限公司 山东吉时兔互联网科技有限公司 受益于互联网科技的高速发展 互联网与数字科技关系 中国互联网公司的科技投入
0