Oracle数据库查看和修改服务器端的字符集的方法是本文主要要介绍的内容,接下来救让我们一起来了解一下这部分内容。

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端字符集修改

将数据库启动到RESTRICTED模式下做字符集更改:

  1. SQL> conn /as sysdba
  2. Connected.
  3. SQL> shutdown immediate;
  4. Database closed.
  5. Database dismounted.
  6. ORACLE instance shut down.
  7. SQL> startup mount
  8. ORACLE instance started.
  9. Total System Global Area 236000356 bytes
  10. Fixed Size                   451684 bytes
  11. Variable Size             201326592 bytes
  12. Database Buffers           33554432 bytes
  13. Redo Buffers                 667648 bytes
  14. Database mounted.
  15. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
  16. System altered.
  17. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  18. System altered.
  19. SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
  20. System altered.
  21. SQL> alter database open;
  22. Database altered.
  23. SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
  24. ALTER DATABASE CHARACTER SET ZHS16GBK
  25. ERROR at line 1:
  26. ORA-12712: new character set must be a superset of old character set

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:

  1. SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
  2. Database altered.
  3. SQL> select * from v$nls_parameters;
  4. 19 rows selected.

重启检查是否更改完成:

  1. SQL> shutdown immediate;
  2. Database closed.
  3. Database dismounted.
  4. ORACLE instance shut down.
  5. SQL> startup
  6. ORACLE instance started.
  7. Total System Global Area 236000356 bytes
  8. Fixed Size                   451684 bytes
  9. Variable Size             201326592 bytes
  10. Database Buffers           33554432 bytes
  11. Redo Buffers                 667648 bytes
  12. Database mounted.
  13. Database opened.
  14. SQL> select * from v$nls_parameters;
  15. 19 rows selected.

我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.

这一方法在某些方面是有用处的,比如测试;应用于产品环境大家应该格外小心,除了你以外,没有人会为此带来的后果负责。

结语(我们不妨再说一次):

对于DBA来说,有一个很重要的原则就是:不要把你的数据库置于危险的境地!

这就要求我们,在进行任何可能对数据库结构发生改变的操作之前,先做有效的备份,很多DBA没有备份的操作中得到了惨痛的教训。

D、client端字符集修改

在 /home/oracle与 /root用户目录下的.bash_profile中

添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

关闭当前ssh窗口。

注意:NLS_LANG变量一定要配置正确否则会引起sqlplus 失效。

本文转自:http://database.51cto.com/art/201108/283596.htm



查看和修改Oracle数据库服务器端的字符集相关推荐

  1. oracle查看本机字符集,查看、修改oracle字符集,查看oracle版本

    查看.修改oracle字符集,查看oracle版本 1.查看数据库字符集 数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据 ...

  2. 修改 oracle 字符 zhs,修改Oracle数据库的字符集(UTF8→ZHS16GBK)

    修改Oracle数据库的字符集(UTF8→ZHS16GBK) 1.  C:\Users\Administrator>sqlplus /nolog 2.以sysdba的身份登录上去 SQL> ...

  3. oracle12c默认字符集,修改Oracle【12C】字符集

    Linux下修改Oracle数据库字符集命令 常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Ora ...

  4. 修改oracle数据连接数据库,修改Oracle数据库的连接数

    修改Oracle数据库的连接数 摘(一) 使用sys,以sysdba权限登录: SQL>conn / as sysdba 1. 查看processes和sessions参数 SQL> sh ...

  5. 修改linux下全局数据库名,linux/unix下修改oracle数据库实例名的方法

    linux/unix下修改oracle数据库实例名的方法 2018年12月10日 | 萬仟网IT编程 | 我要评论 linux/unix下修改oracle实例名的方法 1.检查原来的数据库实例名 $ ...

  6. 修改oracle数据连接数据库,如何修改oracle数据库的连接数

    如何修改oracle数据库的连接数 查询数据库当前进程的连接数: select count(*) from v$process; 查看数据库当前会话的连接数: elect count(*) from  ...

  7. Oracle数据库服务器端和客服端的安装

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.Oracle数据库服务器端的安装 二.Oracle数据库客户端的安装 一.Oracle数据库服务器端的安装 Oracle ...

  8. oracle 改成中文字符,修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK...

    修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK Oracle XE 执行安装程序后,很简单的默认为  SIMPLIFIED CHINE ...

  9. 修改oracle数据库的名称

    修改oracle数据库的名称 修改oracle数据库的名称需要同时在控制文件和参数文件中进行修改.修改控制文件中数据库的名称使用操作系统命令nid,修改参数文件中数据库的名称使用alter syste ...

最新文章

  1. 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal
  2. Intel Realsense D435 多摄像头多线程目标识别架构
  3. POJ 1430 Binary Stirling Numbers (第二类斯特林数、组合计数)
  4. php学了基本语法后应该怎么做,PHP编程入门的基本语法知识点总结
  5. 小程序mpvue图片绘制水印_开发笔记:使用 mpvue 开发斗图小程序
  6. Java并发编程实战_福州java编程实战培训班排名
  7. Linux企业级项目实践之网络爬虫(29)——遵守robots.txt
  8. 解决font-weight:600在安卓机不生效的方法
  9. linux 终端中文乱码解决方法
  10. 如何快速调出软键盘_天生我材必有用 | 如何快速的计算和调用防火阀、调节阀、铝合金风口等材料价格...
  11. memcached-tool
  12. (待补充)【读书笔记】20190816《码农翻身》——刘欣
  13. Unreal Engine 4 渲染目标(Render Target)教程 之 可交互的草地(上)
  14. 详解量子计算:相位反冲与相位反转
  15. 大数据时代对存储发展的要求有哪些
  16. Web前端 HTML Day_01
  17. Python单词反写、单词倒排
  18. 2D骨骼动画工具Sprite Studio使用教程
  19. [003] 嵌入式学习:创建工程模板——使用STM32CubeMX
  20. 计算机试题汇编2007,AUTOCAD2007试题汇编电子教材及答案

热门文章

  1. PostgreSQL Huge Page 使用建议 - 大内存主机、实例注意
  2. Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)
  3. 你的网页加载太慢了怎么办?
  4. JS图片放大查看效果!
  5. Red hat6.4重新安装yum
  6. 在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔
  7. Python集合和函数
  8. [BZOJ]1095 Hide捉迷藏(ZJOI2007)
  9. ZOJ 3879 Capture the Flag(模拟)
  10. Spark 性能调优-内存设置-GC设置