[20161216]sqlplus无法登录与ORA-01821错误.txt
h:\test>sqlplus scott/book@78
SQL*Plus: Release 12.1.0.1.0 Production on Fri Dec 16 16:50:45 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01821: date format not recognized
--本机出现无法登录测试服务器耳朵情况,仔细检查提示ORA-01821: date format not recognized
$ oerr ora 1821
01821, 00000, "date format not recognized"
// *Cause:
// *Action:
--想起上午修改一个nls相关的环境变量,估计其中一个参数修改错误,也许与这个有关.
--在服务器登录:
SCOTT@book> select * from nls_session_parameters ;
PARAMETER VALUE
------------------------ ----------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT YYYY-MM-DD HH24:MI:SS
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT YYYY-MM-DD HH24:MI:SS.FF
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT YYYY-MM-DD HH24:MI:SS.FF TZH:TZM
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
17 rows selected.
h:\test>set | grep -i nls
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
NLS_TIMESTAMP_FORMAT=HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT=YYYY-MM-DD HH24:MI:SS.FF TZH:TZM
--检查发现NLS_TIMESTAMP_FORMAT设置错误,修改为YYYY-MM-DD HH24:MI:SS.FF,继续测试ok.
--本来想增加NLS_TIME_TZ_FORMAT="HH.MI.SSXFF AM TZR",写错了.做一个记录.
h:\test>set | grep -i nls
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF
NLS_TIMESTAMP_TZ_FORMAT=YYYY-MM-DD HH24:MI:SS.FF TZH:TZM
NLS_TIME_TZ_FORMAT=HH.MI.SSXFF AM TZR