[oracle@localhost ~]$ rlwrap sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 23 15:25:02 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
???:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter user hr identified by sys123;
alter user hr identified by sys123
*
? 1 ?????:
ORA-01109: ??????
SQL> startup
ORA-01081: ????????? ORACLE - ??????
SQL> alter database mount;
alter database mount
*
? 1 ?????:
ORA-01102: ??? EXCLUSIVE ????????
解决方法:我使用的是secureCRT软件,可以在optios(字符)——session options下的terminal(终端)下的education(仿真)中把terminal(终端)一栏改为‘linux’把appearance(外观)——character encoding(字符编码)一栏,选择default,normal fonts(字体)选择新宋体,应该是没问题的!
如果不是,就是字符设置的问题!
上面是在secureCRT下的乱码现象!!!如果是终端如下的乱码问题
解决办法:修改终端的编码格式
修改后退出sqlplus重新登陆一下就没问题了
还有一种情况,以上方法都不管用,在crt下的乱码问题
在.bash_profile 中设置环境变量
export NLS_LANG="simplified chinese_china.utf8"
并且在修改crt的默认字符集:
中文显示正常;我的数据库编码是:
[oracle@asm01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 7月 31 10:26:04 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL>
在操作系统的终端
保持默认,也就显示正常了!!!
说明一点:
如果将环境配置文件中的环境变量设置为:
export NLS_LANG="american_america.zhs16gbk"则数据库中的字符集也会相应的改变
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
说明:出现乱码问题一定是操作系统的字符集和数据库内部的字符集不一致才造成的,如果是这种情况先查看操作系统的字符集和数据库的字符集,然后设置成一致的即可