改字符集
c:\>svrmgrl
在svrmgrl中执行:
shutdown
startup mount
ALTER SYSTEM ENABLE RESTRICTED SESSION; 
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
ALTER DATABASE OPEN; 
update props$ set value='ZHS16GB' WHERE NAME='NLS_CHARACTERSET';
update props$ set value='ZHS16GB' WHERE NAME='NLS_NCHAR_CHARACTERSET';
先申明此法很危险,
如果改错了值可能会导致数据库无法打开。×××××××××××××
修改字符集的步骤:
c:\>svrmgrl
在svrmgrl中执行:
connect internal/oracle[@dbname];
shutdown immediate;
startup restrict;
ALTER DATABAE [dbname] CHARACTER SET [SIMPLIFIED CHINESE_CHINA.]ZHS16GBK ; 
ALTER DATABAE [dbname] NATIONAL CHARACTER SET [SIMPLIFIED CHINESE_CHINA.]ZHS16GBK ; 
alter database [dbname] open;
--shutdown immediate;
--startup;

解决方案 »

  1.   

    alter database CHARACTER SET character_set;
    新字符集为原的超集才可以的,依你的情况应该也不行。
    而且做这之前要做一次全备份。
      

  2.   

    我看你的意思,好象是导入出错
    如果你是dmp文件,可以修改dmp文件的2,3个字节来与目标数据库统一
      

  3.   

    (1)、ALTER DATABAE CHARACTER SET SIMPLIFIED CHINESE_CHINA.ZHS16GBK ; (2)、update props$ set value$='ZHS16CGB231280' 
    where name='NLS_CHARACTERSET';
    update props$ set value$='ZHS16CGB231280' 
    where  name='NLS_NCHAR_CHARACTERSET';
      

  4.   

    penitent
    具体怎么改,能不能说的详细一点,谢谢了!