oracle 查看、修改字符集编码
ALTER DATABASE CHARACTER SET ZHS16GBK;
出现了error
ORA-12712: new character set must be a superset of old character set
method :ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
写道
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 SESSION SET SQL_TRACE=TRUE;//语句跟踪
System altered.
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.
其实没有那么麻烦 ,只有一下几步:
1、 将数据库至于restricted mode 否则会报下面的错误
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
SQL> alter system enable restricted session;
System altered.
SQL> select status,logins from v$instance;
STATUS LOGINS
------------ ----------
OPEN RESTRICTED
可以查看当前数据库存储什么状态
SQL> alter system disable restricted session;
System altered.
重启数据库就默认恢复为正常状态,即 allowed。
PS:
RESTRICTED SESSION
The RESTRICTED SESSION clause lets you restrict logon to Oracle Database. You can
use this clause regardless of whether your instance has the database dismounted or mounted, open or closed.
Specify ENABLE to allow only users with RESTRICTED SESSION system privilege to log on to Oracle Database. Existing sessions are not terminated.This clause applies only to the current instance.Therefore, in an Oracle RAC environment, authorized users without the RESTRICTED SESSION system privilege can still access the database by way of other instances. Specify DISABLE to reverse the effect of the ENABLE RESTRICTED SESSION clause, allowing all users with CREATE SESSION system privilege to log on to Oracle Database. This is the default.
2、
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
出现了error
ORA-12712: new character set must be a superset of old character set
SQL> alter database character set internal_use zhs16gbk;
Database altered.
ALTER DATABASE CHARACTER SET ZHS16GBK;
出现了error
ORA-12712: new character set must be a superset of old character set
method :ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
写道
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 SESSION SET SQL_TRACE=TRUE;//语句跟踪
System altered.
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.
其实没有那么麻烦 ,只有一下几步:
1、 将数据库至于restricted mode 否则会报下面的错误
引用
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
SQL> alter system enable restricted session;
System altered.
SQL> select status,logins from v$instance;
STATUS LOGINS
------------ ----------
OPEN RESTRICTED
可以查看当前数据库存储什么状态
SQL> alter system disable restricted session;
System altered.
重启数据库就默认恢复为正常状态,即 allowed。
PS:
引用
RESTRICTED SESSION
The RESTRICTED SESSION clause lets you restrict logon to Oracle Database. You can
use this clause regardless of whether your instance has the database dismounted or mounted, open or closed.
Specify ENABLE to allow only users with RESTRICTED SESSION system privilege to log on to Oracle Database. Existing sessions are not terminated.This clause applies only to the current instance.Therefore, in an Oracle RAC environment, authorized users without the RESTRICTED SESSION system privilege can still access the database by way of other instances. Specify DISABLE to reverse the effect of the ENABLE RESTRICTED SESSION clause, allowing all users with CREATE SESSION system privilege to log on to Oracle Database. This is the default.
2、
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
出现了error
ORA-12712: new character set must be a superset of old character set
SQL> alter database character set internal_use zhs16gbk;
Database altered.
发表评论
-
删除表
2011-07-29 10:03 545删除表 drop table USERINFO ORA-024 ... -
项目中遇到的问题
2011-06-30 21:41 835今天遇到的小问题 关于oracle 统计字段非空记录数 SQ ... -
因为Host是64-Bit的系统,装32位的软件环境下,会产生这个错误bug,主要装个补丁(patch name:p8670579_112010_LINUX.z
2011-05-12 16:25 0因为Host是64-Bit的系统,装32位的软件环境下,会产生 ... -
drop user hywdc cascade
2011-04-07 18:00 883问题提出: SQL〉DROP USER hywdc CAS ... -
oracle 10.2.0.1升级到10.2.0.4 遇到的一些问题
2011-04-02 23:42 1031.runinstall -silent -responseFi ... -
set autotrace on 引发的问题
2011-03-24 09:18 1881SQL> set autotrace on SP2-06 ... -
alter system kill session
2011-03-15 16:20 1390在Oracle数据库中,可以通过kill session的方式 ... -
EXP-00091: Exporting questionable statistics 问题处理方法
2011-03-15 13:54 9121、查询数据库的字符集SQL> select usere ... -
redo thread
2011-03-10 22:32 1680今天学习了 oracle redo logs 里面有一个概念r ... -
imp命令 将dbp数据导入数据库 nls_character不一致
2011-03-07 14:52 1885Export file created by EXPORT:V ... -
ORA-32004: obsolete or deprecated parameter(s) specified for rdbms instance
2011-03-04 20:30 11376oracle 11g for linux SQL> s ... -
redhat 5 静默安装oracle 创建数据库
2011-03-04 13:28 980但在启动sqlplus命令,会发现下面的错误: [oracle ... -
查看 em 和isqlplus 的端口号
2011-03-02 10:44 1541在 %ORACLE_HOME/install/portlis ... -
oracle_sid, instance_name 和service_name 的区别
2011-03-01 09:37 11545昨天用dbca -silent -responsefile h ... -
dbca silent 创建数据库 修改密码
2011-03-01 09:30 1089racle@hadoop-hhu:~/soft/10g_db/ ... -
静默DBCA创建数据库时遭遇的问题
2011-02-28 18:35 25111、静默DBCA创建数据库时遭遇模板不存在问题 oracle@ ... -
linux 下安装oracle
2011-02-28 15:32 0创建 Oracle 组和用户帐户 创建用于安装和维护 Ora ... -
oracle alter tablespace name rename datafile 遇到的问题
2011-02-23 14:44 4483SQL> alter tablespace zydl ... -
oracle sql developer 连接数据库的一些细节问题
2011-02-23 14:24 2341之前用oracle sql developer 连接本地数据库 ... -
查看表空间对应的数据文件
2011-02-23 14:23 9536set wrap off 查询返回的纪录每行超过默认宽度时 ...
相关推荐
修改oracle数据库的字符集方法(RAC),适用RAC
Oracle11g 字符集 AL32UTF8 修改为ZHS16GBK .
linux 下的 oracle 导入数据库时出现中文乱码,通过修改字符集格式,修改成支持中文的格式。简单易操作。
oracle字符集查看与修改.pdf
4.修改Oracle的编码和操作系统的一样。(参考别人的) 登陆用dba SQL> conn system/hundsun as sysdba; 停掉数据库 SQL>shutdown immediate; 启动数据库到mount状态下 SQL> STARTUP MOUNT; Java代码 ...
一、什么是Oracle字符集Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序...
怎么修改oracle服务器字符集 设置后使用plsql可以导出oracle数据
ORACLE 10G修改字符编码没有超字符集的限制,可以直接修改成自己想要字符串,之前已经存在数据就需要重新再导入
Oracle数据库安装后,PL/SQL查询出数据中英文乱码,可以通过调整环境变量等方式修改。
1.oracle server端字符集查询 代码如下:select userenv(’language’) from dual; server字符集修改: 将数据库启动到RESTRICTED模式下做字符集更改: 代码如下:SQL>conn /as sysdba SQL>shutdown immediate; ...
当装完oracle11g由于当时装的匆忙发现数据库的编码不对,显示编码为AL32UTF,要想显示中文需要改成ZHS16GBK.
修改oracel 字符集 查询Oracle字符集(PLSQL命令窗口) (1).数据库服务器字符集 (2).客户端字符集环境其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表。 (3).会话字符集环境
首先查看oracle数据库的编码 SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; PARAMETER ——————– VALUE ——————– NLS_CHARACTERSET AL32UTF8 这其来源于props$,这...
一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序...
推荐:安装oracle10g时候注意事项&修改oracle数据库字符集编码 [安装oracle10g时候注意事项:1. 关闭网络连接2.……修改oracle数据库字符集编码:先用system和密码登陆SQLPLUS,然后:1.用sys登录到oracle中 connect...
1 Oracle 结构组件 目标 1-2 基本结构概述 1-3 Oracle 服务器 1-4 Oracle 实例 1-5 建立连接和创建会话 1-6 Oracle 数据库 1-7 物理结构 1-8 内存结构 1-9 系统全局区(SGA) 1-10 共享池 1-12 库缓存 1-13 数据字典...
选择安装路径,选择数据库版本(企业版),选择字符集(默认值) 填写全局数据库名,管理口令 6. 步骤5/8:先决条件检查 如果你的电脑满足要求但仍然显示检查失败,这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息...