oracle 字符集

1.字符集参数

 

NLS_LANG=<language>_<territory>.<Clients Characterset>

language--oracle使用的语言

territory---货币和数字格式,星期、地区和日志计算习惯。

clients characterset 控制客户端应用程序使用的字符集,不同可能造成乱码

 

2.查看字符集

 

NLS_INSTANCE_PARAMETERS

数据库实例字符集,在新建数据库实例时指定,网上多误为客户端字符集

官方解释:NLS_INSTANCE_PARAMETERS lists NLS parameters of the instance.

 

NLS_DATABASE_PARAMETERS

数据库字符集,NLS_LANGUAGENLS_TERRITORY在数据库安装时指定,NLS_CHARACTERSET在数据库实例建立时指定

官方解释:NLS_DATABASE_PARAMETERS lists permanent NLS parameters of the database.

 

V$NLS_PARAMETERS

客户端字符集,受环境变量、参数文件、注册表影响。

另一种方法是 select userenv('language') from dual;

官方解释:V$NLS_PARAMETERS contains current values of NLS parameters.

 

NLS_SESSION_PARAMETERS

当前会话字符集,默认与客户端字符集相同。可通过alter session 更改,只在当前会话生效。

官方解释:NLS_SESSION_PARAMETERS lists NLS parameters of the user session.

 

3.修改字符集

客户端字符集

windows

修改 cmd->regedit->HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraDb10g_home1 NLS_LANG(全局)

dosset NLS_LANG=zh_CN.GB18030(当前session)

 

unxi 

修改/etc/sysconfig/i18n (全局)

e.g

LANG="en_US.UTF-8"

 

修改登录用户的.bash_profile (当前用户)

e.g 加入 export LANG=zh_CN.GB18030

 

命令行下export LANG=zh_CN.GB18030(当前session

 

 

数据库字符集

1)重建数据库

2)只能在新字符集是旧字符集的严格超集情况下使用,若不是,将会报ora-12712错误。

步骤:

 

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP MOUNT;

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

在数据库受限制的过程中,只有对数据库拥有RESTRICTED  SESSION权限的用户才能够连接到数据库。这种状态有利于对数据库进行备份,恢复,导入,导出等操作。

 

SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

job_queue_processes参数,当设定该值为0的时候则任意方式创建的job都不会运行。

SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

AQ_TM_PROCESSES 控制队列信息与控制信息的实时监控,默认为1

SQL>ALTER DATABASE OPEN;

SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值