Oracle字符集修改及相关错误处理

  1. 正常情况使用 SQL> alter database CHARACTER SET ZHS16GBK; 直接修改;
  2. 当上面的命令执行报错时:
    ORA-12712: 新字符集必须为旧字符集的超集。

  3. 通过下面的办法解决上序错误
    1)打开sqlplus 以sysdba身份登录;conn sys/sys@orcl as sysdba;
    2)SHUTDOWN abort;
    3)STARTUP MOUNT;
    – ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
    – ORA-24324: 未初始化服务句柄
      – ORA-01041: 内部错误, hostdef 扩展名不存在
      当出现上充错误时:
      sql>quit;
      SQL> conn /as sysdba
    已连接到空闲例程。
    再执行startup mount;
    4)SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
    5)SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    6)SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    7)SQL>ALTER DATABASE OPEN;
    8)SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; //跳过超子集检测
    9)SQL>SHUTDOWN IMMEDIATE;
    SQL>STARTUP

猜你喜欢

转载自blog.csdn.net/usrnck0709/article/details/78931756