如上图所示,字符集是UTF-8,修改字符集的方法如下:
修改数据库字符集为:ZHS16GBK
查看服务器端字符集SQL > select * from VN L S P A R A M E T E R S T e l n e t 到 服 务 器 , 执 行 : NLS_PARAMETERS
执行:sqlplus /nolog
SQL>conn / as sysdba
若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,
然后执行以下命令:
sqlplus / as sysdba
SQL>shutdown immediate
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
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 ZHS16GBK;
ERROR at line 1:ORA-12721: operation cannot execute when other sessions are active
若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
1. 登录数据库
sqlplus / as sysdba
2. 进入更新模式
shutdown immediate
startup upgrade;
3. 调整数据库字符长度
alter system set max_string_size=extended scope=both;
@$ORACLE_HOME/rdbms/admin/utl32k.sql