将oracle字符集改成GB18030

将oracle字符集改成GB18030

 (2011-06-29 14:16:05)

转载

标签: 

数据库

 

字符集

 

oracle

 

gb18030

 

ora-12712

 

it

 

1、以管理员身份进入数据库
$sqlplus /nolog
conn sys as sysdba
password:xxxxxxxx

2、修改字符集
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
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;
当字符集小于当前字符集的时候,这里会出现一个错误。
(!!!!cORA-12712: new character set must be a superset of old character set )
继续用下面指令,照样可以正常替换。只是有些表中的中文字符没法用了。
ALTER DATABASE character set INTERNAL_USE ZHS32GB18030;

3、重新启动数据库
SHUTDOWN;
STARTUP;

4、设置环境变量
Windows:set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS32GB18030
Linux:  export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS32GB18030'

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 12c 中,GB18030 字符集是被支持的字符集之一。如果需要将数据库字符集修改GB18030,可以按照以下步骤进行操作: 1. 确认当前的字符集 首先需要确认当前的数据库字符集,可以执行以下 SQL 语句: ``` SELECT * FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET'; ``` 如果当前字符集GB18030,则无需修改。 2. 创建新的字符集 如果需要修改字符集,需要先创建一个新的字符集。可以执行以下 SQL 语句: ``` CREATE DATABASE <database_name> CHARACTER SET GB18030; ``` 其中,`<database_name>` 为数据库名称。 3. 迁移数据 创建新的字符集后,需要将原数据库中的数据迁移到新的数据库中。可以使用 Oracle 提供的工具 `CSSCAN` 和 `CSALTER`。具体步骤如下: - 运行 `CSSCAN` 工具扫描数据库中所有字符数据类型的列,生成一个转换表。 - 运行 `CSALTER` 工具将转换表中的数据转换为 GB18030 字符集。 - 将转换后的数据导入到新的数据库中。 4. 修改字符集 将数据迁移至新的数据库后,需要修改数据库的字符集。可以执行以下 SQL 语句: ``` ALTER DATABASE <database_name> CHARACTER SET GB18030; ``` 其中,`<database_name>` 为数据库名称。 修改字符集后,需要重启数据库才能生效。 注意:修改字符集可能会影响到应用程序和数据库中的数据,需要谨慎操作。建议在测试环境进行测试后再在生产环境中执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值