oracle+修改实例字符集,Oracle 11g_rac_更改字符集

Oracle

11g_rac_更改字符集

背景:

在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案;

出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899

其实只要修改一下ORACLE

的字符集就可以很好的解决这个问题;

1.查看现有字符集(rac1)

SQL> select value from

NLS_DATABASE_PARAMETERS where

parameter='NLS_CHARACTERSET';

VALUE

--------------------------------------------------------------------------------

AL32UTF8

SQL> select instance_name

from v$instance;

INSTANCE_NAME

----------------

orcl11

SQL> alter system set

cluster_database=false scope=spfile sid='orcl11';

System altered.

红色部分对于单实例的是不要加的,对于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

2.0243E+10 bytes

Fixed

Size 2237088

bytes

Variable

Size 3825208672 bytes

Database

Buffers 1.6375E+10 bytes

Redo

Buffers 41189376 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.

SQL>

4、修改字符集(rac1)

SQL> ALTER DATABASE

character set INTERNAL_USE zhs16gbk;

Database altered.

SQL> alter system set

cluster_database=true scope=spfile sid='orcl11';

System altered.

5、验证(rac1和rac2)

SQL> shutdown

immediate;

Database closed.

Database

dismounted.

ORACLE instance shut

down.

SQL> startup;

ORACLE instance

started.

Total System Global Area

2.0243E+10 bytes

Fixed

Size 2237088

bytes

Variable

Size 3825208672 bytes

Database

Buffers 1.6375E+10 bytes

Redo

Buffers 41189376 bytes

Database mounted.

Database opened.

SQL> select value from

NLS_DATABASE_PARAMETERS where

parameter='NLS_CHARACTERSET';

VALUE

--------------------------------------------------------------------------------

ZHS16GBK

两边的结果是一样的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值