Oracle 11g + Win Server 2008 R2 (64) + PLSQL使用 + 更改server端字符集

1)安装Oracle 11g 64位   

2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)
下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\Oracle\app\YM\product\instantclient_11_2。
 拷贝数据库安装根目录下的一个目录D:\Oracle\app\YM\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下D:\Oracle\app\YM\product\instantclient_11_2(其实只需要 NETWORK\ADMIN\tnsnames.ora)
 3)安装PL/SQL Developer 
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :D:\Oracle\app\YM\product\instantclient_11_2
OCI Library :D:\Oracle\app\YM\product\instantclient_11_2\oci.dll

4) 设置环境变量(修改PATH和TNS_ADMIN环境变量)
 对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
 SQL> select userenv('language') nls_lang from dual;
 NLS_LANG
 ----------------------------------------------------
 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
 1>.选择"Path" - 点击"编辑", 把 "D:\Oracle\app\YM\product\instantclient_11_2;" 加入;
 2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\Oracle\app\YM\product\instantclient_11_2;", 点击"确定";
 3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
 最后点击"确定"退出.

启动 PL/SQL Developer ,运行无问题。

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

以上亲测,PL/SQL工具连上Oracle没有问题,但是出现另一个问题,我在exp dmp文件的时候,出现问题:“值太大,不能插入表中”。经过查看原来在安装oracle11g的时候没有选择字符集,在执行 select userenv('language') nls_lang from dual;的时候,Oracle server的字符集为SIMPLIFIED CHINESE_CHINA.AL32UTF8,dmp文件所在的Oracle server字符集为CHINESE_CHINA.ZHS16GBK,一个中文字在这两个字符集下所占的位数不一样,所以出现了“值太大,不能插入表中”。

办法就是将 目标Oracle的server字符集也改成CHINESE_CHINA.ZHS16GBK

svrmgrl>shutdown immediate;
svrmgrl>startup mount;
svrmgrl>alter system enable restricted session;
svrmgrl>alter system set job_queue_processes=0;
svrmgrl>alter database open;
[color=blue]
svrmgrl>alter database character set ZHS16GBK;
svrmgrl>alter database national character set ZHS16GBK;
这里如果遇到superset的问题,则可以用这两句来代替:
alter database character set set INTERNAL_USE ZHS16GBK;
alter database national character set INTERNAL_USE ZHS16GBK;
[/color]
svrmgrl>shutdown immediate;
svrmgrl>startup;


http://www.ajaxstu.com/Oracleshujuku/244036.html

http://topic.csdn.net/u/20111215/20/78c3f069-9f96-4923-8331-2513976ca902.html?seed=323477976&r=76953978#replyachor

你可能感兴趣的:(oracle,server,database,character,library,oracle11g)