rac 环境下修改oracle数据库字符集为GBK

1、查询当前的字符集
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.WE8ISO8859P1

sql> alter system set cluster_database=false scope=spfile sid='jscn1';
红色部分对于单实例的是不要加的,对于rac来说必须加上,不然会报
ORA-12720: operation requires database is in EXCLUSIVE mode

2、停止数据库(rac1和rac2都要停止)
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

3、启动数据库(只在rac1上面操作)
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1577058304 bytes
Fixed Size                  2084264 bytes
Variable Size             436208216 bytes
Database Buffers         1124073472 bytes
Redo Buffers               14692352 bytes
SQL> Alter database mount exclusive;

Database altered.

SQL> Alter system enable restricted session;

System altered.

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

System altered.
SQL> Alter database open;

Database altered.

4、修改字符集
SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk;
sql> alter system set cluster_database=true scope=spfile sid='jscn1';

5、验证(两个节点都要测)
Database altered.
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

Total System Global Area 1577058304 bytes
Fixed Size                  2084264 bytes
Variable Size             436208216 bytes
Database Buffers         1124073472 bytes
Redo Buffers               14692352 bytes
Database mounted.
Database opened.
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

6、启动rac2,验证rac2的字符集(废话,公用一个数据库,当然一样了)

猜你喜欢

转载自gebobby.iteye.com/blog/2094371