ORA-06552 ORA-06553 問題解決

来源:互联网 发布:java 调用log4j 编辑:程序博客网 时间:2024/05/02 02:45

 參考:http://www.bitscn.com/pdb/oracle/200812/156540.html

 

首先,确认字符集是否修改的不彻底。

中国网管论坛bbs.bitsCN.com

SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
DECODE(TYPE#, 1,
DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKOWN'),
9,
DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96,
DECODE(CHARSETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112,
DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
FROM SYS.COL$
WHERE CHARSETFORM IN (1, 2)
AND TYPE# IN (1, 9, 96, 112);

 

如果上面的查询的确显示有多个字符集的设定,则进行如下处理:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

54com.cn
 

    ——INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化 54com.cn

ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET; 54com.cn

SHUTDOWN IMMEDIATE;
STARTUP; 54ne.com
 


feedom.net

    —— 再次启动数据库一遍

54ne.com

SHUTDOWN IMMEDIATE;
STARTUP;

    至此,EXP问题得到了解决。

中国网管论坛bbs.bitsCN.com

    注意:修改字符集只是修改了数据字典,并没有对数据进行字符集转换! feedom

原创粉丝点击