You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何永久更新NLS_SESSION_PARAMETERS表的所有参数值?

如何修改NLS_SESSION_PARAMETERS的参数值

NLS_SESSION_PARAMETERS是Oracle的固定视图,仅支持查询操作,无法直接执行UPDATE、INSERT或DELETE,这就是你触发ORA-02030错误的原因。要修改这些参数,需根据生效范围选择对应方法:

临时修改(仅当前会话生效)

通过ALTER SESSION语句修改单个参数,修改仅在当前数据库连接周期内有效,断开连接后恢复默认值:

-- 修改日期格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
-- 修改会话语言
ALTER SESSION SET NLS_LANGUAGE = 'SIMPLIFIED CHINESE';

永久修改(全局/用户级生效)

1. 全局级(影响所有新创建的会话)

需修改数据库初始化参数,部分参数需重启数据库生效:

  • 先查看当前全局NLS参数配置:
    SELECT parameter, value FROM NLS_DATABASE_PARAMETERS;
    
  • 若使用文本格式的初始化文件(init.ora),直接在文件中添加或修改对应参数:
    NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'
    NLS_LANGUAGE = 'SIMPLIFIED CHINESE'
    
  • 若使用服务器参数文件(SPFILE),执行以下语句修改(修改后需重启数据库):
    ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' SCOPE=SPFILE;
    ALTER SYSTEM SET NLS_LANGUAGE = 'SIMPLIFIED CHINESE' SCOPE=SPFILE;
    

2. 用户级(仅影响指定用户的新会话)

通过修改用户默认参数实现,该用户后续新建会话会自动应用配置:

ALTER USER your_username SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER USER your_username SET NLS_LANGUAGE = 'SIMPLIFIED CHINESE';

内容的提问来源于stack exchange,提问作者nodev_101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 16:22:05