oracle数据库的语言,Oracle安装过程对数据库级语言设置的影响

今天一个朋友问到这个问题,发现不同的建库方式对数据库级参数的影响是不同的。

语言的设置分为3个级别:数据库级、实例级和会话级。

数据库级是在数据库创建时确定的,实例级根据数据库启动时初始化参数来确定,而会话级在会话建立的时候确定,且在会话中可以随时改变。

对于使用DBCA来建立的数据库,根据建库时选项的不同,得到的数据库级设置也是不相同的。

如果在建立数据库的时候选择CUSTOM,即定制数据库的方式,且在初始化参数的设置页面,字符集子页面中选择ZHS16GBK字符集,国家字符集选择AL16UTF16国家字符集,默认语言选择简体中文,默认日期格式选择中国,那么安装之后得到的数据库,实例级和数据库级设置分别为:

SQL> SHOW PARAMETER NLS

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

nls_calendar                         string

nls_comp                             string

nls_currency                         string

nls_date_format                      string

nls_date_language                    string

nls_dual_currency                    string

nls_iso_currency                     string

nls_language                         string      SIMPLIFIED CHINESE

nls_length_semantics                 string      BYTE

nls_nchar_conv_excp                  string      FALSE

nls_numeric_characters               string

nls_sort                             string

nls_territory                        string      CHINA

nls_time_format                      string

nls_time_tz_format                   string

nls_timestamp_format                 string

nls_timestamp_tz_format              string

SQL> SELECT NAME, VALUE$

2  FROM PROPS$

3  WHERE NAME LIKE 'NLS%';

NAME                           VALUE$

------------------------------ --------------------------------------------------

NLS_LANGUAGE                   SIMPLIFIED CHINESE

NLS_TERRITORY                  CHINA

NLS_CURRENCY                   ?

NLS_ISO_CURRENCY               CHINA

NLS_NUMERIC_CHARACTERS         .,

NLS_CHARACTERSET               ZHS16GBK

NLS_CALENDAR                   GREGORIAN

NLS_DATE_FORMAT                DD-MON-RR

NLS_DATE_LANGUAGE              SIMPLIFIED CHINESE

NLS_SORT                       BINARY

NLS_TIME_FORMAT                HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY              ?

NLS_COMP                       BINARY

NLS_LENGTH_SEMANTICS           BYTE

NLS_NCHAR_CONV_EXCP            FALSE

NLS_NCHAR_CHARACTERSET         AL16UTF16

NLS_RDBMS_VERSION              10.2.0.3.0

已选择20行。

而如果在建立数据库的时候选择GENERATE,即一般数据库用途,其他选择不变,即初始化参数的设置页面,字符集子页面中选择ZHS16GBK字符集,国家字符集选择AL16UTF16国家字符集,默认语言选择简体中文,默认日期格式选择中国,那么安装之后得到的数据库,实例级和数据库级设置分别为:

SQL> SHOW PARAMETER NLS

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

nls_calendar                         string

nls_comp                             string

nls_currency                         string

nls_date_format                      string

nls_date_language                    string

nls_dual_currency                    string

nls_iso_currency                     string

nls_language                         string      SIMPLIFIED CHINESE

nls_length_semantics                 string      BYTE

nls_nchar_conv_excp                  string      FALSE

nls_numeric_characters               string

nls_sort                             string

nls_territory                        string      CHINA

nls_time_format                      string

nls_time_tz_format                   string

nls_timestamp_format                 string

nls_timestamp_tz_format              string

SQL> SELECT NAME, VALUE$

2  FROM PROPS$

3  WHERE NAME LIKE 'NLS%';

NAME                           VALUE$

------------------------------ -------------------------------------------------

NLS_LANGUAGE                   AMERICAN

NLS_TERRITORY                  AMERICA

NLS_CURRENCY                   $

NLS_ISO_CURRENCY               AMERICA

NLS_NUMERIC_CHARACTERS         .,

NLS_CHARACTERSET               ZHS16GBK

NLS_CALENDAR                   GREGORIAN

NLS_DATE_FORMAT                DD-MON-RR

NLS_DATE_LANGUAGE              AMERICAN

NLS_SORT                       BINARY

NLS_TIME_FORMAT                HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY              $

NLS_COMP                       BINARY

NLS_LENGTH_SEMANTICS           BYTE

NLS_NCHAR_CONV_EXCP            FALSE

NLS_NCHAR_CHARACTERSET         AL16UTF16

NLS_RDBMS_VERSION              10.2.0.3.0

已选择20行。

可以看到,两种方法的初始化参数是一致的,也就是实例级的设置是一致的,但是数据库级设置是不同的。

这时由于GENERATE方式,Oracle采用了已有的数据文件拷贝的方式,通过这种方式实际上数据库是一个已经建好的数据库,而数据库一旦建立成功,数据库级的参数设置也就确定了,在随后的安装过程中,Oracle只是修改了实例级的设置,而不会修改已经存在的数据库级的设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值