ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle专题深入讨论 » 关于nls参数的修改的疑问?

标题: 关于nls参数的修改的疑问?
离线 iso90000
初级会员



精华贴数 0
个人空间 0
技术积分 90 (18351)
社区积分 0 (1388631)
注册日期 2007-5-10
论坛徽章:0
      
      

发表于 2008-9-10 17:10 
关于nls参数的修改的疑问?

1.查看参数的级别:nls_language可以在session级修改

select NAME,ISSES_MODIFIABLE,ISSYS_MODIFIABLE from v$parameter
where name ='nls_language';

2.查看现在的nls_language值:
(1)
select * from nls_database_parameters where parameter='NLS_LANGUAGE';(nls_database_parameters 来源于props$)
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    AMERICAN

(2)
select * from nls_instance_parameters where parameter='NLS_LANGUAGE';
(nls_instance_parameters 来源于v$parameter(显示的是当前session的参数),即来源于init参数,但可以显示alter session所改变的参数值)

PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    AMERICAN

(3)
show parameter nls_language  (来源于v$parameter)

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_language                         string      AMERICAN

(4)
select * from v$nls_parameters where parameter='NLS_LANGUAGE';
(显示数据库当前NLS参数取值(即由NLS_LANG 设置的参数,或经过alter session 改变后的参数值))
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    SIMPLIFIED CHINESE(从客户端环境变量nls_lang得到)

(5)
select * from nls_session_parameters where parameter='NLS_LANGUAGE';(nls_session_parameters来源于v$nls_parameters)
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    SIMPLIFIED CHINESE

3.开始实验:
                 alter session set nls_language='ORIYA';
   再次查看每个表的结果:

SQL> select * from nls_database_parameters where parameter='NLS_LANGUAGE';
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    AMERICAN

SQL> select * from nls_instance_parameters where parameter='NLS_LANGUAGE';
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    AMERICAN

SQL> show parameter nls_language;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_language                         string      AMERICAN

SQL> select * from v$nls_parameters where parameter='NLS_LANGUAGE';
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    ORIYA

SQL> select * from nls_session_parameters where parameter='NLS_LANGUAGE';
PARAMETER       VALUE
--------------- --------------------
NLS_LANGUAGE    ORIYA


我的问题是为什么nls_instance_parameters和show parameter nls_language的值都没发生变化,按照道理说他们的来源是v$parameter,应该是支持alter session级别的参数修改的啊?


只看该作者    顶部
离线 Yong Huang
版主



精华贴数 2
个人空间 0
技术积分 4374 (324)
社区积分 129 (3072)
注册日期 2001-10-9
论坛徽章:6
现任管理团队成员ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员2008年新春纪念徽章
      

发表于 2008-9-11 03:13 
Interesting. Can you file a Tar (SR) with Oracle? Always tell us (and them) the version of Oracle.

Yong Huang


只看该作者    顶部
离线 iso90000
初级会员



精华贴数 0
个人空间 0
技术积分 90 (18351)
社区积分 0 (1388631)
注册日期 2007-5-10
论坛徽章:0
      
      

发表于 2008-9-11 10:19 
The oracle version is 9.2.0.1,and this is my test database.I don't have the metalink account to file a TR.


只看该作者    顶部
离线 iso90000
初级会员



精华贴数 0
个人空间 0
技术积分 90 (18351)
社区积分 0 (1388631)
注册日期 2007-5-10
论坛徽章:0
      
      

发表于 2008-9-16 10:15 
没人讨论一下吗?


只看该作者    顶部
离线 qiudan5221
微笑每一天



精华贴数 0
个人空间 0
技术积分 2120 (757)
社区积分 16 (8683)
注册日期 2006-4-13
论坛徽章:9
金色在线徽章数据库板块每日发贴之星2008北京奥运纪念徽章:游泳生肖徽章2007版:鸡生肖徽章2007版:牛生肖徽章2007版:猴
ITPUB新首页上线纪念徽章     

发表于 2008-9-16 12:32 
SQL>SELECT TEXT FROM DBA_VIEWS WHERE VIEW_NAME='NLS_SESSION_PARAMETERS'
-------------------
select substr(parameter, 1, 30),
       substr(value, 1, 40)
from v$nls_parameters
where parameter != 'NLS_CHARACTERSET' and
parameter != 'NLS_NCHAR_CHARACTERSET'

X$NLS_PARAMETERS

SQL>SELECT TEXT FROM DBA_VIEWS WHERE VIEW_NAME='NLS_INSTANCE_PARAMETERS'
-------------------
select substr(upper(name), 1, 30),
       substr(value, 1, 40)
from v$parameter
where name like 'nls%'


SQL>SELECT TEXT FROM DBA_VIEWS WHERE VIEW_NAME='NLS_DATABASE_PARAMETERS'
--------------------
select name,
       substr(value$, 1, 40)
from props$where name like 'NLS%'


__________________
every is no.1!
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问