修改oracle字符集将字符编码WE8MSWIN1252修改为AL32UTF8
采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:AL32UTF8。
select userenv('language') from dual;
SQL>sqlplus "/as sysdba"(dba确实是没有shutdown和open的权限,必需要有sysdba或sysoper 权限,而且登录时必需讲明身份,(给用户赋权限)grant sysdba,sysoper to 用户名; conn "frc/password as sysdba" --这里如果不加"as sysdba",说明它是以普通身份登录的,仍然不能shoutdown)
可以直接用 SQL>sqlplus "用户名/密码 as sysdba" 登录,前提是此用户已经赋予了sysdba的权限。
操作过程如下:
SQL> shutdown immediate
SQL> startup
SQL> alter session set sql_trace=true;
SQL> alter system enable restricted session;
SQL> show parameter job_queue_processes;
SQL> alter system set job_queue_processes=0;
SQL> alter system set aq_tm_processes=0;
SQL> alter database open;
SQL> alter database character set INTERNAL_USE AL32UTF8;
SQL> update props$ set VALUE$='UTF8' where NAME='NLS_NCHAR_CHARACTERSET';
维护完以后需要
SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION;
改变字符集后,原来已有的数据不会改变,只是之后新增的数据会是新的字符集。
Oracle字符集的查看和修改 http://www.linuxidc.com/Linux/2013-07/87538.htm
Oracle字符集的查看查询和Oracle字符集的设置修改 http://www.linuxidc.com/Linux/2011-11/47383.htm
引用自:https://blog.csdn.net/shangyixueysj/article/details/52924666