Windows 7 64位安装Oracle XE(32位)数据库报错等解决方案
一、安装
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登陆。然后运行:
1.begin 2. dbms_xdb.sethttpport('8088'); 3. dbms_xdb.setftpport('0'); 4.end; 5./
这样就把端口设置为8081了。
关键词:Windows7,Oracle,数据库
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 1