Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2766783
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2013-08-14 11:10:36

                                                      数据库字符集zhs16gbk迁移到al32utf8

   1,确定当前的字符集
 
 SQL>select * from v$nls_parameters where parameter='NLS_CHARACTERSET'

PARAMETER                                                        VALUE
---------------------------------------------------------------- -------------
NLS_CHARACTERSET                                                 ZHS16GBK


2,以sys用户运行  $ORACLE_HOME/rdbms/admin/csminst.sql;

SQL> @csminst.sql;


3,运行$ORACLE_HOME/bin/csscan 评估迁移到新字符集的影响,新字符集必须是原来的字符集的超集
比如al32utf8 是zhs16gbk,u7ascii的超集

$ORACLE_HOME/bin/csscan system/sys tochar=al32utf8 array=10240000 process=8 full=y

4,查出输出的几个文件,主要关注 scan.txt,其中有一行

"The data dictionary can be safely migrated using the CSALTER script"

5,开始转换

SQL> alter database character set internal_use al32utf8;


使用internal_use跳过内部是不是超集这样的检查

6,查看转换过后的
 SQL>select * from v$nls_parameters where parameter='NLS_CHARACTERSET'


PARAMETER                                                        VALUE
---------------------------------------------------------------- -----------
NLS_CHARACTERSET                                                 AL32UTF8


注:转换危险性比较大,不保证成功.一定要记得提前做好备份,或是使用其他的可选方案,如导出导入,GG这样的工具

阅读(8724) | 评论(0) | 转发(0) |
0

上一篇:如何修改 EMC 12C的sysman密码

下一篇:1z052-02

给主人留下些什么吧!~~