更改虚拟机上的oracle字符集

Posted lkyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改虚拟机上的oracle字符集相关的知识,希望对你有一定的参考价值。

修改oracle上边的字符集,需要用到DBA数据库管理员的权限,再修改字符集时要注意到修改后的字符集只能范围变大(例如:当前的字符集是GBK,那你修改后可以是UTF-8就是说后者只能比前者大,不能小.因为字符集都是向下兼容的)

步骤:

  第一步:使用DBA身份登录

    先以绕过日志的方式登录

    技术分享图片

    在以

    技术分享图片

     然后使用如图命令关闭数据库

    技术分享图片

    

    1>shutdown immediate;

    2>startup mount;

    3>alter system enable restricted session;

    4>alter system set job_queue_processes=0;:

    5>alter system set aq_tm_processes=0;

    6>alter database open;

    7.1>alter database character set utf8

    7.2>alter database character set internal_use utf8;

 

    8>SHUTDOWN immediate;

    9>startup;

    1: (把database停了)

    2: (把database重开去可更改情況)

    3:开启限制会话模式(alter system disable restricted session;取消限制会话模式 )

    4:job_queue_processes=0:取值范围为0到1000,总共可创建多少个job进程由job_queue_processes参数来决定。

            当设定该值为0的时候则任意方式创建 的job都不会运行

    5:我们在修改字符集时,会把4,5两个processes参数设置为0,而第五个命令本来默认只就是0;(他们防止有任务自动启动执行,一般不做那个操作也没关系)

    6:oracle数据库启动分三个步骤

      nomount,mount,open;

      startup是数据库从开始阶段的启动,需要经过上述三个步骤;

      alter database open是数据库处于mount状态,从mount状态打开数据库的命令

     7.1:修改数据库的字符集

     7.2:发生报错内容为新字符集必须为就字符集的超集时,使用这种方法:跳过超集检测

     8:(把database停了)

     9:运行数据库

    (这时综合好多大神的答案:希望能帮助到那些和我一样的人)

 

    

以上是关于更改虚拟机上的oracle字符集的主要内容,如果未能解决你的问题,请参考以下文章

更改Oracle字符集避免乱码

如何实现oracle数据库中英文字符集转换

Oracle更改字符集

在 Oracle 11g XE 上更改 NLS 字符集参数

Linux下更改oracle客户端字符集和服务端字符集

oracle数据库更改字符集