【Oracle XE系列之一】Windows 7 64位安装Oracle XE(32位)数据库(REG_XE报错、字符集、修改8080端口等)

一、安装

1、去Oracle官网下载XE版的安装包(貌似Windows只有32位的,Linux只有6位的),解压。

2、双击Setup.exe,启动安装程序,在选在路径那里不要点下一步,否则会报“... ...Reg_XE. 该文件似乎不存在。”的错误!

3、进入以下目录“C:\Users\<your user name>\AppData\Local\Temp{60712028-B7B0-4EC3-9C28-663111EC954A}”,找到文件“OracleMTSRecoveryService.reg”,并复制一份重命名为“KEY_XE.reg”。

4、回到安装程序,点击下一步继续安装即可。

二、修改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 4.0.2

1.)将 apex_4.0.2.zip 中的 apex 文件夹解包到 D/OracleXE/ 下;

2.)打开 cmd 控制台窗口,切换当前路径到 E:/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 D:/OracleXE/

这里需要注意的是:传递给 apxldimg.sql 脚本的参数是 APEX 主目录的父目录(例如:你的 APEX 安装路径是 e:/oraclexe/apex,那么这里路径参数就是 e:/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.)切换到 E:/apex_4.0.2/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\10.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\10.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登陆。然后运行:http://www.uspcat.com/?fromuid=11777

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

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

 转载请注明出处

http://www.cnblogs.com/zhunian/archive/2012/10/31/2748723.html   

http://www.zhunian.iego.cn

posted @ 2012-10-31 21:11  今心  阅读(12430)  评论(4编辑  收藏  举报