第一次装oracle11g数据库乱字符问题的解决

由于工作原因,常常用plsql进公司数据库操作取数,但从来没有自己装过oracle服务器端,也没有装过数据库。对于学习SQL来说,进真实数据库操作,显然不合适,因此前几天在自己笔记本里装了oracle11g,同时装数据库。但在做第一个过程并执行时,中文是乱码。用select userenv('language') from dual,查询数据库字符集不是我们公司用的SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1,改了注册表不行,改了环境变量也不行。后来到网上查询,步骤如下:

1、用SQLplus登录数据库;

2、以sysdba的身份登录上去 ,conn / as sysdba   ,下一部输入密码,****

3.以mount模式启动数据库
SQL>startup mount
4.设置session
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.启动数据库
SQL>alter database open;
6.修改字符集
SQL>ALTER DATABASE character set INTERNAL_USE WE8ISO8859P1; (直接用下一句,报错,改不起,先用这个强制执行)
SQL>ALTER DATABASE character set WE8ISO8859P1; (用上一句,修改后查询结果是改过来了,但还是乱字符,必须执行这个,才正常)
7.关闭,重新启动
SQL>shutdown immediate;
SQL>startup
--查询数据信息
select * from v$nls_parameters;  查询出来主要是改NLS_CHARACTERSET,这一项。

posted @ 2020-10-12 20:25  蜕变大哥  阅读(223)  评论(0)    收藏  举报