精华内容
下载资源
问答
  • 在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。 1.数据库全备 2.查询当前字符集 SQL> select * from...
    在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
    1.数据库全备


    2.查询当前字符集
    SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
    PARAMETER                                VALUE
    ---------------------------------------- ----------------------------------------
    NLS_CHARACTERSET                         WE8ISO8859P1


    3.关闭数据库
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.


    4.启动数据库到mount状态
    SQL> startup mount
    ORACLE instance started.
    Total System Global Area  205520896 bytes
    Fixed Size                  1266608 bytes
    Variable Size             100666448 bytes
    Database Buffers          100663296 bytes
    Redo Buffers                2924544 bytes
    Database mounted.


    5.限制session
    SQL> alter system enable restricted session;
    System altered.


    6.查询相关参数并修改
    SQL> show parameter job_queue_processes;  
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    job_queue_processes                  integer     10


    SQL> show parameter aq_tm_processes; 
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    aq_tm_processes                      integer     0


    SQL> alter system set job_queue_processes=0;
    System altered.


    7.打开数据库
    SQL> alter database open;
    Database altered.


    8.修改字符集
    SQL> alter database character set ZHS16GBK;
    alter database character set ZHS16GBK
    *
    ERROR at line 1:
    ORA-12712: new character set must be a superset of old character set


    出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。


    SQL> alter database character set internal_use ZHS16GBK;          
    Database altered.


    9.查询当前字符集
    SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
    PARAMETER                                VALUE
    ---------------------------------------- ----------------------------------------
    NLS_CHARACTERSET                         ZHS16GBK


    10.关闭数据库
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.


    11.启动数据库到mount状态
    SQL> startup mount
    ORACLE instance started.
    Total System Global Area  205520896 bytes
    Fixed Size                  1266608 bytes
    Variable Size             100666448 bytes
    Database Buffers          100663296 bytes
    Redo Buffers                2924544 bytes
    Database mounted.


    12.将相关参数改回原来值
    SQL> alter system set job_queue_processes=10;
    System altered.


    13.打开数据库
    SQL> alter database open;
    Database altered.
    展开全文
  • SQL> conn /as sysdba Connected. SQL> shutdown immediate; Database closed. Database dismounted.  ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area

    SQL> conn /as sysdba Connected.
    SQL> shutdown immediate;
    Database closed. Database dismounted.
     ORACLE instance shut down.
    SQL> startup mount ORACLE instance started.
    Total System Global Area  236000356 bytes
    Fixed Size                   451684 bytes
    Variable Size             201326592 bytes
    Database Buffers           33554432 bytes
    Redo Buffers                 667648 bytes
    Database mounted.
    SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
    System altered.
    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    System altered.
    SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    System altered.
    SQL> alter database open;
    Database altered.
    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
    ALTER DATABASE CHARACTER SET ZHS16GBK * ERROR at line 1: ORA-12712: new character set must be a superset of old character set
    提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
    SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
    Database altered.
    检查是否更改
    SQL> select * from v$nls_parameters;


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

    NLS_TERRITORY
    AMERICA

    NLS_CURRENCY
    $


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_ISO_CURRENCY
    AMERICA

    NLS_NUMERIC_CHARACTERS
    .,

    NLS_CALENDAR
    GREGORIAN


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_DATE_FORMAT
    DD-MON-RR

    NLS_DATE_LANGUAGE
    AMERICAN

    NLS_CHARACTERSET
    AL32UTF8


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_SORT
    BINARY

    NLS_TIME_FORMAT
    HH.MI.SSXFF AM

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


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_TIME_TZ_FORMAT
    HH.MI.SSXFF AM TZR

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

    NLS_DUAL_CURRENCY
    $


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_NCHAR_CHARACTERSET
    AL16UTF16

    NLS_COMP
    BINARY

    NLS_LENGTH_SEMANTICS
    BYTE


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_NCHAR_CONV_EXCP
    FALSE


    19 rows selected


    重启检查是否更改完成:
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    Total System Global Area  236000356 bytes
    Fixed Size                   451684 bytes
    Variable Size             201326592 bytes
    Database Buffers           33554432 bytes
    Redo Buffers                 667648 bytes
    Database mounted.
    Database opened.
    SQL> select * from v$nls_parameters;


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

    NLS_TERRITORY
    AMERICA

    NLS_CURRENCY
    $


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_ISO_CURRENCY
    AMERICA

    NLS_NUMERIC_CHARACTERS
    .,

    NLS_CALENDAR
    GREGORIAN


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_DATE_FORMAT
    DD-MON-RR

    NLS_DATE_LANGUAGE
    AMERICAN

    NLS_CHARACTERSET
    AL32UTF8


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_SORT
    BINARY

    NLS_TIME_FORMAT
    HH.MI.SSXFF AM

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


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_TIME_TZ_FORMAT
    HH.MI.SSXFF AM TZR

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

    NLS_DUAL_CURRENCY
    $


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_NCHAR_CHARACTERSET
    AL16UTF16

    NLS_COMP
    BINARY

    NLS_LENGTH_SEMANTICS
    BYTE


    PARAMETER
    ----------------------------------------------------------------
    VALUE
    ----------------------------------------------------------------
    NLS_NCHAR_CONV_EXCP
    FALSE


    19 rows selected

    展开全文
  • 1 进入安装oralce的用户2 登入数据库sqlplus 用户名/密码 as sysdba3 如果登录不了,可以执行以下命令刷新环境变量cd~source ~/.bash_profile4 查看oracle数据库的编码select * from nls_...5 执行以下命令修改ora...

    1 进入安装oralce的用户

    2 登入数据库

    sqlplus 用户名/密码 as sysdba

    3 如果登录不了,可以执行以下命令刷新环境变量

    cd ~

    source ~/.bash_profile

    4  查看oracle数据库的编码

    select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

    5  执行以下命令修改oracle编码为ZHS16GBK

    shutdown immediate 关闭(shutdown Abort强行关闭)

    startup mount 启动

    alter system enable restricted session;

    alter system set job_queue_processes=0;

    alter system set aq_tm_processes=0;

    alter database open;

    alter database character set internal_use ZHS16GBK;

    ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

    shutdown immediate

    startup

    6执行以下命令查看是否生效

    select name,value$ from props$ where name like '%CHARACTER%';

    展开全文
  • Linux下修改oracle字符集 Linux 下修改 oracle 字符集:WE8ISO8859P1 修改为 ZHS16GBK.  WE8ISO8859P1 字符集是安装 oracle 时默认字符集,不支持中文。
  • linux下oracle数据库字符集修改 0、RHEL6.7、oracle11gr2 1、登录oracle。在安装oracle的用户下进入数据库。 $ sqlplus / as sysdba 2、查询 oracle 的配置参数 SQL> SELECT * FROM v$nls_parameters; 3、修改 ...

    linux下oracle数据库字符集修改

    0、RHEL6.7、oracle11gr2

    1、登录oracle。在安装oracle的用户下进入数据库。

    $ sqlplus / as sysdba

    1099493-20170811163056351-96873609.png

    2、查询 oracle 的配置参数

    SQL> SELECT * FROM v$nls_parameters;

    1099493-20170811163352820-1458772220.png

    3、修改 NLS_LANGUAGE 的值。

    SQL> ALTER SYSTEM SET NLS_LANGUAGE='SIMPLIFIED CHINESE' SCOPE=SPFILE;

    4、修改 NLS_TERRITORY 的值。

    SQL> ALTER SYSTEM SET NLS_TERRITORY 'CHINA' SCOPE=SPFILE;

    5、停止服务后重新启动,使设置生效。

    SQL> shutdown immediate;
    SQL> startup;

    转载于:https://www.cnblogs.com/anzerong2012/p/7346707.html

    展开全文
  • 1 进入安装oralce的用户2 登入数据库sqlplus 用户名/密码 as sysdba3 如果登录不了,可以执行以下命令刷新环境变量cd~source ~/.bash_profile4 查看oracle数据库的编码select * from nls_...5 执行以下命令修改ora...
  • linux下修改oracle字符集

    千次阅读 2017-03-30 14:58:00
    通常我们在导入导出Oracle数据时,会遇到乱码现象,一般是由于oracle字符集不一致造成的,下面将展示如何修改oracle字符集。 [oracle@ORACLE ~]$ sqlplus /nolog SQL> conn /as sysdba; SQL>select userenv('...
  • 问题描述:在Linux下静默安装的Oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,imp导入后的数据中文全显示为???。问题出在oracle服务端的字符集不支持中文导致。 可以通过: select userenv(‘language’) ...
  • Linux下修改Oracle数据库字符集

    千次阅读 2018-07-23 14:18:49
    Linux下安装Oracle真的是很头痛。好不容易成功了,才发现字符集没有设置对。在网上也搜了不少,发现很多修改命令居然都报错,不知道是为什么。  今天就把自己的亲测可用的代码记录下来以备以后使用啊: SQL&...
  • 常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle数据库到本地机器上 ...
  • Oracle安装过程采用基本安装,默认字符集是WE8ISO8859P1,需安装完成后修改。如果是新建库比较简单,可以直接执行以下命令,如果是已运行库,可将数据先导出,修改完成后再导入。[@more@]修改过程,sqlplus登陆...
  • 在进行新的服务器导入时,发现出现了乱码。1,先在PLSQL输入:select dualren('language')from dual;...2,关闭数据库:立即关闭2,修改预言的实例字符集:SQL> STARTUP MOUNT; SQL> ALTER SY...
  • Linux下修改Oracle字符集为ZHS16GBK

    千次阅读 2020-04-17 10:23:12
    切换oracle用户 [root@train ~]# su - oracle Last login: Thu Apr 16 13:35:35 CST 2020 on pts/1 登录到oracle [oracle@train ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Fri Apr.....
  • linux 修改oracle字符集

    2017-05-11 11:13:00
    问题描述:同事在Linux下安装的Oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,不能够支持中文, 问题表现为,客户端录入的中文数据可以显示,提交之后再查询出来后中文会显示为???。问题出在oracle服务端...
  • 1 进入安装oralce的用户   2 登入数据库 ...   3 如果登录不了,可以执行以下命令刷新环境变量  ...4 查看oracle数据库的编码 select * from nls_database_parameters where parameter ='NL
  • 转自:... 所有命令中只有标红的地方需要你自己去修改你需要的字符集,其他的地方,我建议直接就copy我的这个就行了,自己写还是很费劲的,至于还有什么字符集,查就行了。
  • SQL> alter database character set INTERNAL_USE ZHS16GBK; 重启数据库 ...所以安装数据库时切记修改字符集,避免后面出现的尴尬问题 转载于:https://blog.51cto.com/2813385/583279...
  • 1.Linux 更改 oracle 客户端字符集,即设置环境变量“ NLS_LANG“ 的值 查看客户端字符集,在终端执行: echo $NLS_LANG修改客户端字符集: sudo gedit /etc/environment 在environment 文件中增加以下内容...
  • Linux下更改oracle客户端字符集和服务端字符集1.Linux下更改oracle客户端字符集,即设置环境变量“NLS_LANG“的值 查看客户端字符集,在终端下执行:echo $NLS_LANG sudo gedit /etc/environment 在...
  • Linux下修改oracle字符集

    千次阅读 2012-05-15 15:47:21
    把表删除,修改字符集,重新导入。 开发部服务器字符集  select userenv('language') from dual  AMERICAN_CHINA.ZHS16GBK  双向流服务器字符集  WE8ISO8859P1 二者的关系既不是超集也不是...
  • 通常我们在导入导出Oracle数据时,会遇到乱码现象,一般是由于oracle字符集不一致造成的,下面将展示如何修改oracle字符集 [oracle@wang ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Sun...
  • linux oracle 导入数据库时出现中文乱码,通过修改字符集格式,修改成支持中文的格式。简单易操作。
  • 问题描述:同事在Linux下安装的Oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,不能够支持中文, 问题表现为,客户端录入的中文数据可以显示,提交之后再查询出来后中文会显示为???。问题出在oracle服务端的...
  • oracle修改字符集方法

    2016-01-04 14:33:11
    环境:OS:Red Hat Linux As 5DB:Oracle 10.2.0.4通常情况,字符集是在安装的时候选定好的,需要修改数据库的字符集Oracle建议的做法是重建数据库(EXP/EXPDP导出后再导入),虽然Oracle官方文档也有说如何修改字符集,但...
  • 把表删除,修改字符集,重新导入。 开发部服务器字符集  select userenv('language') from dual  AMERICAN_CHINA.ZHS16GBK  双向流服务器字符集  WE8ISO8859P1 二者的关系既不是超集也不是所属子集...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 149
精华内容 59
关键字:

linux下oracle修改字符集

linux 订阅