使用plsql登录的时候,oracle的tns不显示。需要在本机上增加环境变量:

NLS_LANG=SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

并参考文章:

http://blog.sina.com.cn/s/blog_61c44d780102wec0.html

1.打开注册表-regedit

2.找到如下目录:

HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE ->

KEY_OraDb10g_home1

3.执行sql :select

userenv('language') from dual; 获取oracle服务端字符集X

4. 右键修改

NLS_LANG 值为 X 即可。

备注:oracle10g

UTF8编码:SIMPLIFIED CHINESE_CHINA.UTF8

GBK编码:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

5、操作系统环境变量更改。

6、数据库字符集修改:

字符集问题:

源库ZHS16BGK,汉字在数据库存放的时候占用两个字节

目标库UTF8,汉字在数据库里存放的时候占用三个字节

由于字符集不同,导致现在数据库impdp的时候有些表的字段长度不够,出现ORA-12899: value too large

for column的错误。(此部分以上为原文注释)

今天在家又再次折腾,终于解决了这个问题,折腾了几次,每次都忘记,特记录一下:

SIMPLIFIED CHINESE_CHINA.UTF8

American_America.AL32UTF8

AMERICAN_AMERICA.UTF8

2016.04.24日。BAO_TEA数据库的解决:

解决办法:更改数据库字符集为GBK

1、首先查询oracle的字符集变量:

select * from v$nls_parameters where

parameter='NLS_CHARACTERSET';

查询结果:

SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

PARAMETER

--------------------------------------------------------------------------------

VALUE

--------------------------------------------------------------------------------

NLS_CHARACTERSET

ZHS16GBK

2、如果需要更改oracle字符集变量(更改为上面查询的结果ZHS16GBK),步骤:

SHUTDOWN IMMEDIATE;

STARTUP MOUNT EXCLUSIVE;

ALTER SYSTEM ENABLE RESTRICTED

SESSION;

ALTER SYSTEM SET

JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET

AQ_TM_PROCESSES=0;

ALTER DATABASE OPEN;

ALTER DATABASE NATIONAL CHARACTER SET

AL16UTF16; 更改国际字符集AA

ALTER DATABASE CHARACTER SET ZHS16GBK;

更改本地字符集BB

SHUTDOWN IMMEDIATE;

STARTUP ;

如果错误信息,在执行AA和BB语句的时候可能报错,请对照一下信息

如果提示:

ORA-12717: Cannot issue ALTER DATABASE NATIONAL

CHARACTER SET when NCLOB, NCHAR

or NVARCHAR2 data exists

则更改使用以下语句:

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE

AL16UTF16;

如果提示:

ORA-12712: new character set must be a superset of

old character set

则更改使用以下语句:

ALTER DATABASE character set INTERNAL_USE

ZHS16GBK;

如果提示:

ORA-12721: operation

cannot execute when other sessions are active

则更改使用以下语句:

SHUTDOWN

IMMEDIATE;

STARTUP MOUNT

EXCLUSIVE;

如果提示:

ORA-01109: database not

open

则更改使用以下语句:

ALTER DATABASE

OPEN;

如果提示:

ORA-12719: operation

requires database is in RESTRICTED mode

则更改使用以下语句:

ALTER SYSTEM ENABLE

RESTRICTED SESSION;

3、检查Windows系统(win7,win2003server等)的变量:

win7:系统属性——》高级——》环境变量——》

设置NLS_LANG的值:SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

4、注册表:

我看了一下注册表里面,nls_lang共有三个地方有:

第一个地方:local_machine——software——wow6432node——oracle——KEY_OraDb10g_home1

nls_lang=AMERICAN_AMERICA.ZHS16GBK

第二个地方:local_machine——system——controlset001——control——session

mananger——environment。

nls_lang=SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

第三个地方:local_machine——system——currentcontrolset——control——session

mananger——environment。

nls_lang=SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

执行:

exp tea/tea file="e:\tea3.dmp" buffer=40960 log="e:\tea3.log"

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

- Production

With the Partitioning, OLAP and Data Mining options

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的用户...

. 正在导出 pre-schema 过程对象和操作

. 正在导出用户 TEA 的外部函数库名

. 导出 PUBLIC 类型同义词

. 正在导出专用类型同义词

. 正在导出用户 TEA 的对象类型定义

即将导出 TEA 的对象...

. 正在导出数据库链接

. 正在导出序号

. 正在导出簇定义

. 即将导出 TEA 的表通过常规路径...

. . 正在导出表  A_OUTNOKEEP_QTY导出了  0 行

. . 正在导出表  A_PRICE_TMP导出了

0 行

. . 正在导出表  A_TMP_PACK导出了  0 行

. . 正在导出表  A_TMP_PACK2导出了

0 行

. . 正在导出表  A_YYTTOBAO导出了  0 行

. . 正在导出表  A_YYT_LOT导出了  0 行

. . 正在导出表  A_YYT_QTY导出了  0 行

. . 正在导出表  A_YYT_SUPRICE导出了  0 行

. . 正在导出表  BAO_BUSI_ST_RGPLAN导出了

0 行

. . 正在导出表  BUIS_MV_CCPFXB导出了  0 行

. . 正在导出表  BUIS_MV_ZXPFXB导出了  0 行

. . 正在导出表  BUIS_MV_ZXPFXBB导出了  0 行

.

.

.

. . 正在导出表  ZX_WULIU_KCZQL导出了  0 行

. . 正在导出表  ZX_XSRB导出了  0 行

. 正在导出同义词

. 正在导出视图

. 正在导出存储过程

. 正在导出运算符

. 正在导出引用完整性约束条件

. 正在导出触发器

. 正在导出索引类型

. 正在导出位图, 功能性索引和可扩展索引

. 正在导出后期表活动

. 正在导出实体化视图

. 正在导出快照日志

. 正在导出作业队列

. 正在导出刷新组和子组

. 正在导出维

. 正在导出 post-schema 过程对象和操作

. 正在导出统计信息

成功终止导出, 没有出现警告。

(完)2016年4月24日。阳明

安装的是PLSQL

Developer,执行SQL发现弹出的错误提示对话框都是ora29275表示。后来才明白是跟服务器的字符集不匹配的问题。方法如下:

1、查询oracle server端的字符集。打开SQL

Window输入下面SQL查询服务端的字符集。

select userenv('language') from

dual;

2、我的电脑中环境变量界面,在系统变量中新加:

变量名:NLS_LANG

变量值:SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

其中的变量值跟服务器查询到得一致即可。

SQLPLUS

登录界面乱码,解决:

select * from nls_database_parameters;

1 NLS_LANGUAGE AMERICAN

2 NLS_TERRITORY AMERICA

3 NLS_CURRENCY $

4 NLS_ISO_CURRENCY AMERICA

5 NLS_NUMERIC_CHARACTERS .,

6 NLS_CHARACTERSET UTF8

7 NLS_CALENDAR GREGORIAN

8 NLS_DATE_FORMAT DD-MON-RR

9 NLS_DATE_LANGUAGE AMERICAN

10 NLS_SORT BINARY

11 NLS_TIME_FORMAT HH.MI.SSXFF AM

12 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM

13 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR

14 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

15 NLS_DUAL_CURRENCY $

16 NLS_COMP BINARY

17 NLS_LENGTH_SEMANTICS BYTE

18 NLS_NCHAR_CONV_EXCP FALSE

19 NLS_NCHAR_CHARACTERSET AL16UTF16

20 NLS_RDBMS_VERSION 10.1.0.2.0

客户端的环境变量设置为:

NLS_LANG

AMERICAN_AMERICA.UTF8

搞定,乱码不在显示,显示为英文。

其他

SIMPLIFIED CHINESE_CHINA.UTF8

ALTER DATABASE CHARACTER SET ZHS16GBK;

ALTER DATABASE CHARACTER SET UTF8;

------------> ZHS16GBK

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 7 04:27:40

2009

Copyright (c) 1982, 2005,

Oracle. All rights

reserved.

SQL> conn /as sysdba

Connected.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> Startup restrict

ORACLE instance started.

Total System Global

Area 167772160

bytes

Fixed

Size 1218292

bytes

Variable

Size 79694092

bytes

Database

Buffers 79691776

bytes

Redo

Buffers 7168000

bytes

Database mounted.

Database opened.

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

Database altered.

(有时候会遇到如下错误:ORA-12712: new character set must be a superset of old

character set

可以执行如下: 跳过超集的检查 :ALTER DATABASE character set INTERNAL_USE

zhs16gbk;)

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global

Area 167772160

bytes

Fixed

Size 1218292

bytes

Variable

Size 79694092

bytes

Database

Buffers 79691776

bytes

Redo

Buffers 7168000

bytes

Database mounted.

Database opened.

SQL>

oracle安装选取字符集,oracle10g字符集问题及设置PL/SQL、sqlplus字符集相关推荐

  1. PLSQL更改oracle字符集,设置PL/SQL Developer 字符集

    设置PLSQL Developer字符集与Oracle服务器字符集一直 方法1: 1.查询oracle server端的字符集.打开SQL Window输入下面SQL查询服务端的字符集. select ...

  2. 视频教程-赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础-Oracle

    赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblo ...

  3. 修改mysql默认字符集为latin1_查看、设置与修改MySQL字符集

    前一段时间,一直被MySQL的字符集困扰,今天就这方面的知识总结一下. MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式( ...

  4. Oracle instantclient 11.2 (64位)安装与配置tnsnames.ora,并使用PL/SQL Develpoer14(64位)连接数据库

    1.在电脑上安装Oracle instantclient 11.2 (64位),安装之后目录为:D:\app\XX\product\11.2.0\client_2 2.在D:\app\XX\produ ...

  5. oracle数据库提示无监听,【原创】PL/SQL连数据库提示无监听程序

    一.问题描述: 安装好ORACLE服务器端后,利用PL/SQL连数据,提示无监听程序. 二.解决步骤: 1.检查防火墙. 将防火墙关闭. 2.查看监听服务. 在管理工具->服务中查看监听服务是否 ...

  6. oracle 比对数据库表和数据表数据(PL\SQL)

    开发测试时我们经常会遇到:需要对比两个表的表结构和表数据是否一致.以达到数据同步及历史数据迁移的需要.在此我们可以通过已下方式实现数据库表及数据的比对工作 一台安装oracle数据库的操作系统 PL\ ...

  7. Oracle入门(十四.4)之在PL / SQL中使用变量

    一.变量的使用 (1)使用变量的原因 •临时存储数据 •储存值的操作 •可重用性 (2)处理PL / SQL中的变量 变量是: •在声明部分声明并初始化 •在可执行部分中使用并分配新值 变量可以是: ...

  8. Oracle入门(十四.3)之创建PL / SQL块

    一.PL / SQL块结构 一个PL / SQL块由三部分组成. PL / SQL块结构部分 二.PL / SQL编译器 用高级编程语言(C,Java,PL / SQL等)编写的每个程序都必须经过检查 ...

  9. ORACLE EBS中消息队列fnd_msg_pub、fnd_message在PL/SQL中的应用

    EBS 中集成的FND_MSG处理很方便的在form中很方便的弹窗.提示消息之外,在写PL/SQL包的时候,也可以方便的进行借用来进行错误信息的收集.并且这个是基于session的,不同于客户化的lo ...

最新文章

  1. springboot集成rabbitMQ安装+代码
  2. 性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise
  3. 测量音叉153kHz谐振器的幅频特性
  4. will not add file alias already exists in index(git上传代码出错)
  5. go build -X 的妙用
  6. ZOJ 1295——Reverse Text
  7. ★ Flex を使って Scalable Vector Graphics とビットマップを描画する
  8. Docker容器安全性分析
  9. linux 添加网关 多张,linux – 更改默认网关,多个NIC
  10. java 数组详解_java_day03:数组详解
  11. JasperReport生成PDF中文不显示处理
  12. SQL--存储过程+触发器 对比!
  13. 指数分布族(The Exponential Family)与广义线性回归(Generalized Linear Model GLM)
  14. Flurry 统计(国际版)
  15. 微信群二维码被动加了100人了还怎么扫码进入?
  16. Arcgis应用(十二)栅格数据翻转(Flip)、镜像(Mirror)、重缩放(Rescale)、旋转(Rotate)、移位(Shift)、弯曲(Warp)
  17. Java小白 学习笔记(三)——面向对象
  18. 在无外网虚拟机CentOS7下安装金山wps-office最新版(超详细小白教程)
  19. 【ZT】记住这些,或许可以救你一命!!【强力推荐帖!】
  20. phpmywind 手机站多语言版本

热门文章

  1. 【报告分享】2019年中国95后洞察报告.pdf(附下载链接)
  2. 前沿技术分享,让你在算法圈“技”高一筹
  3. 赛道一双周冠军分享:我不是TFboy,所以新写了baseline
  4. 数组取值_Python基础(五)--numpy包(数组与矩阵)
  5. Tiktok的红利期,你要加入吗?
  6. 国家铁路调度中心在哪_博慈46寸液晶拼接屏打造上海铁路局南翔站指挥中心显示系统...
  7. 数学建模 时间序列分析
  8. sitemap.xml生成方法(asp和php)(转)
  9. 卡住 安装_【书中有路】弹簧式安全阀结构原理、故障解析、安装要点
  10. SSL/TLS 以及HTTPS 介绍