1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > oracle11g字符集编码 ORACLE11g修改数据库字符集

oracle11g字符集编码 ORACLE11g修改数据库字符集

时间:2024-03-26 09:20:21

相关推荐

oracle11g字符集编码 ORACLE11g修改数据库字符集

dbca建立数据库实例的时候,编码选错了,导入备份以后,中文汉字全部用?号显示,

查询默认编码、字符集参数selectuserenv('language') from dual;

select name,value$ from props$ where name like '%NLS%';

select * from nls_database_parameters;

LS_CHARACTERSET是数据库字符集,NLS_NCHAR_CHARACTERSET是国家字符集

ORACLE中有两大类字符型数据,VARCHAR2是按照数据库字符集来存储数据。

而NVARCHAR2是按照国家字符集存储数据的。同样,CHAR和NCHAR也一样,一是数据库字符符,一是国家字符集。

转换字符集,数据库应该在RESTRICTED模式下,先要确定修改后的字符集是不是修改前的超集,如果不是可能出现相同的代码点对应不同的字符,出现乱码的问题。

出现这个错误是 oracle 只支持从子集到超集的转变

转换步骤如下:SQL> shutdown immediate;

SQL> startup mount;

SQL> alter system enable restricted session;

SQL> alter system set job_queue_processes=0;

SQL> alter database open;

SQL> alter database character set internal_use UTF8;

SQL> shutdown immediate;

SQL> startup

SQL> alter system disable restricted session;

转换完编码以后在次查看selectuserenv('language') from dual;

select name,value$ from props$ where name like '%NLS%';

select * from nls_database_parameters;

如果是新建的db,直接删除掉,重新建立下比较好,若是老系统,建议做好完备的备份,因为这个操作可能会损坏数据库; Tags标签: oracle,字符集,编码 Tags相关文章如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。