更改虚拟机上的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:运行数据库

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

    

原文地址:https://www.cnblogs.com/lkyang/p/8659367.html