6
23
2013
0

Oracle XE使用及一些问题记录

废话下:好久没来这写文章了,一是没时间,二是部分文章写在其他地方了,三是还没找到理想的平台,所以犹豫着呢,真希望有个自己的网站呢,最后就是还没有养成写文章的习惯,毕竟写篇文章还是挺费力的,就像解决问题一样,有时候顺利,有时候却一发不可收拾,上次写一文章,在测试并截图时突发新的问题,因此花了近一天的时间。当然不可否认,写文章是对知识的整理、提炼以及审核,从中可以进一步巩固和学习。废话完毕!

 

鉴于Oracle数据库是如此庞大,而我的本本是如此的瘦小,可是却又必须装个Oracle玩玩,不然对Oracle的了解将停滞不前呢。几经周折,在Oracle官网上发现了XE版,官方中文称其为快捷版即express edition。不过用起来确实很快捷。

下载页面:http://www.oracle.com/technetwork/cn/products/express-edition/downloads/index.html

安装包只有300M多,还是蛮理想的。而安装步骤也很简洁(就不截图了),中途只需选择安装路径及输入数据库登录的密码即可。不过安装完后将占有1.5G多的空间,这个给人感觉还是挺大的。

安装完后即可配置plsql进行连接了,配置SID为XE即可,登录名为system或sys,密码即安装时输入的那个。

 

由于本人会折腾,所以把XE装在了虚拟机中,结果plsql怎么连都报错,后来发现虚拟机中的系统开了防火墙,阻挡了连接,当然关了防火墙就不安全了,因此我就添加了个规则,让1521端口的通信给放行就ok了。

 

最后终于连接上了,plsql却弹出了编码不一致的警告:

database character set(AL32UTF8) and Client character set(ZHS16GBK) are different ......

编码不一致问题(俺不是数据库专业的,对此不了解额),百度了下原来由于XE的安装太简洁了,因此导致编码设置也略去了,所以需要手动来调整了。以下命令即我在网上找到的命令,可修改编码使plsql在登录时不会有警告了。这里需要在安装XE的系统上执行开始菜单中oracle目录中的“运行sql命令行”,即sqlplus程序。

SQL*Plus: Release 11.2.0.2.0 Production on 星期日...

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> connect sys as sysdba
输入口令:
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  167387136 bytes
Fixed Size                  1382288 bytes
Variable Size             146802800 bytes
Database Buffers           16777216 bytes
Redo Buffers                2424832 bytes
数据库装载完毕。
SQL> alter system enable restricted session;

系统已更改。

SQL> alter system set JOB_QUEUE_PROCESSES=0;

系统已更改。

SQL> alter system set AQ_TM_PROCESSES=0;

系统已更改。

SQL> alter database open;

数据库已更改。

SQL> alter database character set internal_use ZHS16GBK;

数据库已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area  167387136 bytes
Fixed Size                  1382288 bytes
Variable Size             146802800 bytes
Database Buffers           16777216 bytes
Redo Buffers                2424832 bytes
数据库装载完毕。
数据库已经打开。
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SQL>

 

至此已解决编码问题,虽然不知所以,有兴趣的可以自己摸索下,记得告诉我为什么呢!

 

参考文章:

http://publish.it168.com/2005/1109/20051109065101.shtml

http://www.oschina.net/question/12_27650

http://wtdyb.blog.163.com/blog/static/1803533022011424105524321/

http://blog.163.com/magicc_love/blog/static/18585366220123111128283/

http://dbanotes.net/database/oracle_10g_xe_nls_lang.html

http://dbanotes.net/database/oracle_xe_hwo_to_create_a_database.html

Category: 数据库 | Tags: oracle XE | Read Count: 9325

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com