当前位置: 首页 > news >正文

Oracle11g字符集AL32UTF8修改为ZHS16GBK详解

此问题发生在数据库迁移过程中。源数据库:自己笔记本上win7 64位系统的oracle11g个人版,字符集ZHS16GBK ;目标数据库,HP的sqlserver2008 系统 64位数据库服务器,字符集AL32UTF8 。

今天下午在部署HP的一台数据库服务器时,装的oracle11g 企业版默认字符集为AL32UTF8,

而我本地电脑装的oracle11g 个人版数据库字符集server端默认是ZHS16GBK,所以在我把我本机导出的数据库.dmp文件导入到Hp的数据库时,报

imp错误并且错误描述信息为中文乱码。然后经过我上网查阅资料得知 如果要解决乱码问题必须满足下面条件:

目标数据库的服务端和客户端字符集以及要从我本地导入源数据库的dmp文件中的字符集格式必须一样。而我本地源数据库字符集是ZHS16GBK,目标服务器端字符集是AL32UTF8 ,显然不满足以上条件。

然后我首先尝试下面方式更改HP服务器数据库字符:

尝试方法一:在sys/sys 下面执行下面语句:(失败)

注:SQL> alter database CHARACTER SET ZHS16GBK;
alter database CHARACTER SET ZHS16GBK

结果报下面错误:
ERROR 位于第 1 行:
ORA-12712: 新字符集必须为旧字符集的超集。

注:超集解释:如果s1集合包含s2集合中的每一个元素,并且s1集合中有可能包含s2集合中不含有的元素时,那么称s1是s2的超级。说明AL32UTF8包含ZHS16GBK。

尝试方法二:用scott/tiger 登陆 sqlplus 然后connect sys/sys as sysdba,然后输入命令即可,文中标红的请用自己设置的密码。(此方法测试后成功!)

然后在sqlplus界面依次执行以下sql语句:

若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:注:每条sql语句都会有相应的提示,请输入时务必仔细。

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 INTERNAL_USE ZHS16GBK; //跳过超子集检测
SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;

这一行不起作用,执行后出错ORA-00933: SQL 命令未正确结束,不过执行上一行命令已经生效,其他文章里未提到本行。

SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP

最后重启oracle11g监听和服务,重新登录PL/SQL developer ,

执行select userenv('language') nls_lang from dual; 发现目标数据库字符集如下,已经正确修改为SIMPLIFIED 。CHINESE_CHINA.ZHS16GBK。

NLS_LANG

----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

然后再执行相应的imp ldpssts/ldpssts@orcl fromuser=lspss touser=ldpssts file=D:\imp\ldpssts.dmp log=D:\imp\ldpssts.log ,导入执行成功。

转载于:https://www.cnblogs.com/dtts/p/4682323.html

相关文章:

  • 我参加了“2010年度十大杰出IT博客”大赛,请朋友们支持!
  • 使用jQuery开发一个响应式超酷整合RSS信息阅读杂志
  • MeeGo handset 1.1开发环境[6]:封装*.src.rpm和*.rpm
  • 使用Windows Service Wrapper快速创建一个Windows Service
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [转]activiti5用户任务分配
  • 数据结构:链表 链表按结点中第j个数据属性排序(冒泡排序法)
  • 批处理命令调用WINRAR对文件进行压缩
  • 线段树+树状数组+贪心 HDOJ 5338 ZZX and Permutations
  • 批处理命令拷贝文件
  • 我4年前写的第一个ruby程序
  • c# 调用c DLL 所传参数不正确
  • 离职那天我们复员——Leo网上答疑53
  • Spark工作机制-调度与任务分配
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • canvas 高仿 Apple Watch 表盘
  • CSS相对定位
  • ES2017异步函数现已正式可用
  • github指令
  • python_bomb----数据类型总结
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Spring声明式事务管理之一:五大属性分析
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 百度小程序遇到的问题
  • 记一次和乔布斯合作最难忘的经历
  • 马上搞懂 GeoJSON
  • 区块链分支循环
  • 全栈开发——Linux
  • 设计模式(12)迭代器模式(讲解+应用)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (3)nginx 配置(nginx.conf)
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (区间dp) (经典例题) 石子合并
  • (十八)三元表达式和列表解析
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 反射 Reflect
  • .NET连接数据库方式
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ 转载 ] SharePoint 资料
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [C++] new和delete
  • [CF407E]k-d-sequence
  • [CSS]文字旁边的竖线以及布局知识
  • [CTO札记]盛大文学公司名称对联
  • [C进阶] 数据在内存中的存储——浮点型篇
  • [C语言]编译和链接