oracle查看编码格式以及修改字符集编码
- 查看oracle数据库的编码集
字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。
--------------------
VALUE
--------------------
NLS_CHARACTERSET
AL32UTF8
select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
PARAMETER
--------------------
VALUE
--------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE
2.修改字符集编码
A、oracle server 端 字符集查询
select userenv('language') from dual
其中NLS_CHARACTERSET 为server端字符集
NLS_LANGUAGE 为 server端字符显示形式
B、查询oracle client端的字符集
$echo $NLS_LANG
如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。
C、server端字符集修改
*****************************************************************
* 更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK) *
*****************************************************************
1.首先以sysdba的身份登录上去 conn /as sysdba
2.关闭数据库shutdown immediate;
3.以mount打来数据库,startup mount
4.设置session
将数据库启动到RESTRICTED模式下做字符集更改:
SQL> conn /as sysdba
--sysdba的身份登录上去 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; --修改字符集
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
SQL>shutdown immediate; -- 关闭,重新启动
SQL> startup
SQL> select * from v$nls_parameters;
client端字符集修改
在 /home/oracle与 /root用户目录下的.bash_profile中
添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句
PS:当然字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,如果是生产环境的话,可能会造成不可估计得损失。
下面提供三种解决方法:
(1) 服务器端重新安装ORACLE
这种情况仅仅使用于空库和具有同一种字符集的数据。
(2)强行修改服务器端ORACLE当前字符集
在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改:
SQL > create database character set US7ASCII
* create database character set US7ASCII
ERROR at line 1:
ORA-01031: insufficient privileges
你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上
ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数
据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE
数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看
到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正
确显示。
(3)利用数据格式转储,避开字符集限制
这种方法主要用于加载外来ORACLE数据库的不同字符集数据。其方法如下:
先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为
foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的ORACLE数
据库中,这样就避免了ORACLE字符集的困扰。目前数据库格式转换的工具很多,象
power builder5.0以上版本提供的pipeline,Microsoft Access数据库提供的数
据导入/导出功能 等。转换方法参见有关资料说明。
oracle查看编码格式以及修改字符集编码相关推荐
- ubuntu如何修改字符集编码
系统支持编码的修改如下: 1. 使用如下命令查看系统支持的字符集cat /usr/share/i18n/SUPPORTED说明:查看系统支持的字符集,你需要注意的是支持字符集的格式,如对中文会有以下一 ...
- 修改 oracle 字符 zhs,oracle11g 修改字符集ZHS16GBK
查看当前字符集SQL语句: select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; 修改字符集操作如下,首 ...
- 如何查看linux系统的字符集,Linux系统查看字符集和修改字符集(以CentOS为例)
一.查看字符集 Linux字符集在系统中体现形式是一个环境变量,以CentOS6.5为例,其查看当前终端使用字符集的方式可以有以下四种方式: 第一种: [root@Testa-www tmp]# ec ...
- Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
2019独角兽企业重金招聘Python工程师标准>>> 一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +------ ...
- Linux下MySQL5.6的修改字符集编码为UTF8
一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...
- oracle 查看服务器密码修改,如何修改oracle用户密码
修改oracle用户密码的方法:首先连接oracle数据库所在服务器,并进入oracle控制台:然后输入"select username from dba_users"查看用户列表 ...
- oracle查询空的时间,ORACLE 查看用户密码修改时间
前几天在给客户培训过程中,有一客户问到能否查看某一用户的密码修改时间,这样可以减少很多不必要的纠纷,大致研究了一下. 1.当前数据库版本为 SQL> select * from v$versio ...
- oracle查看数据库字符编码,oracle 查看、批改字符集编码
当前位置:我的异常网» 数据库 » oracle 查看.批改字符集编码 oracle 查看.批改字符集编码 www.myexceptions.net 网友分享于:2013-07-19 浏览:3次 ...
最新文章
- rhel6多台主机的HA集群,并实现增加仲裁盘和共享存储
- 简述Docker镜像、容器、仓库概念
- smartgwt_高级SmartGWT教程,第1部分
- IOS设计模式之二(门面模式,装饰器模式)
- python 时间函数 毫秒_利用python进行播放音频与录音,骚操作!
- 华为鸿蒙系统学习笔记5-华为方舟编译器正式开源及相关源码下载
- tomcat基础架构剖析
- mysql sql执行cmd命令行_命令行执行MySQL的sql文件
- 马云自评英语水平;支付宝推刷脸支付;苹果研发基带芯片 | 极客头条
- hadoop单击模式环境搭建
- 如何使用Burp Suite代理
- IPSEC VXN在PPPoE对端配置方案
- mysql mgr监控_6. MySQL组复制(MGR)全解析 Part 6 监控MySQL组复制
- CSS面试题汇总(三)
- 网红王思聪数字屏保下载
- cefsharp修改html元素,CefSharp网页元素点击
- Matlab 绘制 BP 神经网络图
- Appium移动自动化测试(四)--先跑起来再说(第一个测试用例-手机YY)
- 2022 最新华为面经分享:Java 高分面试指南
- 小红书618品牌营销蓄水阶段告一段落,5月即将进入冲刺期