Oracle 11g修改数据库字符集
2016-07-06 16:04
423 查看
一、什么是oracle的字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台,有时候需要修改字符集的操作,这里稍微记录一下。
二、查看数据库的字符集
SQL> select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET UTF8
NLS_RDBMS_VERSION 11.2.0.4.0
20 rows selected.
这里NLS_CHARACTERSET就是当前数据库的字符集,也可以使用以下命令查看
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL>
三、修改数据库的字符集
1. 关闭数据库
SQL>SHUTDOWN IMMEDIATE;
2. 启动到Mount
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; --这里只让数据库处于只有管理员才能登陆状态
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; --这里将允许的job进程调至为0,防止后台有job在运行
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0; --将启动的AQ时间管理器的数量设置为0
SQL>ALTER DATABASE OPEN;
--这里可以从父集到子集
SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
SQL>ALTER DATABASE NATIONAL CHARACTER SET ZHS16GBK;
--如果是从子集到父集,需要使用INTERNAL_USE 参数,跳过超子集检测
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL32UTF8;
3、配置完后将原来的设置都还原回去,将数据库启动到mount状态,如下:
SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=1000;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=35;
SQL>ALTER DATABASE OPEN;
4--查看数据库的字符集
SQL>select * from nls_database_parameters;
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台,有时候需要修改字符集的操作,这里稍微记录一下。
二、查看数据库的字符集
SQL> select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET UTF8
NLS_RDBMS_VERSION 11.2.0.4.0
20 rows selected.
这里NLS_CHARACTERSET就是当前数据库的字符集,也可以使用以下命令查看
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL>
三、修改数据库的字符集
1. 关闭数据库
SQL>SHUTDOWN IMMEDIATE;
2. 启动到Mount
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; --这里只让数据库处于只有管理员才能登陆状态
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; --这里将允许的job进程调至为0,防止后台有job在运行
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0; --将启动的AQ时间管理器的数量设置为0
SQL>ALTER DATABASE OPEN;
--这里可以从父集到子集
SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
SQL>ALTER DATABASE NATIONAL CHARACTER SET ZHS16GBK;
--如果是从子集到父集,需要使用INTERNAL_USE 参数,跳过超子集检测
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL32UTF8;
3、配置完后将原来的设置都还原回去,将数据库启动到mount状态,如下:
SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=1000;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=35;
SQL>ALTER DATABASE OPEN;
4--查看数据库的字符集
SQL>select * from nls_database_parameters;
相关文章推荐
- oracle 关于删除object删不掉
- ORACLE编译失效对象小结
- Oracle 合并查询
- Oracle中常用sql函数(1)
- Oracle 中字段属性
- oracle 字符串切分包函数
- oracle创建表空间、用户、字段等简单命令
- Linux下PHP支持oracle,安装oracle instant client,pdo_oci笔记
- 如何解决源和目标库SCN同步问题
- oracle JOB 查询 添加 修改 删除 运行
- zabbix存储oracle
- userenv参数列表
- hibernate查询时间兼容mysql与Oracle
- 通过SYS_CONTEXT获取用户连接信息
- Oracle如何创建跨用户视图
- 谁能做Oracle培训界武林盟主?
- oracle &
- oracle 12C RAC 服务的启停
- 当导入dmp文件时,发现报错时,可能是由于表空间不足造成的,查询与增加oracle 表空间的方法如下
- oracle 导出查询结果至CSV