如何在RAC环境下修改Oracle字符集
发布网友
发布时间:2022-04-27 12:31
我来回答
共1个回答
热心网友
时间:2022-04-07 20:59
在rac环境下修改oracle字符集,可以通过如下方法:
1、查询当前的字符集
SQL> select userenv('language') from al;
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 al;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
6、启动rac2,验证rac2的字符集(废话,公用一个数据库,当然一样了)