Oracle11g 字符集修改为ZHS16GBK详解

本文详细介绍了一种在HP服务器上将数据库字符集从默认状态更改为ZHS16GBK的方法。通过使用scott/tiger账号登录并执行一系列SQL命令,包括关闭和重启数据库服务器,最终成功将数据库字符集修改为中国简体中文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   首先尝试下面方式更改HP服务器数据库字符:

   尝试方法一:在sys/sys 下面执行下面语句:(失败)

   注:SQL> alter database CHARACTER SET ZHS16GBK;
   alter database CHARACTER SET ZHS16GBK

  结果报下面错误:
   ERROR 位于第 1 行:
   ORA-12712: 新字符集必须为旧字符集的超集。  

   注:超集解释:如果s1集合包含s2集合中的每一个元素,并且s1集合中有可能包含s2集合中不含有的元素时,那么称s1是s2的超级。

 

  尝试方法二:用scott/tiger 登陆 sqlplus 然后connect sys/sys as sysdba,然后输入命令即可,文中标红的请用自己设置的密码。(此方法测试后成功!)

 

  然后在sqlplus界面依次执行以下sql语句:

   若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:注:每条sql语句都会有相应的提示,请输入时务必仔细。


  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 INTERNAL_USE ZHS16GBK; //跳过超子集检测


  SQL>SHUTDOWN IMMEDIATE;


  SQL>STARTUP

 

      最后重启oracle11g监听和服务,重新登录PL/SQL developer ,

     执行select userenv('language') nls_lang from dual; 发现目标数据库字符集如下,已经正确修改为SIMPLIFIED      。CHINESE_CHINA.ZHS16GBK。


    NLS_LANG

    ----------------------------------------------------
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

 

--------------------- 本文来自 一凡孟 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/mfl0315/article/details/41929775?utm_source=copy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值