设为首页 收藏本站
查看: 673|回复: 0

[经验分享] Oracle v$nls_parameters 和 nls_database_parameters 区别

[复制链接]
YunVN网友  发表于 2016-8-14 06:39:19 |阅读模式
  
  一. 先看官网的说明
  1.1 V$NLS_PARAMETERS
  V$NLS_PARAMETERS contains current values of NLS parameters。
  
  Column
  Datatype
  Description
  PARAMETER
  VARCHAR2(64)
  Parameter names are as follows: NLS_CALENDAR, NLS_CHARACTERSET, NLS_COMP, NLS_CURRENCY, NLS_DATE_FORMAT, NLS_DATE_LANGUAGE, NLS_DUAL_CURRENCY, NLS_ISO_CURRENCY, NLS_LANGUAGE, NLS_LENGTH_SEMANTICS, NLS_NCHAR_CHARACTERSET, NLS_NCHAR_CONV_EXCP, NLS_NUMERIC_CHARACTERS, NLS_SORT, NLS_TERRITORY, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT
  Two additional parameters, NLS_TIME_FORMAT and NLS_TIME_TZ_FORMAT, are currently used for internal purposes only.
  VALUE
  VARCHAR2(64)
  NLS parameter value
  
  
  1.2 NLS_DATABASE_PARAMETERS
  NLS_DATABASE_PARAMETERS lists permanent NLS parameters of the database.
  
  Column
  Datatype
  NULL
  Description
  PARAMETER
  VARCHAR2(30)
  NOT NULL
  Parameter name
  VALUE
  VARCHAR2(40)
  Parameter value
  
  从官网的定义:
  NLS_DATABASE_PARAMETERSlists permanent NLS parameters of the database.
  V$NLS_PARAMETERScontains current values of NLS parameters。
  
  可以看出:
  (1)nls_database_parameters来源于props$,是表示数据库的字符集。在创建数据库的时候设定的,一般不会改变.
  (2)v$nls_parameters 显示当前会话值 ,他受客户端nls 的控制。
  
  所以2个视图的查询结果是可能不一样的。
  
  其他几个相关的视图:
  (1)nls_instance_parameters 其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表。
  (2)nls_session_parameters 来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
  
  
  二. 示例
  我们以字符集为例,进行查看和对比。
  
  Oracle 字符集的查看和修改
  http://blog.csdn.net/tianlesoftware/article/details/4915223
  
  NLS_LANG的格式如下: NLS_LANG = language_territory.charset
  Language:指定服务器消息的语言, 影响提示信息是中文还是英文
  Territory:指定服务器的日期和数字格式,
  Charset:指定字符集,这部分真正影响数据库字符集。
  
  如:AMERICAN _AMERICA. ZHS16GBK
  
  SYS@dave2(db2)> select * from nls_database_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
  
  PARAMETER VALUE
  -------------------------------------------------------------------------------
  NLS_LANGUAGE AMERICAN
  NLS_TERRITORY AMERICA
  NLS_CHARACTERSET ZHS16GBK
  
  SYS@dave2(db2)> select * from v$nls_parameters where parameter in ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
  
  PARAMETER VALUE
  -------------------------------------------------------------------------------
  NLS_LANGUAGE AMERICAN
  NLS_TERRITORY AMERICA
  NLS_CHARACTERSET ZHS16GBK
  
  现在nls_database_parameters 和 v$nls_parameters 查询的结果是一样的。 现在看我们修改一下字符集。然后在查看:
  
  
  SYS@dave2(db2)> alter system setnls_language='SIMPLIFIED CHINESE' scope=spfile;
  System altered.
  --该参数需要重启才能生效。
  
  SYS@dave2(db2)> shutdown immediate
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SYS@dave2(db2)> startup
  ORACLE instance started.
  
  Total System Global Area 239075328 bytes
  Fixed Size 1218724 bytes
  Variable Size 79693660 bytes
  Database Buffers 155189248 bytes
  Redo Buffers 2973696 bytes
  Database mounted.
  Database opened.
  
  SYS@dave2(db2)> select * from nls_database_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
  
  PARAMETER VALUE
  -------------------- -----------------------------------------------------------
  NLS_LANGUAGE AMERICAN
  NLS_TERRITORY AMERICA
  NLS_CHARACTERSET ZHS16GBK
  
  SYS@dave2(db2)> select * fromv$nls_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
  
  PARAMETER VALUE
  -------------------------------------------------------------------------------
  NLS_LANGUAGE SIMPLIFIED CHINESE
  NLS_TERRITORY AMERICA
  NLS_CHARACTERSET ZHS16GBK
  
  现在看到,2个视图查看的结果不一样了。
  
  
  
  
  
  
  -------------------------------------------------------------------------------------------------------
  Blog: http://blog.csdn.net/tianlesoftware
  Email: dvd.dba@gmail.com
  DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)
  DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
  DBA6 群:158654907 聊天 群:40132017 聊天2群:69087192
  --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257304-1-1.html 上篇帖子: windows 7 安装oracle几个安装失败注意点 下篇帖子: AIX 平台下Oracle 10g RAC 是否需要安装 HACMP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表