54、数据库全球化设置与字符集管理

数据库全球化设置与字符集管理

1. 更改字符集

数据库管理员(DBA)常常希望能够更改数据库字符集。通常是因为数据库最初使用默认的 US7ASCII 字符集创建,后续需要存储该字符集之外的字符信息,例如法语名字。在 9i 版本之前,没有官方支持的更改字符集的技术;从 9i 版本开始,有了支持的技术,但不能保证一定成功。DBA 有责任进行全面检查,确保更改不会损坏数据。因为更改字符集不会重新格式化数据文件中的现有数据,只是改变数据的呈现方式。例如,从西欧字符集转换为东欧字符集时,西欧语言中常见的带重音字母可能会被解释为西里尔字符,导致灾难性后果。

1.1 辅助工具

为了辅助决定是否更改字符集,提供了两个工具:
- 数据库字符集扫描器(Database Character Set Scanner) :可登录数据库并遍历数据文件,生成可能存在问题的报告。例如,使用以下命令以 SYSTEM 用户连接数据库并扫描所有数据文件,检查转换为 UTF8 是否会导致问题:

csscan system/systempassword full=y tochar=utf8

典型问题是,原字符集中用一个字节编码的字符在 UTF8 中可能需要两个字节,导致更改后数据无法适应列。扫描器会生成详细报告,列出所有在新字符集下有问题的行。在转换之前,DBA 需采取适当措施解决这些问题。在运行字符集扫描器之前,必须运行 csminst.sql 脚本来准备数据库。
- 语言和字符集文件扫描器(La

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值