精华内容
下载资源
问答
  • ORACLE修改数据库字符集
  • oracle数据库字符集 无法修改数据库字符集 乱码
  • ORACLE 查看数据库字符集

    千次阅读 2020-03-02 09:54:28
    2. oracle client端的字符集; 3. dmp文件的字符集。 在做数据导入的时候,需要这三个字符集都一致才能正确导入。 4.1 查询oracle server端的字符集 有很多种方法可以查出oracle server端的字符集,比较直观...

    涉及三方面的字符集,

    1. oracel server端的字符集;

    2. oracle client端的字符集;

    3. dmp文件的字符集。

     

    在做数据导入的时候,需要这三个字符集都一致才能正确导入。

     

    4.1 查询oracle server端的字符集 

    有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:

    SQL> select userenv('language') from dual;

    USERENV('LANGUAGE')

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

    SIMPLIFIED CHINESE_CHINA.ZHS16GBK

     

    SQL>select userenv(‘language’) from dual;

    AMERICAN _ AMERICA. ZHS16GBK

     

    4.2 如何查询dmp文件的字符集 

    用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

    SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;

    ZHS16GBK

     

    如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在unix主机上):

    cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6

    然后用上述SQL也可以得到它对应的字符集。

     

    4.3 查询oracle client端的字符集 

    在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,

    比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK

    这样就只影响这个窗口里面的环境变量。 

     

    在unix平台下,就是环境变量NLS_LANG。 

    $echo $NLS_LANG

    AMERICAN_AMERICA.ZHS16GBK

     

    如果检查的结果发现server端与client端字符集不一致,请统一修改为同server端相同的字符集。

     

    补充:

    (1).数据库服务器字符集

    select * from nls_database_parameters

    来源于props$,是表示数据库的字符集。

    (2).客户端字符集环境

    select * from nls_instance_parameters

    其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

    (3).会话字符集环境

    select * from nls_session_parameters

    来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

    (4).客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符

    如果多个设置存在的时候,NLS作用优先级别:Sql function > alter session > 环境变量或注册表 > 参数文件 > 数据库默认参数

    字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk

    展开全文
  • oracle数据库:理解ORACLE数据库字符集 疯狂代码 / http://DataBase/Article23698.html 一引言 ORACLE数据库字符集即Oracle全球化支持(Globalization Support)或即国家语言支持NLS其作用是 用本国语言和格式来存储...
  • ORACLE数据库字符集

    万次阅读 2019-08-09 17:47:49
    ORACLE数据库字符集 一.字符集基本知识 二、查询oracle server端的字符集 三.修改oracle的字符集 字符集基本知识 1.基本认知 ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言...

    ORACLE数据库字符集

    一.字符集基本知识
    二、查询oracle server端的字符集
    三.修改oracle的字符集

    • 字符集基本知识

    1.基本认知
    ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持。由于oracle字符集种类多,且在存储、检索、迁移oracle数据时多个环节与字符集的设置密切相关,因此在实际的应用中,数据库开发和管理人员经常会遇到有关oracle字符集方面的问题。

    2.1 字符集
    实质就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。Oracle数据库最早支持的编码方案是US7ASCII。
    Oracle 的字符集命名遵循以下命名规则 :

    即:  <语言><比特位数><编码 >
    比如: ZHS16GBK表示采用GBK编码格式、16位(两个字节)简体中文字符集
    

    2.2 字符编码方案

    2.1.1 单字节编码
    (1)单字节7位字符集,可以定义128个字符,最常用的字符集为 US7ASCII
    (2)单字节8位字符集,可以定义256个字符,适合于欧洲大部分国家
    例如:WE8ISO8859P1(西欧、8位、ISO标准8859P1编码 )
    2.2.2 多字节编码
    (1)变长多字节编码
    某些字符用一个字节表示,其它字符用两个或多个字符表示,变长多字节编码常用于对亚洲语言的支持, 例如日语、汉语、印地语等
    例如:AL32UTF8(其中AL代表ALL,指适用于所有语言)、 zhs16cgb231280
    (2)定长多字节编码
    每一个字符都使用固定长度字节的编码方案,目前oracle唯一支持的定 长多字节编码是AF16UTF16,也是仅用于国家字符集
    2.2.3 unicode 编码
    Unicode 是一个涵盖了目前全世界使用的所有已知字符的单一编码方案,也就是说Unicode为每一个字符提供唯一的编码。UTF-16是unicode的16位编码方式,是一种定长多字节编码,用2个字节表示一个unicode字符,AF16UTF16是UTF-16编码字符集。
    UTF-8 是unicode的8位编码方式,是一种变长多字节编码,这种编码可以用1、2、3个字节表示一个unicode字符,AL32UTF8,UTF8、UTFE是UTF-8编码字符集

    2.3 字符集超级

    当一种字符集(字符集A)的编码数值包含所有另一种字符集(字符集B)的编码数值,并且两种字符集相同编码数值代表相同的字符时,则字符集A是字符集B的超级,或称字符集B是字符集A的子集。
    Oracle8i 和oracle9i官方文档资料中备有子集-超级对照表(subset-superset pairs),例如:WE8ISO8859P1是WE8MSWIN1252的子集。由于US7ASCII是最早的Oracle数据库编码格式,因此有许多字符集是US7ASCII的超集,例如WE8ISO8859P1、ZHS16CGB231280、ZHS16GBK都是US7ASCII的超集。

    2.4 字符集

    (1) 用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据
    (2) 用来标示诸如表名、列名以及PL/SQL变量等
    (3) 用来存储SQL和PL/SQL程序单元等

    2.5 数据库字符集(oracle服务器端字符集)

    数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。

    国家字符集:
    (1) 用以存储NCHAR, NVARCHAR2, NCLOB等类型数据
    (2) 国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR数据类型可以提供对亚洲使用定长多字节编码的支持,而数据库字符集则不能。国家字符集在oracle9i中进行了重新定义,只能在unicode编码中的AF16UTF16和UTF8中选择,默认值是 AF16UTF16

    1. 2.6客户端字符集(NLS_LANG参数) 客户端字符集含义

    客户端字符集定义了客户端字符数据的编码方式,任何发自或发往客户端的字符数据均使用客户端定义的字符集编码,客户端可以看作是能与数据库直接连接的各种应用,例如sqlplus,exp/imp等。客户端字符集是通过设置NLS_LANG参数来设定的。

    • 查看数据库字符集

    涉及三方面的字符集,

    1. oracelserver端的字符集;
    2. dmp文件的字符集。
    3. oracle client端的字符集;

    在做数据导入的时候,需要这三个字符集都一致才能正确导入。

    1. 查询oracle server端的字符集

    有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:

    SQL> select userenv('language') from dual;
    
    USERENV('LANGUAGE')
    ---------------------------------------------------
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    
    
    SQL>select userenv(‘language’) from dual;
    
    AMERICAN _AMERICA. ZHS16GBK
    
    1. 如何查询dmp文件的字符集

    用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

    SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
    
    ZHS16GBK
    

    如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在unix主机上):

    cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
    

    然后用上述SQL也可以得到它对应的字符集。

    1. 查询oracle client端的字符集

    在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,

    比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK
    这样就只影响这个窗口里面的环境变量。

    在unix平台下,就是环境变量NLS_LANG。
    $echo $NLS_LANG
    AMERICAN_AMERICA.ZHS16GBK

    如果检查的结果发现server端与client端字符集不一致,请统一修改为同server端相同的字符集。

    补充:

    (1).数据库服务器字符集

    select * from nls_database_parameters
    

    来源于props$,是表示数据库的字符集。

    (2).服务端字符集环境

    select * from nls_instance_parameters
    

    其来源于v$parameter,表示服务端的字符集的设置,可能是参数文件,环境变量或者是注册表

    (3).会话字符集环境

    select * from nls_session_parameters
    

    来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

    (4).客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

    如果多个设置存在的时候,NLS作用优先级别:Sql function > alter session >环境变量或注册表>参数文件>数据库默认参数
    字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

    三. 修改oracle的字符集

    按照上文所说,数据库字符集在创建后原则上不能更改。因此,在设计和安装之初考虑使用哪一种字符集十分重要。对数据库server而言,错误的修改字符集将会导致很多不可测的后果,可能会严重影响数据库的正常运行,所以在修改之前一定要确认两种字符集是否存在子集和超集的关系。一般来说,除非万不得已,我们不建议修改oracle数据库server端的字符集。特别说明,我们最常用的两种字符集ZHS16GBK和ZHS16CGB231280之间不存在子集和超集关系,因此理论上讲这两种字符集之间的相互转换不受支持。

    不过修改字符集有3种方法可行。

    1.通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
    2.通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。

    1. 修改server端字符集(不建议使用)
    1.  关闭数据库
    
    SQL>SHUTDOWN IMMEDIATE
    2.  启动到Mount
    
    SQL>STARTUP MOUNT;
    
    SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
    
    SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    
    SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    
    SQL>ALTER DATABASE OPEN;
    
    SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
    
    SQL>ALTER DATABASE national CHARACTER SET ZHS16GBK;
    
    SQL>SHUTDOWN IMMEDIATE;
    
    SQL>STARTUP
    
    

    注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,(切记设定的字符集必须是ORACLE支持,不然不能start)按上面的做法就可以。
    若出现‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when NCLOB data exists’这样的提示信息,要解决这个问题有两种方法

    1.利用INTERNAL_USE关键字修改区域设置,
    
    2.利用re-create,但是re-create有点复杂,所以请用internal_use
    
     
    
    SQL>SHUTDOWN IMMEDIATE;
    
    SQL>STARTUPMOUNTEXCLUSIVE;
    
    SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
    
    SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    
    SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    
    SQL>ALTER DATABASE OPEN;
    
    SQL>ALTER DATABASE NATIONAL CHARACTER SETINTERNAL_USEUTF8;
    
    SQL>SHUTDOWN immediate;
    
    SQL>startup;
    

    如果按上面的做法做,National charset的区域设置就没有问题

    1. 修改dmp文件字符集

    上文说过,dmp文件的第2第3字节记录了字符集信息,因此直接修改dmp文件的第2第3字节的内容就可以‘骗’过oracle的检查。这样做理论上也仅是从子集到超集可以修改,但很多情况下在没有子集和超集关系的情况下也可以修改,我们常用的一些字符集,如US7ASCII,WE8ISO8859P1,ZHS16CGB231280,ZHS16GBK基本都可以改。因为改的只是dmp文件,所以影响不大。

    具体的修改方法比较多,最简单的就是直接用UltraEdit修改dmp文件的第2和第3个字节。
    比如想将dmp文件的字符集改为ZHS16GBK,可以用以下SQL查出该种字符集对应的16进制代码:

    SQL> select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual;
    

    然后将dmp文件的2、3字节修改为0354即可。
    如果dmp文件很大,用ue无法打开,就需要用程序的方法了。

    1. 客户端字符集设置方法
      UNIX环境
      编辑oracle用户的profile文件

      vi .bash_profile
      $NLS_LANG=“simplified chinese”_china.zhs16gbk
      $export NLS_LANG

    展开全文
  • 问题场景:低版本oracle9i数据库字符集编码格式为ASCII码,要把orac9i数据库导出为dmp文件,导入到字符集编码格式为utf8  orac11g中,会出现中午乱码。 解决方法: 第一:首先要将高版本的oracle11g,字符集...
    问题场景:低版本oracle9i数据库,字符集编码格式为ASCII码,要把orac9i数据库导出为dmp文件,导入到字符集编码格式为utf8 
    
    

    orac11g中,会出现中午乱码


    解决方法:

    第一:首先要将高版本的oracle11g,字符集由utf8设置为ASCII码

    --修改字符集
    
    SHUTDOWN IMMEDIATE;
    
    STARTUP MOUNT EXCLUSIVE;
    
    ALTER SYSTEM ENABLE RESTRICTED SESSION;
    
    ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    
    ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    
    ALTER DATABASE OPEN;
    
    ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE US7ASCII;(如果不行试一下:ALTER DATABASE character set INTERNAL_USE US7ASCII;这种方法绕过字符集检查)
    
    SHUTDOWN immediate;
    
    startup;

    第二步:从低版本oracle9i数据库导出dmp文件

    注意:EXP导出的不能跨版本导入,应该使用EXPDP加version参数导出。

    expdp 用户名/密码@sid directory=dpdata1 dumpfile=expdp.dmp query='WHERE rownum<=100' SCHEMAS=用户名:用户名 version=导入库的版本号;


    第三步:使用ssh登陆oracle11g服务端导入dmp文件

    注意:首先要将dmp文件放在oracle数据库DATA_PUMP_DIR指定路径下。

    --oracle通过impdp导入不同表用户、不同表空间的数据 
    impdp fpbjy/fpbjy@10.19.22.91:1521/orcl directory=DATA_PUMP_DIR dumpfile=FPBJY.DMP REMAP_SCHEMA=fpbjy:fpbjy remap_schema=fpbj:fpbjy remap_tablespace=TS_FPBJ:TS_FPBJY   full=y 


    导入时可能会报ORA-39006: internal error
    ORA-39213: Metadata processing is not available元数据处理错误


    解决方法:

    参照我的博客http://blog.csdn.net/u013310119/article/details/71630825



    展开全文
  • 最近将数据库字符集问题进行了分析,将一些概念和原理进行了总结,这里写一下,希望帮助到需要的朋友们。1、什么是NLS_LangNLS_LANG是环境变量,包括3部分NLS参数:NLS_LANGUAGE, NLS_TERRITORY, NLS_CHARACTERSET,...

    最近将数据库字符集问题进行了分析,将一些概念和原理进行了总结,这里写一下,希望帮助到需要的朋友们。


    1、什么是NLS_Lang

    NLS_LANG是环境变量,包括3部分NLS参数:NLS_LANGUAGE, NLS_TERRITORY, NLS_CHARACTERSET,需要在启动SQLPLUS等工具之前设置;这是对于客户端而言的。

    影响这个参数的包括操作系统的NLS_Lang的环境变量设置。

    NLS_LANGUAGE主要控制SESSION中提示消息的语言,可以使用ALTER SESSION在SQLPLUS里面设置;

    NLS_TERRITORY主要控制SESSION中的日期和货币等本地化参数的现实格式,也可以像NLS_LANGUAGE一样在 SESSION 里面设置;

    NLS_CHARACTERSET控制客户端的字符集,不能在SESSION里面进行设置,只能通过NLS_LANG环境变量的方式进行设置。


    2、 NLS_Lang的格式:

    NLS_LANG=<language>_<Territory>.<Clients CharacterSet>

    各部分含义如下:

    LANGUAGE指定:

    -Oracle消息使用的语言

    -日期中月份和日显示

    TERRITORY指定

    -货币和数字格式

    -地区和计算星期及日期的习惯

    CHARACTERSET:

    -控制客户端应用程序使用的字符集

     

    3、什么是字符集?

    字符集就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。

    格式为<语言><比特位数><编码 >比如: ZHS16GBK表示采用GBK编码格式、16位(两个字节)简体中文字符集

    数据库初始化参数字符集,在建数据库前指定的字符集,建立后通常不能修改,如果修改可以用命令alter database set character set 不过这样修改有一定的危险,有可能会出现乱码超成数据的丢失,而且修改后的字符集一定是修改前的超集。

    如果未指定建库时会依赖os的设置。session级作用域只是影响那个连接.

     

    4、数据库字符集的查看:

    nls_database_parameters;数据来源props$内部表,表示数据库的字符集信息,与参数文件和环境变量都没有关系。

    nls_instance_parameters:数据来源v$system_parameter视图,表示实例的字符集信息,和实例启动参数文件有关,如不指定,那么参考nls_database_parameters数值。

    nls_session_parameters:根据客户端的环境变量而来,也可以通过alter session更改,如不指定,那么继承nls_instance_parameters数值。(客户端的参数变量)

    select view_name,text from dba_views where view_name like 'NLS%';通过此命令,查看表或者视图的来源。

     

    5、客户端 NLS_LANG 的设置方法

    Windows:

    # 常用中文字符集

    set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    # 常用unicode字符集

    set NLS_LANG=american_america.AL32UTF8

    可以通过修改注册表键值永久设置

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG

     

    Unix:

    # 常用unicode字符集

    export NLS_LANG=american_america.AL32UTF8

    # 常用中文字符集

    export NLS_LANG="Simplified Chinese_china".ZHS16GBK

    可以编辑 bash_profile 文件进行永久设置

    vi .bash_profile

    NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG

    # 使 bash_profile 设置生效

    source .bash_profile

     所以说,在安装数据库时要规定字符集,不规定则采用OS的字符集。如果想更改数据库字符集,那么要在导数据之前,或者修改的字符集是个超集。

    否则,如果数据库有数据,强行修改字符集,会造成数据的乱码。


     6、示例说明字符集的来龙去脉:

    例如:

    在客户端与服务器通信的过程中,步骤如下:

    字符集与客户端操作系统、客户端NLS_Lang、数据库字符集有关系

    比如客户端操作系统、NLS_Lang字符集为ZHS16GBK,数据库字符集为UTF-8

    1、客户端发出insert into test(id,name) values (1,"xx"); 由操作系统进行ZHS16GBK编码,发给数据库;数据库参考客户端的NLS_Lang设置知道发过来的命令编码是ZHS16GBK,于是数据库内部将字符进行转换:ZHS16GBK编码-->文字-->UTF-8编码,存储到数据库中。

    2、读取数据时,select * from test; 数据库根据本身的字符集产生结果,参考客户端的NLS_Lang设置进行转码:UTF-8编码-->文字-->ZHS16GBK编码,最后发送给客户端操作系统,客户端操作系统根据本身的ZHS16GBK编码表,最后显示查询结果。

    由此可知,最佳的方式就是客户端OS字符集==NLS_Lang设置==数据库字符集

    NLS_Lang的设置 与 客户端OS字符集要一致,要一致,否则会出现乱码。


    7、数据库导入导出时,字符集编码来龙去脉:

     EXP导出时:

    EXP时,起作用的有Oracle数据库的字符集和客户端操作系统参数NLS_LANG两项,这时服务器与客户端操作系统字符集都不起作用。如果客户端操作系统参数NLS_LANG与Oracle数据库的字符集相同,那就直接导出,不需要转码,并且导出文件的字符集与上述两项一样;如果客户端操作系统参数NLS_LANG与Oracle数据库的字符集不同,那么导出时Oracle数据库会将数据文件从Oracle数据库的字符集编码格式转码成客户端操作系统参数NLS_LANG指定的编码格式。

     IMP导入时:

    IMP时,起作用的仍然是两项,一项是DMP文件第二第三字节指定的字符集,另外一项是Oracle数据库的字符集。两个相同就不需要转码,两个不同就转成Oracle数据库字符集指定的编码格式。

     分析:

    其实也就是数据库只和客户端的NLS_Lang设置交互,因为要用类似PLSQL工具显示会牵扯到客户端操作系统字符集,否则类似EXP和IMP只跟NLS有关,与其他无关。

    展开全文
  • select * from v$nls_parameters; select * from SYS.nls_database_parameters; select * from SYS.props$;
  • 理解ORACLE数据库字符集.pdf
  • Oracle数据库字符集转换,观点独到,绝对值得一看!
  • 为了确保Export、Import过程...特别要注意的是,Oracle数据库字符集通常是在创建时确定,一旦存储用户数据后就不要再修改了,因为其数据都是使用该字符集进行存储的,改换其他字符集之后,原有数据就不能够正确表示了。
  • Oracle数据库字符集的查询

    千次阅读 2011-05-20 09:28:00
    Oracle数据库字符集通俗的讲就是一个字节数据的相关的解释的符号集合,它具有大小的差异,也有互相包容关系。Oracle是支持国家语言的相关体系结构,它允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,...
  • 字符集的设置不当是影响ORACLE数据库汉字显示的关键问题
  • 修改Oracle数据库字符集的命令行方法。 在Oracle10g上也可以使用
  • 修改oracle数据库字符集详细的操作命令
  • 数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。 1. 字符集:  (1)用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据...
  • ORACLE数据库字符集,即oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持,ORACLE为用户提供自己熟悉的数据库母语环境,诸如...
  • ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持,ORACLE为用户提供自己熟悉的数据库母语环境,诸如日期...
  • 问题:数据库字符集不同,导致字节不同,导致无法将数据库1中的大字段内容导入到数据库2中。 字符集描述: 数据库1:GBK格式 数据库2:UTF-8格式 需求:将数据库1中的数据导入到数据库2中。 解决办法: 第一种...
  • [转]oracle更改数据库字符集编码

    千次阅读 2008-07-16 15:49:00
    oracle更改数据库字符集编码!一.准备修改。首先必须用sys连接。1.修改sys密码.用其他dba权限的账户登陆后输入:alter user sys identified by 新密码;2.连接刚刚修改的sys(要在登陆状态下),CONNECT SYS/密码 as ...
  • Oracle数据库字符集问题总结,逻辑备份前必做的事情,这个总结,很详细。
  • 导读:本文来自『墨天轮』专栏“循序渐进Oralcle”(https://www.modb.pro/topic/6289,复制到浏览器中打开或者点击“阅读原文”),介绍《循序渐进Oracle》第三章的3.1-3.4节:字符集的基本知识、数据库字符集、...
  • 选择ORACLE数据库字符集

    千次阅读 2014-03-27 14:50:55
    另外对字符集的基本概念,ORACLE数据库字符集的一些知识也需要了解。  随着国内的软件产品逐步走向海外,对于多语言的支持已经成为软件的一个基本要求,采用UNICODE标准也逐渐成为通用的设计方案,此时ORACL
  • 在用PLSQL登录oracle数据库时可能遇到报错如下: 数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不...影响Oracle数据库字符集最重要的参数是NLS_LANG参数。 它的格式如下: NLS_LANG = l
  • 笔记:查看Oracle数据库字符集

    万次阅读 2019-05-07 11:26:27
    数据库字符集(props$): select * from nls_database_parameters 客户端字符集(v$parameter) select * from nls_instance_parameters 会话字符集(v$nls_parameters) select * from nls_session_...
  • 就是建立数据库时用的是他本身的字符集 ZHS16GBK,但是我后台用的utf8,请问怎么把这个已建立的数据库字符集变为utf8呢,还是我要重新再做啊,重做的时候怎么指定字符集呢 我百度了很多,网上说要更改服务器端和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,022
精华内容 42,808
关键字:

oracle查数据库字符集