1、APEX 安装简单的说,共分四步:1、 安装 Oracle DBAPEX2.2 要求 Oracle DB 版本为 9.2.0.3 或更高。注意 APEX2.2 不支持 Oracle DB XE,如果你的数据库是 Oracle DB XE,就要选用 APEX2.1。我这里选用的数据库是 Oracle 10.2.0.1,虽然不是目前最高的版本(最高的版本是 10.2.0.1 的 patchset) ,但是已经包含了很多令人振奋的新特性了。建议 CSDN 的朋友们也多使用一些 Oracle 产品的新版本,时刻保持对新技术的敏感度。Oracle DB 的免费下载网址为:http:/ . racle10
2、g/index.html注意:不要用下载的软件从事有任何商业目的的活动。下载之后开始安装,步骤非常简单。你可以选择在安装的同时创建一个数据库,或者在安装结束后用DBCA 创建一个数据库,最好将数据库的字符集设为 AL32UTF8(如果你想让你的数据库支持多种语言,请选用 AL32UTF8;否则可以考虑使用一种 native 本地的字符集,比如 ZHS16GBK) 。这里我创建了一个 service name 为 (SID 为 tina03)的数据库。安装结束后,打开 services(服务)窗口,你可以看到里面多了数个 oracle 的服务,其中包括我们需要的 OracleServiceTIN
3、A03 和 OracleOraDb10gTNSListener,其他的服务都可以停掉且设为手动启动。2、 安装 Oracle Http ServerAPEX2.2 是需要部署到 Oracle Http Server 上的,它所以能运行主要是依赖于 mod_plsql 这个模块。下面这三个系列的产品可以满足需要:Oracle 9i Database release 2 (9.2) or higherOracle 9i Application Server release 1 (1.0.2.2) or higherOracle 10g Database CompanionCD(CCD) relea
4、se 1 or 2我们选用 Oracle DB 10.2.0.1.0 CCD。安装过程也十分简单,需要注意的是:(a )选择与 DB 不同的安装目录,即另一个 Oracle Home(b)在选择安装 Http Server 后的下一个页面,会询问是否安装 Oracle Workflow,这与 APEX 没有任何直接的关系,当然如果你想在你的应用程序中使用 Oracle Workflow,也可以安装。当然,即使现在不安装,以后仍然可以再次运行起这个安装程序进行安装。安装结束后,在 service(服务)程序,你会看到里面多了两个服务,名字类似于:OracleHttpServerProcessMa
5、nager 和 OracleHttpServerASControl。其中:(a ) OracleHttpServerASControl 是 enterprise management(EM)管理服务,功能类似于 Db中的 EM(刚才创建数据库时生成的 OracleDBConsoletina03 服务) ,建议将OracleHttpServerASControl 停止且改为手动启动。(b)OracleHttpServerProcessManager 是我们真正需要的服务,只有它启动了,APEX 才能正常访问。如果不通过 services(服务)窗口来启动也可以在 DOS 创建下运行:%http
6、server oracle home%opmnbinopmnctl startall3、 安装 APEX2.2“严重” 注意,如果你按(2)中的步骤装 Http Server,会发现里面有一个 HTMLDB10.2.0.1 的安装选项,这个不是 APEX2.2。APEX 是一个单独的 zip 包,请从以下网址单独下载:http:/ c:apex。打开一个 dos 窗口。这里有两点注意事项:(a ) APEX 的框架数据库部分,即用到的数据库的各种对象,要导入到 Oracle DB 中;APEX 的前台页面部分,即用到的图片、javascript 和 css 文件等,到拷贝到 Http Serv
7、er 中。我们在这一步完成的是向数据库导入 APEX,而拷贝工作放在下一步配置中完成。(b) 在本地安装有两个 Oracle Home,安装程序会自动在系统环境变量和注册表中进行一些设置。由于我们先安装的 DB 后安装的 Http Server,Http Server 的路径就会出现在 Db 的路径前。这样在运行 sqlplus 时就有可能发生问题,推荐的做法是创建一个设置 DB 运行环境的 shell 脚本,例如tina03.cmd :set ORACLE_HOME=C:oracleOraDbset J2EE_HOME=%ORACLE_HOME%j2eehomeset ORACLE_SID=
8、tina03set PATH=%ORACLE_HOME%jdkbin;%ORACLE_HOME%bin;%PATH%set LD_LIBRARY_PATH=%ORACLE_HOME%lib;%ORACLE_HOME%ctxlibcall c:cd c:下面依次执行以下命令:(a ) c:tina03.cmd(b) cd c:apex(c) sqlplus /nolog(d) conn sys/sys_passwd as sysdba(e) apexins password SYSAUX SYSAUX TEMP /i/ none其中,apexins 是 c:apex 目录下一个 sql 脚本的名
9、字;password 是 APEX 管理员(administrator )帐号的口令;前后两个 SYSAUX 分别代表 tablespace_apex 和 tablespace_files两个表空间,它们分别是为 apex 应用程序用户和 apex 文件用户准备的。TMP 代表 APEX 使用的临时表空间; /i/指定 APEX 图片的虚拟路径;none 指定数据库的连接串,因为这里是本地数据库所有为none,否则应为 TNS 中定义的 SID。到这里,APEX 的主体安装就已经结束了,但是现在还无法使用,要完成下面这些配置工作。4、 安装后的配置(1) 重新编译无效的 PL/SQL Pack
10、age这里要说的是一个常识:很多情况下,在我们以批处理的方式运行了一系列 sql 命令,创建了一系列object 时,这些 object 的状态可能是无效的。需要重新编译一下。连接到数据库,运行数据库目录下的rdbms/admin 子目录下的 utlrp.sql。(a )启动一个 DOS 窗口(b)运行 c:tina03.cmd(c)sqlplus /nolog(d)conn sys/sys_passwd as sysdba(e) C:oracleOraDbrdbmsadminutlrp.sql(2) 拷贝 image 子目录到 Http Server 的 Oracle Home 下前面我们把
11、 APEX2.2 解压缩到 c:apex,这个目录下有一个 images 子目录,把这个 image 目录拷贝到 Http Server 的 Oracle Home 下的 ApacheApache 子目录下,例如你的 Http Server 的 Oracle Home 是 c:oracleHttpServer, 那么就把 images 子目录拷贝到c:oracleHttpServerApacheApache 下。(3) 配置 DAD这一步骤是让 mod_plsql 可以识别 APEX 请求,也就是说把 APEX 注册到 mod_plsql 中。我们要修改的是 Http Server 的 Ora
12、cle Home 下的 Apachemodplsqlconf 子目录中的 dads.conf 文件,修改后的文件如下:# =# mod_plsql DAD Configuration File # =# 1. Please refer to dads.README for a description of this file # =# Note: This file should typically be included in your plsql.conf file with# the “include“ directive.# Hint: You can look at some sam
13、ple DADs in the dads.README file# =AddType text/xml xblAddType text/x-component htcAlias /i/ “D:/oracle/HttpServer/Apache/Apache/images/“Order deny,allowPlsqlDocumentPath docsAllowOverride NonePlsqlDocumentProcedure wwv_flow_file_manager.process_downloadPlsqlDatabaseConnectString localhost:1521: Ser
14、viceNameFormatPlsqlNLSLanguage “SIMPLIFIED CHINESE_CHINA.AL32UTF8“PlsqlAuthenticationMode BasicSetHandler pls_handlerPlsqlDocumentTablename wwv_flow_file_objects$PlsqlDatabaseUsername APEX_PUBLIC_USERPlsqlDefaultPage apexPlsqlDatabasePassword welcome0Allow from all我用红色加重的部分是需要修改的:(a ) /i/是我们在安装是指定的
15、image 的虚拟路径,这里我们要把虚拟路径和真实路径做一个映射,真实路径就是我们拷贝到 Http Server 的 Oracle Home 下的 ApacheApache 子目录下的 images 子目录。(b)localhost:1521: 是 host:Port:service_name 格式的数据库连接串。(c)SIMPLIFIED CHINESE_CHINA.AL32UTF8 指定的 NLS_LANG(d)welcome0 是安装 APEX 时提供的口令(4) 安装语言包和 Oracle 的大多数产品一样,APEX 的全球化做的很出色,除缺省安装的英语外,还支持包括简体中文、日文和法
16、文等 9 种语言。例如,当你安装了中文前,不论浏览器的语言是因为还是简体中文,APEX 的开发界面都是英文的,而安装了简体中文包后,将浏览器的语言设为中文(zh_CN)后,APEX 的开发界面就是中文的了。我建议安装简体中文语言包,但是在开发的过程中还是使用英文,虽然看英文慢一些,但是更有助于准确的掌握 APEX。注意,这时数据库字符集的重要性就体现出来了,如果你的数据库字符集不支持要安装的语言,通俗的说不是要安装的语言的超集,导入语言包可能会失败(即使成功结束,你看到的也可能是?号) 。例如,你要导入日文,数据库的字符集就不能是 ZHS16GBK,当然 AL32UTF8 支持所有的 9 种语
17、言。下面来导入中文包:(a ) 打开一个 DOS 窗口,运行 tina03.cmd(b) cd c:apexbuilderzh-cn(c) set NLS_LANG=”SIMPLIFIED CHINESE_CHINA.AL32UTF8”提示:因为安装文件都是 UTF8 编码的,所以不论你的数据库字符集是什么,NLS_LANG 都要设成AL32UTF8。(d) sqlplus /nolog(e) conn sys/welcome0 as sysdba(f) alter session set current_schema=FLOWS_020200;(g) load_zh-cn.sql(5) 修改
18、 JOB_QUEUE_PROCESSES 参数job_queue_processes 参数定义 job 的最发并发数,在 APEX 中,交易(transaction )和 SQL 脚本的处理都需要这个参数。要启动这个参数并设一个合理的值:(a ) 打开 DOS 窗口,执行 tina03.cmd(b) sqlplus /nolog(c) conn sys/welcome0 as sysdba(d) ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20 set scope=spfile(e) Shutdown immediate(f) startup5、 第一次登陆
19、APEXAPEX 是通过浏览器访问的,包括 IE,firefox 在内的主流浏览器都支持,具体要求如下:IE 6.0 or higher( Windows only)Netscape 7.2 or higherMozilla 1.2 or higherFirefox 1.0 or higher当然你也可以使用 MyIE。APEX 的有两个 URL:(1) admin 站点http:/hostname:Port/pls/database_access_descriptor/database_access_descriptor _admin其中:(a ) hostname 就是 APEX 安装的机
20、器的名字,可以是 localhost;(b) port 是从 Http Server 的 Oracle Home 下的 installportlist.ini 文件中获得的,取参数Oracle HTTP Server port 的值(c) database_access_descriptor 就是我们在(3)中的 dads.conf 文件中定义的在我的例子中 url 为 http:/localhost:7777/pls/apex/apex_admin(2) 开发站点http:/hostname:Port/pls/database_access_descriptor解释同上,在我的例子中 url 为 http:/localhost:7777/pls/apex