【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