`
dy3168729
  • 浏览: 40535 次
  • 性别: 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数据库字符集问题解析.pdf

    "Oracle数据库字符集问题解析" Oracle 数据库字符集问题解析是 Oracle 数据库管理系统中一个非常重要的问题。字符集是创建数据库时设定的,在创建后通常不能更改。因此,字符集的设定是个非常关键的问 题,如果...

    Oracle数据库迁移升级详细步骤.docx

    Oracle数据库迁移升级详细步骤 Oracle数据库迁移升级是指将现有的Oracle数据库从低版本升级到高版本,或者将数据库从一台服务器迁移到另一台服务器,以提高数据库性能、安全性和可扩展性。以下是Oracle数据库迁移...

    oracle数据库字符集 无法修改数据库字符集 乱码

    本文将深入探讨Oracle数据库字符集的概念、重要性、修改过程及其潜在问题,特别是当尝试修改数据库字符集时遇到的乱码问题。 ### Oracle数据库字符集概述 Oracle数据库字符集是指用于表示数据库中所有字符数据的...

    linux下的ORACLE 数据库迁移

    Linux 下的 Oracle 数据库迁移 在 Linux 平台上,Oracle 数据库迁移是一个复杂的过程,需要对数据库的备份、还原和配置进行详细的规划和实施。下面将对 Linux 下的 Oracle 数据库迁移过程进行详细的介绍。 一、...

    oracle数据库迁移

    Oracle 数据库迁移 Oracle 数据库迁移是指将 Oracle 数据库从一个平台迁移到另一...Oracle 数据库迁移是一个复杂的过程,需要注意字符集的设置、用户的导出和导入、表空间的创建和管理、用户的创建和管理等几个方面。

    oracle数据库导入导出命令! 更改字符集

    总之,Oracle数据库的导入导出命令是数据库管理的重要工具,正确使用并处理字符集问题对于数据迁移和备份恢复具有关键作用。同时,配合合适的工具和详细的文档,能有效提高工作效率并降低错误发生的风险。

    Oracle数据库字符集问题及其解决方法.pdf

    在使用Oracle数据库时,字符集问题是一个常见但重要的问题,尤其在处理多语言数据或者进行数据迁移时。字符集定义了数据库如何存储和显示文本数据,不同的字符集适用于不同的语言和字符编码。 文章中提到的Oracle...

    Oracle 数据库多语言入库问题的解决方案

    Oracle 数据库多语言入库问题的解决方案是针对企业在国际化进程中遇到的多国语言信息存储难题,尤其是在使用Oracle数据库时,由于字符集的不兼容性导致非中文语言数据入库时出现乱码。Oracle数据库作为全球广泛使用...

    浅析Oracle数据库字符集问题.pdf

    Oracle数据库字符集问题详解 Oracle数据库是全球广泛采用的关系型数据库管理系统,因其高效的数据安全性和完整性控制,以及跨平台的数据兼容性,成为许多企业和组织的核心数据处理工具。然而,在使用Oracle数据库时...

    Oracle数据库字符集问题分析及解决方法 (1).pdf

    Oracle数据库字符集问题分析及解决方法主要关注的是在数据库操作,特别是数据迁移过程中可能出现的字符编码不兼容问题。字符集是数据库系统中用于表示和存储文本数据的关键组成部分,不同的字符集支持不同的语言和...

    Oracle数据库字符集问题分析及解决方法.pdf

    Oracle数据库字符集问题主要涉及到数据的正确显示、迁移和转换,是数据库管理和使用中的关键因素。Oracle数据库为了支持多种语言文字的显示,设置了字符集,包括服务器端和客户端的字符集。若两者不匹配,可能导致...

    Oracle数据库系统的字符集转换问题分析.pdf

    在实际应用中,Oracle数据库提供了多种工具和配置选项来管理和转换字符集,如ALTER DATABASE命令可以用来更改数据库的字符集,NLS_LANG环境变量可以控制客户端的字符集设置。此外,开发人员和DBA还需要关注字符集对...

    Oracle数据库字符集问题总结

    Oracle数据库字符集问题总结主要关注的是在数据迁移和交互时由于字符集差异导致的问题。字符集是决定数据库如何解释和存储字符的规则集合,对于Oracle数据库来说,它直接影响到数据的正确性和兼容性。 首先,Oracle...

    Oracle数据库字符集问题的研究.pdf

    Oracle数据库字符集问题主要涉及到数据库内部和客户端之间的字符编码匹配问题,这直接影响到包含中文字符的数据能否正确显示和处理。字符集的选择和配置是Oracle数据库管理和维护中的关键环节,尤其对于处理多语言...

    oracle 10g xe 版本更改数据库字符集

    在进行Oracle 10g XE数据库的字符集修改时,需要理解几个关键的概念和技术点。本文将详细介绍如何更改Oracle 10g XE数据库的字符集,并提供具体的操作步骤。 #### 一、概述 在Oracle 10g XE版本中,数据库默认安装...

    理解ORACLE数据库字符集

    在实际应用中,选择合适的字符集至关重要,因为错误的配置可能导致数据乱码、存储问题以及迁移困难。数据库开发和管理人员需要深入理解字符集的原理和配置,以确保系统能够正确处理各种语言和地域的数据。

    Oracle 字符集详解

    Oracle字符集是数据库管理系统Oracle中的一个重要概念,它决定了数据库如何存储和处理文本数据。字符集不仅影响着数据的准确性和一致性,还与全球化应用、数据迁移和数据交换密切相关。本篇将深入探讨Oracle字符集的...

    Oracle字符集专题

    Oracle字符集专题是一个深入探讨Oracle数据库字符集配置、管理和常见问题解决的综合资源。这个专题涵盖了从基础概念到实际操作的多个方面,旨在帮助用户全面理解并有效处理与Oracle字符集相关的各种问题。 首先,...

    Oracle数据库字符集转换规律全面剖析

    Oracle数据库字符集转换规律全面剖析是一项关键的议题,尤其对于数据迁移、备份和恢复操作而言。Oracle数据库的字符集决定了如何存储和显示字符,不同字符集间的转换可能导致数据丢失或错误显示。在Export和Import...

Global site tag (gtag.js) - Google Analytics