一个11g rac新库安装了zhs16gbk,现在需要转换到gb18030去,相关操作如下:
1.停止第一个结点的cluster服务
./crsctl stop cluster
2.在第二个节点上修改数据库为单实例模式
alter system set cluster_database=false scope=spfile;
3.在第二个节点修改字符集
shutdown immediate;
startup mount;
show parameter job_queue_processes
show parameter aq_tm_processes
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set zhs32gb18030;
如果上面这句执行不成功,则可以尝试下面的语句
alter database character set internal_use zhs32gb18030;
---事后证明确实需要用到internal_use参数才可以转换成功。
4.重新恢复数据库为RAC模式
alter system set cluster_database=true scope=spfile;
alter system set job_queue_processes=1000;
alter system set aq_tm_processes=1 ;
shutdown immediate
startup
5.启动第一个节点的cluster服务,并验证
./crsctl start cluster
检查修改是否生效
select userenv('language') from dual;