- 浏览: 541783 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (230)
- java (87)
- c/c++/c# (39)
- ASP.net MVC (4)
- eclipse/visual studio (3)
- tomcat/weblogic/jetty (13)
- linux/unix/windows (20)
- html/javascript/jquery/kendo/bootstrap/layui/vue/react (31)
- hibernate/struts/spring/mybatis/springboot (21)
- lucene/solr/ELK (2)
- shiro (0)
- oracle/sqlserver/mysql/postgresql (23)
- shell/python/ruby (6)
- android (0)
- maven/ant (1)
- freemarker/thymeleaf/velocity (1)
- open source project (41)
- cache/memcached/redis (0)
- nosql/hadoop/hbase/mongodb (0)
- system architecture/dubbo/zookeeper (0)
- software testing (0)
- system optimization (0)
- system security (0)
- tcp/udp/http (2)
- roller/wordpress (2)
- 工具收藏 (8)
- 文摘 (4)
- 生活 (0)
最新评论
-
coconut_zhang:
这个demo 非常完整了,是指下面说的那个html 模版,模版 ...
flying sauser, thymeleaf实现PDF文件下载 -
a93456:
你好,你有完整的demo吗? String template这 ...
flying sauser, thymeleaf实现PDF文件下载 -
yujiaao:
fn 函数循环是没有必要的啊,可以改成
protecte ...
Java 笛卡尔积算法的简单实现 -
安静听歌:
设置了.setUseTemporaryFileDuringWr ...
使用jxl导出大数据量EXCEL时内存溢出的解决办法 -
q280499693:
写的很详细,但是我现在想知道他们是怎么定位log4j.prop ...
关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同
oracle9204更改字符集步骤方法(WE8ISO8859P1->ZHS16GBK):
由于我们经常做不同数据库的导出导入时遇到的服务器的字符集不同,导致我们原有的无法正常导入工作,
这时需要我们做数据库字符集的更改工作,
字符集是在安装数据库时选定的,一旦数据库创建之后,数据库的字符集是不能改变的,如果要改变数据库的字符集, 只有重新创建数据库。
但通常也可以在特定的条件下通过一些其他途径来完成字符集的转换(这里强烈建议创建数据库时就要考虑好字符集)
单字节=>单字节
多字节=>多字节
且是子集到超集时,可以用alter database CHARACTER set 新的字符集;
通常对于单字节向多字节转换和非子集到超集转换时采用exp/imp+internal_use的方法
这里只介绍WE8ISO8859P1->ZHS16GBK的步骤方法:
检查当前的字符集为WE8ISO8859P1:
SQL> set wrap off
SQL> select * from v$nls_parameters;
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
19 rows selected.
SQL>
将数据库启动到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;
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
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;
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
---------------------------------------------------------------- ---------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
19 rows selected.
SQL>
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
1:修改listener.ora的参数
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = c:\oracle\product\10.1.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
2:修改tnsnames.ora的参数
orcl=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(UR=A)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
启动数据库
SQL> conn /as sysdba
SQL> alter database mount;
SQL> alter database open;
关闭数据库
SQL> shutdown immediate;
发表评论
-
MySQL 5.6 for Windows 解压缩版配置安装
2016-04-22 09:55 450MySQL是一个小巧玲珑但功能强大的数据库, ... -
PL/SQL编程
2011-04-10 20:00 1145《PL/SQL编程》 ... -
EXP-××××: 问题处理方法(整理中..)
2011-01-30 10:31 15691.EXP-00091: Exporting question ... -
oracle 10g备份与还原总结
2010-06-18 15:49 1667核心提示:一.总述 1.数据库归档模式: * 非归档模式: ... -
oem 报错“java.lang.Exception: IOException in send……”
2010-04-26 13:47 2252oracle 10g R2 登陆EM管理控制台,题头报错如下: ... -
修改Oracle最大连接数
2010-04-26 08:48 10561、修改Oracle最大连接数的方法 a、以sysd ... -
oracle触发器使用笔记
2009-12-01 11:17 1167语法规则: Create [or repla ... -
TKPROF使用学习
2009-11-19 15:16 2678Tkprof工具可用来格式化s ... -
卸载Oracle,重新安装Oracle
2009-08-10 12:51 14521、 开始->设置->控制面板->管理工具->服务 ... -
Oracle中用Rowid查找和删除重复记录
2009-07-30 13:38 1308平时工作中可能会碰到当试图对库表中的某一列或几列创建唯一索引时 ... -
数据库设计多对多关系的几种形态
2009-06-29 13:37 2282前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做 ... -
Oracle中用exp/imp命令快速导入导出数据(整理)
2009-06-11 14:28 2142【用 exp 数 据 导 出】 ... -
Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
2009-06-11 14:15 1211先假设有这么一个表: ... -
一些不错的sql语句
2008-12-02 17:34 22081、说明:复制表(只复制结构,源表名:a 新表名:b) ... -
表操作
2009-01-12 11:23 1078新建表:create table [表名]([自动编号字段] ... -
通用数据库存储过程代码--高效分页存储过程
2009-04-04 23:38 1349-- 获取指定页的数据 Create PROCEDURE p ... -
千万数量级分页存储过程
2009-04-04 23:36 1125参数说明: 1.Tables :表名称,视图 2.Primar ... -
存储过程编写经验和优化措施
2009-04-04 23:34 977一、前言:在经过一段 ... -
DBA的SQL Server面试题(数据库面试题)
2009-04-04 23:31 2582Question 1:Can you use a batch ... -
数据库面试(Oracle与Sql专题)
2009-04-04 23:16 1918oracle Certification Program (O ...
相关推荐
### Oracle 修改字符集 在Oracle数据库管理中,有时我们需要更改数据库的字符集以适应不同的语言环境或解决数据兼容性问题。本文将详细介绍如何修改Oracle数据库的字符集,并提供实际操作步骤。 #### 一、理解...
首先,确保你有数据库的系统管理员权限,因为修改字符集需要以SYSDBA身份进行。在Windows环境下,打开命令行窗口(cmd),并设置ORACLE_SID环境变量,将其值设置为你想要修改的数据库SID。例如: ```bash set ...
### 修改Oracle数据库字符集的方法 #### 背景与意义 在使用Oracle数据库的过程中,可能会遇到需要更改数据库字符集的情况。这通常发生在原有字符集不能满足新的业务需求时,例如需要支持更多的语言或特殊字符。...
### Oracle字符集的查看与客户端字符集的修改 #### 一、Oracle字符集的基本概念 在Oracle数据库系统中,字符集(charset)是用于表示文本数据的编码方式。正确设置和管理字符集对于确保数据的一致性和正确性至关重要...
为了安全地修改字符集,我们需要先关闭数据库实例: ```sql SQL> shutdown immediate; ``` 关闭成功后,会输出以下消息: ``` Database closed. Database dismounted. ORACLE instance shut down. ``` ##### 3. ...
本文将基于“修改oracle10字符集步骤”的标题、描述及相关内容,深入解析这一过程中的关键知识点。 ### Oracle数据库字符集理解 首先,了解Oracle数据库字符集的基本概念至关重要。字符集是用于存储和处理文本数据...
需要注意的是,在8i及以上版本的Oracle数据库中,可以通过`ALTER DATABASE`命令来修改字符集,但只能从一个字符集的子集转换到其超集,并且这种操作可能会导致数据丢失或损坏。 1. **修改数据库字符集的步骤** - ...
安装ORACLE数据库,字符集默认是AL32UTF8,有时需要改变数据库字符集,改成ZHS16GBK,资源里面是修改步骤。
本文将深入探讨Oracle数据库的导入导出命令,特别是如何更改字符集的相关知识。 首先,Oracle数据库提供了两种主要的数据导入导出工具:`expdp`(Export Data Pump)和`impdp`(Import Data Pump)。这两个实用程序...
6. **修改内部使用字符集**:如果直接修改字符集失败,可以先修改内部使用的字符集,即执行`ALTER DATABASE characterset INTERNAL_USE ZHS16GBK;`。 7. **再次关闭并重启数据库**:完成修改后,需要再次关闭数据库...
- **修改数据库字符集**:更改数据库字符集是一个复杂的过程,通常需要通过备份和恢复的方式完成,或使用`ALTER DATABASE CHARACTERSET`命令,但在某些情况下(如从`US7ASCII`转换到`UTF8`)可能需要额外的步骤和...
本文从字符集的基本概念入手,介绍了字符集配置及查询的方法,分析了字符集出现问题的原因,阐述了数据库字符集转换的具体方法和步骤,并提出了进行字符集转换的建议。 字符集问题在 Oracle 数据库管理系统中具有...
为了解决不同字符集的Oracle数据库间进行数据交换时出现的数据转换或损耗问题,可以通过设置环境变量来修改客户端字符集,这是一种简单而有效的方法。具体步骤如下: 1. **理解NLS_LANG参数**:影响Oracle字符集最...
提供的三个`.reg`文件——ZHS16CGB231280.reg、ZHS16GBK.reg、WE8ISO8859P1.reg,就是预先配置好的注册表项,用于一键更改Oracle客户端的默认字符集。例如,导入ZHS16GBK.reg将使客户端使用GBK字符集,这对于连接到...
在Oracle 11g数据库管理中,更改字符集是一项关键且复杂的...通过以上步骤,可以有效地在Oracle 11g中更改字符集,以满足新的业务需求或解决现有问题。然而,这需要仔细规划和执行,以避免潜在的数据损失和系统不稳定。