有问题的机器(测试库)上:
SQL> 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);
CHARACTERSET
TYPES_USED_IN
---------------------------------------- -------------
AL16UTF16
NCHAR
AL16UTF16
NCLOB
AL16UTF16
NVARCHAR2
US7ASCII
VARCHAR2
WE8ISO8859P1
CHAR
WE8ISO8859P1
CLOB
WE8ISO8859P1
VARCHAR2
ZHS16GBK
CHAR
ZHS16GBK
CLOB
ZHS16GBK
VARCHAR2
在正常库上:
SQL> select distinct(nls_charset_name(charsetid)) CHARACTERSET,
2decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),
39, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
496, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
5112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
6from sys.col$ where charsetform in (1,2) and type# in (1, 9, 96, 112);
CHARACTERSET
TYPES_USED_IN
-------------------------------------------------------------------------------- -------------------
-------
AL16UTF16
NCHAR
AL16UTF16
NCLOB
AL16UTF16
NVARCHAR2
WE8ISO8859P1
CHAR
WE8ISO8859P1
CLOB
WE8ISO8859P1
VARCHAR2
那怎么解决呢??
可以直接对col$表进行操作吗??
|