Oracle NLS设置中的会话与实例与数据库

时间:2015-07-21 11:16:08

标签: oracle plsqldeveloper

为什么在Oracle中 N L anguage S <三个逻辑不同视图/ strong>支持?

我可以理解区分会话和数据库的必要性 - 允许客户端自定义设置。

会话与实例怎么样?

我运行了一个查询来比较它们之间的所有值,这里是结果(我注意到NLS_DATABASE_SETTINGS有更多参数,其他所有参数加上更多参数,因此我做了一个外连接,以它作为我的起点):

SELECT
   db.parameter as parameter,
   db.value as database_value,
   s.value as session_value,
   i.value as instance_value
FROM
   nls_database_parameters db
LEFT JOIN 
   nls_session_parameters s
ON s.parameter = db.parameter
LEFT JOIN 
   nls_instance_parameters i
ON i.parameter = db.parameter
ORDER BY parameter

enter image description here

我正在努力挖掘并解决我的pl / sql开发人员客户端的问题,单独,无法显示希伯来字符。公司所有其他人都是。

更新:根据我发布的here解决方案,解决了希伯来语中的显示字符问题(此处不是问题)。

1 个答案:

答案 0 :(得分:4)

好问题,在我做一些研究之前,我不知道它们之间的区别。看看这个网站National-Language-Support

  

NLS_DATABASE_PARAMETERS

     

创建数据库时,您可以告诉它您将如何处理   或不处理数据库的全球化。该   NLS_DATABASE_PARAMETERS视图将显示这些设置的内容   数据库创建时间。这些是在数据库级别修复的   无法改变。好的是,虽然他们确实设置了一些   关于让您的数据库通话,您的选择   全局,它们仅在强制执行检查约束时使用   数据库。因此,你真的不需要担心什么   这些设置是在数据库创建时间之后。

     

NLS_INSTANCE_PARAMETERS

     

如您所知,您可以为实例更改各种参数   通过INIT.ORA文件或SPFILE。该   NLS_INSTANCE_PARAMETERS视图将显示已设置的设置   在实例级别。

     

NLS_SESSION_PARAMETERS

     

此外,您还可以设置每个会话   全局参数和NLS_SESSION_PARAMETERS视图将显示   你当前的设置是什么。此视图特定于   会话查询它。