登录  /  注册
首页 > 数据库 > Oracle > 正文

oracle怎么转换字符集

青灯夜游
发布: 2022-01-07 16:06:37
原创
4226人浏览过
在oracle中,可以利用“alter database”字符集语句来转换字符集,语法格式为“alter database [db_name] character set new_character_set;”。

oracle怎么转换字符集

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

Oracle-字符集转换

字符集是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。

    日常使用时,服务端与客户端字符集需一致。

--服务端
select * from nls_database_parameters;
--客户端
SELECT USERENV('LANGUAGE') FROM DUAL;
登录后复制

    数据库字符集调整最常用的是ALTER命令和完全的导出和导入两种。

    第一种,ALTER DATABASE字符集语句是迁移字符集的最快方法,但只能在特殊情况下使用。

ALTER DATABASE字符集语句不执行任何数据转换,因此,当且仅当新字符集是当前字符集的严格超集时,才可以使用它。

--ALTER DATABASE字符集语句的语法如下,db_name为可选项:
ALTER DATABASE [db_name] CHARACTER SET new_character_set;
登录后复制

    第二种

数据泵(EXPDP/IMPDP)方式代价较高,耗时且占用资源多,并且需要在迁移时对数据进行扫描,确认在迁移时是否会发生数据截断和字符集转换错误。

    数据库字符集迁移有两个阶段:数据扫描和数据转换。

    在更改数据库字符集之前,使用字符集扫描工具确定在更改数据库字符集之前所需的工作量。

    使用数据泵导入导出脚本示例,脚本需在数据库服务器执行:

--查看管理员目录 确认导出文件位置路径 
SELECT * FROM dba_directories;
--expdp导出 带有条件
expdp 用户/密码@服务名  directory=DATA_PUMP_DIR dumpfile=数据文件文件名.dmp logfile=日志文件文件名.log tables=导出表名 query='" where lsh in (select lsh from table_1 where code !='1' and flag='1')"'
CONTENT选项可选导出结构或数据 导出格式默认为.dmp--impdp导入 导入时重命名 存在表则增加数据 主键重复数据忽略 导入时也可以限定导入时所属表空间
impdp 用户/密码@服务名  directory=DATA_PUMP_DIR dumpfile=数据文件文件名.dmp REMAP_TABLE =导出用户名.导出表名:导入表名 TABLE_EXISTS_ACTION=append data_options=skip_constraint_errors
登录后复制

推荐教程:《oracle/" target="_blank">Oracle教程》

以上就是oracle怎么转换字符集的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号