Oracle下服务端字符集修改

在Oracle下客户端中设置的字符集应于服务端保持一致,否则会出现乱码,而Oracle的客户端无论是在Windows/DOS系统下还是Unix系统下都可以通过环境变量NLS_LANG来加以控制,至于操作也很简单,在这里就不做过多的说明,在这里主要说一下如何在Oracle的服务端下如何正确的修改字符集。在修改的时候建议使用sysdba身份验证,要注意的是新修改的字符集必须为旧字符集的超集,不然Oracle上修改字符集会报ORA-12712错误。而在平时可以查询系统视图得知当前Oracle数据库中的字符集设置情况,如下:

SELECT * FROM v$nls_parameters WHERE PARAMETER IN ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET'); #通过NLS_LANGUAGE,NLS_TERRITORY,NLS_CHARACTERSET这三个变量查看
SELECT USERENV ('language') FROM DUAL;#或者通过USERENV函数也可以取得

操作方法也很简单:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount#进入维护模式
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
SQL> alter system enable restricted session;#在维护模式的基础上再开启restricted,防止其他用户登录连接

System altered.

SQL> alter system set job_queue_processes=0;#关闭系统的触发器

System altered.

SQL> alter system set aq_tm_processes=0;#指定队列监视进程个数,缺省是0,如果没有改过可以不加

System altered.

SQL> alter database open;#打开数据库

Database altered.

SQL> alter database character set internal_use al32utf8;#进行字符集修改

Database altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup#最后重启修改字符集生效
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

原文地址:http://blog.51cto.com/jim123/2054980

时间: 2024-11-08 17:18:57

Oracle下服务端字符集修改的相关文章

Linux下更改oracle客户端字符集和服务端字符集

from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客户端字符集和服务端字符集 1.Linux 下更改 oracle 客户端字符集,即设置环境变量" NLS_LANG" 的值 查看客户端字符集,在终端下执行: echo $NLS_LANG 修改客户端字符集: sudo gedit /etc/environment 在environment 文件中增加以下内容: NLS_LANG="SI

oracle 配置服务端

oracle 配置服务端,类似我们配置java环境一样 防止乱码的配置: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 选择数据库的配置(重要): 变量值:TNS_ADMIN 变量名:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN(就是你的oracle安装的目录) 这是我的path配置: D:\app\Administrator\product\11.2.0\dbhome

一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?

我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.91160.com,    这个服务是供前端页面调用: 近期发现,这2台服务器的网络连接中,TIME_WAIT 数量差别很大,201的TIME_WAIT大概20000+,202的TIME_WAIT大概1000 ,差距20倍:2台的请求量差不多,都是以上内部调用的连接,且服务模式也没有什么差异,为什么连接数

git 在linux下服务端搭建

本文以centos为例,其他linux请自行参照对应方式. 1. 服务端安装git yum install git 2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户 useradd -s /sbin/nologin username 3. 初始化仓库 git init --bare sample.git 4. 在客户端,也就是gitbash(windows用户)生成密钥和公钥,邮箱地址改为你自己的,当然后面的两个 -t  和 -C 参数可以不要. ssh-keyg

Extjs GridPanel在有分页的情况下服务端统计合计实现方式

1.应用场景 在有分页的时候计算合计就不能采用Extjs gridpanel 提供的ftype: summary方式解决,否则只计算当前页的合计(因为数据只提取了当前页): 2.解决办法 重写Ext.grid.feature.Summary中的generateSummaryData函数 //方法一,临时重写 Ext.grid.feature.Summary.override({ generateSummaryData:function(){ return this.view.store.getP

Oracle 11g 字符集修改

服务端字符集修改 1.确认服务端字符集 1 select userenv('language') from dual; 2.修改服务端字符集 首先以 DBA 身份登录 Oracle.Windows 系统下直接在命令行下运行命令 sqlplus /as sysdba 或在 SQL PLUS 下运行命令 /as sysdba. 然后依次运行命令: shutdown immediate; (把database停了) startup mount; (把database重开去可更改情況) alter sy

oracle服务端与客户端字符集不同导致中文乱码解决方案

1.问题描述 用pl/sql登录时,会提示"数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果",具体问题是中文乱码,如下图 2.问题分析 不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的,所以只要将客户端字符集改为和服务端字符集一致就能解决问题. 3.问题解决步骤 3.1查看服务端字符集 pl/sql里查询 select userenv('language') from dual 3.2查看客户端

160505、oracle 修改字符集 修改为ZHS16GBK

修改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操作系统相同的字符集.如果

服务端高并发分布式架构的演进

本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. 架构设计中的一些基本概念 分布式:系统中的多个模块在不同的服务器上部署,即可称为分布式系统.比如Tomcat和数据库分别部署在不同的服务器上,或者两个相同功能的Tomcat分别部署在不同的服务器上,都可以被称为分布式. 高可用:系统中部分节点失效的时候,其他节点能够接替它继续提供服务,即可认为系统具有高可用性