[20161216sqlplus無法登入與ORA-01821錯誤

lfree發表於2016-12-16

[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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2130816/,如需轉載,請註明出處,否則將追究法律責任。

相關文章