`
dy3168729
  • 浏览: 39650 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ORACLE 数据库迁移问题解决[字符集修改]

阅读更多

转自  http://hi.baidu.com/wzx2pp/blog/item/858686fc7e134ee9fd037fe2.html

差差大军

 

 

由于迁移数据库,导致用户一下午无法操作系统,实在是罪过呀。不过下次一定要注意,字符集是大问题呀。

一下方案来自网络,被我所有。谢谢了。

oracle11g更改字符集AL32UTF8为ZHS16GBK
文章分类:数据库
Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1.

SIMPLIFIED CHINESE_CHINA.ZHS16GBK 包含 AMERICAN_AMERICA.AL32UTF8.
这可是个麻烦事,不是改客户端字符集的问题。要改数据库的字符集。我是自己笔记本上面的oracle11g,所以胆子还是很大的:
SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> select * from v$nls_parameters; 
SQL> shutdown immediate;
SQL> startup
SQL> select * from v$nls_parameters;
以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好。 

 

备份数据库:

exp 用户/密码@服务名 owner=feilitms rows=y indexes=y compress=n buffer=65536 feedback=100000 file=E:\tms20110301.dmp

imp 用户/密码@服务名 fromuser=tms touser=feilitms rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file=E:\tms20110301.dmp

 
取index语句:

SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;

 

--也可通过 imp 只导入索引来导入,其他的关闭。

 

生成表及字段备注:

select 'comment on column '||table_name||'.'||column_name||' is '''||comments||''';' 
from user_col_comments  ;

select 'comment on TABLE '||table_name||' is '''||comments||''';' 
from user_tab_comments

分享到:
评论
1 楼 zhengJackson 2012-08-07  
讲解的挺好的

相关推荐

    oracle数据库迁移

    oracle的字符集介绍和设置,oracle导用户时的空表设置,oracle导出导入用户全过程详细介绍。

    Oracle数据库字符集问题总结

    在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现将oracle字符集相关的一些知识做了个简单总结

    理解ORACLE数据库字符集

    ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持,ORACLE为用户提供自己熟悉的数据库母语环境,诸如日期...

    做Oracle数据库迁移,碰上了灵异的字符集问题,懵了

    这个就是那个出现灵异现象的test.dmp文件 博文链接:https://rainbamboo.iteye.com/blog/215343

    Oracle数据库学习指南

    32. 如何查看数据库的字符集 33. 如何启动ARCHIVELOG模式 34. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? 35. 如何使用归档日志进行完全恢复 36. 如何修改internal的口令 37. 如何在oracle7和oracle8...

    oracle数据库DBA专题技术精粹.zip

    结构篇包括对回滚段、存储结构等的深入讨论,并彻底阐述了困扰许多用户的字符集问题;备份与恢复篇列举了大量实际案例,讲述了在不同的需求环境下所应采取的备份方案以及进行故障恢复的方法;性能篇深入分析了...

    Oracle数据库实验操作

    数据库字符集 162 实验81:配置国家语言支持 163 元数据 165 实验82:提取元数据dbms_metedata 165 第四部分数据库的网络配置 168 实验83:配置监听 168 实验84:客户端的网络配置 169 实验85:数据库共享连接的配置...

    oracle 客户端不支持中文解决办法

    问题描述:在Linux下安装的oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,不能够支持中文, 问题表现为,客户端录入的中文数据可以显示,提交之后再查询出来后中文会显示为???。问题出在oracle服务端的字符...

    Oracle中如何用SQL检测字段是否包括中文字符

    有一个同事的数据迁移程序有个问题,没有考虑中文编码字符,由于迁移的表有几千万数据,但是有中文的记录集很少,问我能否找出有中文内容的记录数。首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个...

    神通数据库-数据库快速入门.pdf

    神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型、时间间隔类型、货币类型、二进制大对象、字符型大对象等。 • 提供功能强大的内置函数 神通数据库系统提供...

    从SQLSERVER向ORACLE8迁移的技术实现方案

    数据库端SQL语法的迁移以下为常用的SQL语法迁移,包括数据类型、ID列向SEQUENCE迁移、表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)、游标、存储过程、函数、触发器、常用SQL语法与函数几个方面,考虑SQLSERVER...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    oracle详解

    在EXP/IMP过程中我们需要注意四个字符集的参数:导出端的客户端字符集,导出端数据库字符集,导入端的客户端字符集,导入端数据库字符集。 我们首先需要查看这四个字符集参数。 查看数据库的字符集的信息: SQL> ...

    Oracle Database 11g初学者指南--详细书签版

    在技术会议和用户组会议上她乐于展现和分享有关Oracle数据库主题的思想.她的Email是michelle_malcher@ioug.org. 目录 封面 -14 封底 -13 扉页 -12 版权 -11 关于作者 -10 前言 -8 目录 -5 第1章 数据库基础 1 1.1 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

Global site tag (gtag.js) - Google Analytics