如何查看和修改Oracle数据库服务器端的字符集

2024-06-24 06:38

本文主要是介绍如何查看和修改Oracle数据库服务器端的字符集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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模式下做字符集更改:


SQL> conn /as sysdba  
Connected.  
SQL> shutdown immediate;  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
SQL> startup mount  
ORACLE instance started.  
Total System Global Area 236000356 bytes  
Fixed Size                   451684 bytes  
Variable Size             201326592 bytes  
Database Buffers           33554432 bytes  
Redo Buffers                 667648 bytes  
Database mounted.  
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;  
System altered.  
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;  
System altered.  
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;  
System altered.  
SQL> alter database open;  
Database altered.  
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;  
ALTER DATABASE CHARACTER SET ZHS16GBK  
ERROR at line 1:  
ORA-12712: new character set must be a superset of old character set 
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:


SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  
Database altered.  
SQL> select * from v$nls_parameters;  
略  
19 rows selected. 
重启检查是否更改完成:


SQL> shutdown immediate;  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
SQL> startup  
ORACLE instance started.  
Total System Global Area 236000356 bytes  
Fixed Size                   451684 bytes  
Variable Size             201326592 bytes  
Database Buffers           33554432 bytes  
Redo Buffers                 667648 bytes  
Database mounted.  
Database opened.  
SQL> select * from v$nls_parameters;  
略  
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 失效。


关于Oracle数据库查看和修改服务器端的字符集的方法就介绍到这里了,希望能够对您有所收获!

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(93) | 评论(0) | 转发(0) |
0

上一篇:数据库设计准则(第一、第二、第三范式说明)

下一篇:sqlplus,set linesize ,set pagesize,

相关热门文章
  • mysql字符集设置
  • mysql权限相关设置
  • MySQL性能优化 修改配置文件my...
  • ORACLE数据库归档日志满后造成...
  • 一次Mysql数据库服务器磁盘空...
  • Oracle日常性能查看
  • 使用 RMAN 同步数据库
  • LoadRunner 测试Oracle数据库...
  • Oracle工程系统与安全高可用...
  • oracle中substr函数的用法...
  • 95013Linux制作的数据库是什么...
  • 移植 ushare 到开发板
  • 系统提供的库函数存在内存泄漏...
  • linux虚拟机 求教
  • 初学UNIX环境高级编程的,关于...
给主人留下些什么吧!~~
评论热议

这篇关于如何查看和修改Oracle数据库服务器端的字符集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089435

相关文章

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

kingbase修改权限实现方式

《kingbase修改权限实现方式》该文章详细介绍了如何在数据库中创建用户并赋予其相应的权限,包括创建用户、回收默认权限、创建数据库、赋权数据库权限、创建只读用户以及回收权限等步骤... 目录前言使用步骤总结前言创建用户后对数据库对象的读写权限进行修改使用步骤1、创建用户create user cs

linux实现对.jar文件的配置文件进行修改

《linux实现对.jar文件的配置文件进行修改》文章讲述了如何使用Linux系统修改.jar文件的配置文件,包括进入文件夹、编辑文件、保存并退出编辑器,以及重新启动项目... 目录linux对.jar文件的配置文件进行修改第一步第二步 第三步第四步总结linux对.jar文件的配置文件进行修改第一步进

MySQL数据库读写分离与负载均衡的实现逻辑

《MySQL数据库读写分离与负载均衡的实现逻辑》读写分离与负载均衡是数据库优化的关键策略,读写分离的核心是将数据库的读操作与写操作分离,本文给大家介绍MySQL数据库读写分离与负载均衡的实现方式,感兴... 目录读写分离与负载均衡的核心概念与目的读写分离的必要性与实现逻辑读写分离的实现方式及优缺点读负载均衡

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno