一、安装

1、去Oracle官网下载XE版的安装包[下载路径](Oracle Database Express Edition 11g Release 2 for Windows x64),解压。

2、双击Setup.exe,启动安装程序

二、修改Oracle XE的字符集

1、--问题:在字符集AL32UTF8中,一个汉字占用3个字符

SQL> select lengthb('王立夫') from dual;
LENGTHB('王立夫')
 -------------
            3

如果不修改字符集,那你就痛苦吧,不过还好,我这里有个方法还是蛮简单的。

过程也相当简单,首先启动命令行(开始-》运行-》CMD)。然后执行下面的命令。

1.)命令行窗口下运行:sqlplus.exe /nolog

2.)然后再sqlplus里面执行如下命令

复制代码
connect sys_name/sys_password as sysdba --根据自己的实际情况登入
shutdown immediate;   
startup mount   
alter system enable restricted session;   
alter system set JOB_QUEUE_PROCESSES=0;   
alter system set AQ_TM_PROCESSES=0;   
alter database open;
alter database character set internal_use ZHS16GBK;   
shutdown immediate  
Startup
复制代码

即可完成字符集的转换,如下

SQL> select lengthb('王立夫') from dual;
LENGTHB('王立夫')
-------------
            2

当然这时你的APEX也就同时变成了乱码,解决办法有3个:

  • 一个是不用APEX;
  • 一个是把IE的的语言设置为英文(或者http://127.0.0.1:8080/apex/apex_admin 即可以在界面下方的“English”和“中文(简体)”之间进行语言切换了)
  • 最后一个就是升级APEX,并安装中文包(推荐)下面将对这种方法做介绍,仔细听好了啊;)

2、安装 APEX 5.0.2

1.)将 apex_5.0.2.zip 中的 apex 文件夹解包到 C:/OracleXE/ 下;(下载路径

2.)打开 cmd 控制台窗口,切换当前路径到 C:/OracleXE/apex/ 下,启动 SQL*PLUS,以 SYSDBA 角色登录数据库:

D:/OracleXE/apex>sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: <SYS密码>

3.)执行安装脚本 apexins.sql:

SQL>@apexins SYSAUX SYSAUX TEMP /i/

4.)安装完成后,执行 apxldimg.asl 脚本安装 APEX 中需要用到的图片、CSS 和 JS 脚本:

SQL>@apxldimg C:/OracleXE/

这里需要注意的是:传递给 apxldimg.sql 脚本的参数是 APEX 主目录的父目录(例如:你的 APEX 安装路径是 c:/oraclexe/apex,那么这里路径参数就是 c:/oraclexe),这一点可以通过查看 apxldimg.sql 脚本得到验证,这也是网上很多人说安装图片时出现路径错误的原因所在。

5.)下面执行 apxchpwd.sql 脚本并根据提示设定 APEX 的 Admin (密码:密码要符合复杂度要求!)

SQL>@apxchpwd

6.)安装完成后通过 http://127.0.0.1:8080/apex/apex_admin 能进入 APEX 管理后台,即表示安装成功。

3、安装中文语言包
1.)打开 cmd 控制台窗口设置环境变量  NLS_LANG:

set NLS_LANG=American_America.AL32UTF8

注意:如果前面有打开过 SQL*PLUS 窗口,一定记得要先关闭它再设置环境变量 NLS_LANG。

2.)切换到 C:\oraclexe\apex\builder\zh-cn 路径下,启动 SQL*PLUS 并以 SYSDBA 角色执行下列语句:

SQL>ALTER SESSION SET CURRENT_SCHEMA = APEX_040000;
SQL>@load_zh-cn.sql

等待安装完成后,重新进入 http://127.0.0.1:8080/apex/apex_admin 即可以在界面下方的“English”和“中文(简体)”之间进行语言切换了。

额外补充:

解决不能通过网络及主机名访问 APEX 的问题:启动 SQL*PLUS 并以 SYSDBA 角色登录数据库,执行下列语句:

SQL>execute dbms_xdb.setListenerLocalAccess(l_access => FALSE);

4、设置后台运行参数

alter system set JOB_QUEUE_PROCESSES=2;

注释:JOB_QUEUE_PROCESSES=0的话,之后的Job没有Job调度进程,是不会run的。

三、修改Oracle XE Listener 占用的1521、8080端口
安装OracleXE时,有这么一段提示

 1.Destination Folder: D:\oraclexe\  
 2.Port for 'Oracle Database Listener': 1521  
 3.Port for 'Oracle Services for Microsoft Transaction Server': 2030  
 4.Port for HTTP Listener: 8080

可以看出,默认web控制台服务端口是8080,安装时又不能更改。安装之后和Tomcat, Jboss等服务器冲突,所以会遇到很多问题。在XE的安装文件中有这样一段SQL,可以用来更改http的端口。
在D:\oraclexe\app\oracle\product\11.2.0\server\config\scripts\postDBCreation.sql文件里。有这样一段Sql代码:

 1.begin  
 2.   dbms_xdb.sethttpport('8080');  
 3.   dbms_xdb.setftpport('0');  
 4.end;  
 5./ 

再看看日志文件D:\oraclexe\app\oracle\product\11.2.0\server\config\log\postDBCreation.log里,有这样一段记录:

 1.SQL> begin  
 2.  dbms_xdb.sethttpport('8080');  
 3.  dbms_xdb.setftpport('0');  
 4. end;  
 5. /PL/SQL procedure successfully completed. 

可以看出Oracle XE就是用它来设置http端口的,打开SQL*Plus控制台。用sys或者system登陆。然后运行:

 1.begin  
 2.   dbms_xdb.sethttpport('8088');  
 3.   dbms_xdb.setftpport('0');  
 4.end;  
 5./

这样就把端口设置为8088了。