Oracle問題 ORA 01843 無效的月份

2021-10-04 02:23:42 字數 1685 閱讀 5604

查詢當前系統中,日期的顯示方式:

select

*from v$nls_parameters;

結果如下:

查詢不同情況日期顯示方式:

select to_char(sysdate,

'dd-mon-yyyy'

,'nls_date_language = '

'simplified chinese'

'') chn,

to_char(sysdate,

'dd-mon-yyyy'

,'nls_date_language = american'

) ame,

to_char(sysdate,

'dd-mon-yyyy'

,'nls_date_language = japanese'

) jap,

to_char(sysdate,

'dd-mon-yyyy'

,'nls_date_language = english'

) eng

from dual;

結果:

可以看出:

語言為simplified chinese和japanese時,data格式的月份必須為「x月」。

因此需要修改nls_date_language引數。

臨時方法(退出當前會話就會恢復)

每次會話時,修改引數為english或american:

alter

session

set nls_date_language =

'american'

;

永久方法:修改glogin.sql檔案

檔案路徑為:d:\oracle11g\administrator\product\11.2.0\dbhome_1\sqlplus\admin

在檔案中加入:

alter

session

set nls_date_language =

'american'

;

注:使用sql plus有效,plsql developer無效。

永久方法:修改登錄檔(windows)

位置:hkey_local_machine\software\oracle\key_oradb11g_home1

新建字串值:nls_date_language

其值為:american

注:sql plus和plsql developer均有效。

永久方法:修改使用者環境變數(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」;

ORA 00257 oracle歸檔滿問題

用oracle 使用者登入linux oracle xx sqlplus nolog sql connect as sysdba sql select from v flash recovery area usage 檢視archivelog的percent space used.如果發現是99以上...

Oracle連線出現ora 12514問題

listener.ora network configuration file c oracle product 10.2.0 db 1 network admin listener.ora generated by oracle configuration tools.sid list liste...

Oracle問題之ORA 01031許可權不足

oracle問題之ora 01031許可權不足 此時應該按照如下寫 1 sqlplus nolog 2 conn assysdba 3shutdown immediate view code 本地以sysdba身份登入資料庫例項時,碰到ora 01031許可權不足的錯誤 即 我所遇到的問題的解決方法...