频道栏目
首页 > 资讯 > Oracle > 正文

Oracle APEX installation with ORDS

15-08-05        来源:[db:作者]  
收藏   我要投稿
在开始之前,先介绍下Oracle Application Express(APEX)。
Oracle Application Express—APEX for short, or by its former name HTML DB — is a declarative, Web-based RAD (Rapid Application development) tool. It is used to develop native Web-based, data centric applications. It requires no software to install on the client.
自2004年开始,Oracle已经开始这一款产品的开发,现在已升级到5.0。细心的人估计以前注意到,Oracle11g中自带了APEX开头的账户,它们是APEX内置schema, 并且已经绑定到Oracle安装中。也就是说,在你买了Oracle数据库情况下,不要额外的License,就可以放心使用APEX。
出了免费外,它的优势很明显,
1,一切基于web, 架构在Oracle 数据库上, 独立于软硬件环境
2,快速开发,极大缩短开发周期,支持html,css, javascript
2,相比OBIEE,SAPBO这样重量级BI报表工具,它更加灵活,可以作为轻量级的BI解决方案
至于我为甚用APEX,一句话领导不给力,不想买主流的 还让我们自己找免费的开发工具做报表,还要专业。擦,想让马儿跑,还不给喂草><||
还好,在以前的公司,接触过着APEX,当时还是版本3。虽然当时只是略懂皮毛,这回在选工具方面给了极大的帮助。 接下来,几个月,开始了死磕APEX的苦逼日子。
说了那么多废话,开始干正事,准备安装!
1,建立数据库环境, 创建两个表空间, 用于安装APEX, 以便日后的管理。


CREATE TABLESPACE APEX datafile‘/u01/app/oracle/oradata/APEX/apex.dbf’
SIZE 500M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;


CREATE TABLESPACE APEX_FILES datafile‘/u01/app/oracle/oradata/APEX/apex_files.dbf’
SIZE 500M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;


2,下载解压APEX 安装包, 具体下载地址
http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
3, 解压完后, 切换到解压后的目录,并以sys登陆数据库。 这一步目录切换很重要,在APEX安装过程中, 路径用的是相对路径,如果开始没切换目录的话, 过程中, 会报文件找不到的错误
4, 安装APEX, 命令如下


Full development environment. Run apexins.sql passingthe following four arguments in the order shown:
@apexins.sqltablespace_apex tablespace_files tablespace_tempimages
Where:
tablespace_apex is the name of the tablespace for the Oracle Application Express application user.
tablespace_files is the name of the tablespace for the Oracle Application Express files user.
tablespace_temp is the name of the temporary tablespace or tablespace group.
images is the virtual directory for Oracle Application Express images. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

我采用的是开发环境的安装, 当然,在产品环境,可以选择Runtime environment 模式安装, sql 脚本换成 @apxrtins.sql

之前创建的两个表空间将tablespace_apex, tablespace_files 替换如下:

 

@apexins.sqlAPEX APEX_FILES TEMP /i/

这一步会花一段时间安装完如果一切安装顺利的话, 就会出现和截图一样

 

当安装完后, 一下三个schema 会被创建,有空的话,可以查看验证下

■ APEX_050000 - The account that owns the Oracle Application Express schema and

metadata.

■ FLOWS_FILES - The account that owns the Oracle Application Express uploaded

files.

■ APEX_PUBLIC_USER - The minimally privileged account is used for Oracle

Application Express configuration with Oracle REST Data Services or Oracle

HTTP Server and mod_plsql.

5, 运行apxchpwd.sql, 它的作用如下, 就是设置APEX的超级管理员。 运行完后, 重启数据库。

Running the apxchpwd.sql script enables your to create or update your Instance

Administrator account. You must run the apxchpwd.sql script in the following

scenarios:

■ New Oracle Application Express installations - Run apxchpwd.sql to create an

Instance Administrator account and password.

■ Converting of a runtime environment to a development environment - Run

apxchpwd.sql to change the Instance Administrator account password.

■ Changing Your Instance Administrator Password -Run apxchpwd.sql to change

the password for an existing Instance Administrator account.

■ Unlocking Your Instance Administrator Account - Run apxchpwd.sql to unlock

an existing Instance Administrator account.

6, 设置APEX_PUBLIC_USER, 为了下面配置ORDS 用

解锁

SQL>ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK

重置密码

SQL>alter user apex_public_user identified by apex_public_user

7, 安装配置Oracle Rest Data Services(ORDS)

下载地址:http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/

index.html

下载完后, 解压指定好的安装目录。 解压完后, 你可以发现ORDS这个就是个war包

7.1 Disabling Oracle XML DB Protocol Server

 

SQL>EXEC DBMS_XDB.SETHTTPPORT(0);

SQL>

7.2 configure RESTful Services in Oracle Application Express

SQL>@apex_rest_config.sql

 

When configuring RESTful Services in OracleApplication Express, it creates two

new database accounts.

■ APEX_LISTENER - The account used to query RESTfulServices definitions

stored in Oracle Application Express.

■ APEX_REST_PUBLIC_USER - The account used whencalling RESTful Services

definitions stored in Oracle Application Express.

 

 

SQL>@apex_rest_config.sql

 

 

Entera password for the APEX_LISTENER user []

Entera password for the APEX_REST_PUBLIC_USER user []

 

...createAPEX_LISTENER user

...createAPEX_REST_PUBLIC_USER user

SQL>

SQL>

 

7.3 Granting Connect Privileges, 这一步是赋连接的权限给web 主机, 使它能能够与ORDS进行连接

 

SQL>

SQL>DECLARE

2 ACL_PATH VARCHAR2(4000);

3 BEGIN

4 --Look for the ACL currently assigned to '*' and give APEX_050000

5 --the "connect" privilege if APEX_050000 does not have the privilegeyet.

6 SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS

7 WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

8 IFDBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050000',

9 'connect') IS NULL THEN

10 DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,

11 'APEX_050000', TRUE, 'connect');

12 ENDIF;

13 EXCEPTION

14 --When no ACL has been assigned to '*'.

15 WHENNO_DATA_FOUND THEN

16 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',

17 'ACLthat lets power users to connect to everywhere',

18 'APEX_050000', TRUE, 'connect');

19 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');

20 END;

21 /

COMMIT;

SQL>SQL>


7.3 Configuring Oracle Application Express Images

 

Copy the contents ofthe /images folder to /webapps/i/.

Where:

is the directory location of the Oracle Application Expressdistribution.

is the folder where Apache Tomcat is installed.

7.4 Configuring Oracle REST Data Services

a, copyords.war from ordspackage to tomcat webapps directory.

b, configure REST DATA Services

cd ..//webapps

 

drwxrwxrwx 14 oracleoinstall 4096 Mar 27 14:04 docs

drwxrwxrwx 7 oracle oinstall 4096 Mar 27 14:04 examples

drwxrwxrwx 5 oracle oinstall 4096 Mar 27 14:04 host-manager

drwxrwxrwx 33 oracleoinstall 40960 May 11 02:56 i

drwxrwxrwx 5 oracle oinstall 4096 Mar 27 14:04 manager

-rw-r--r-- 1 oracle oinstall 28491706 May 11 20:17ords.war

drwxrwxrwx 3 oracle oinstall 4096 Mar 27 14:04 ROOT

7.5 配置ORDS连接

   

 

[oracle@localhostwebapps]$ java -jar ords.war setup

Jun 09, 201512:26:03 AM oracle.dbtools.common.config.file.ConfigurationFolderlogConfigFolder

INFO: Usingconfiguration folder: /tmp/apex

Enter the name ofthe database server [localhost]:

Enter the databaselisten port [1521]:

Enter 1 to specifythe database service name, or 2 to specify the database SID [1]:2

Enter the databaseSID [xe]:yang01

Enter the databaseuser name [APEX_PUBLIC_USER]:apex_public_user

Enter the databasepassword for apex_public_user:

Confirm password:

Enter 1 to enterpasswords for the RESTful Services database users(APEX_LISTENER,APEX_REST_PUBLIC_USER), 2 to use the same password as used forapex_public_user or, 3 to skip this step [1]:

Enter the databasepassword for APEX_LISTENER:

Confirm password:

Enter the databasepassword for APEX_REST_PUBLIC_USER:

Confirm password:

Jun 09, 201512:27:19 AM oracle.dbtools.common.config.file.ConfigurationFiles update

INFO: Updatedconfigurations: defaults, apex, apex_al, apex_rt

[oracle@localhostwebapps]$

 

启用Tomcat,访问报错,已经检查过,apex那3个数据账号并没有问题。

查了好久,注意到了页面这一行字,此实例使用……, 与上面配置默认给的路径

INFO: Using configuration folder: /tmp/apex,并不是一个路径。

 

既然这样,只能指定一个路径专门放配置信息

[oracle@localhostwebapps]$ java -jar ords.war configdir

Jun 09, 201512:55:30 AM oracle.dbtools.common.config.cmds.ConfigDir execute

INFO: The config.dirsetting is not set

[oracle@localhostwebapps]$ java -jar ords.war configdir/u01/app/apache-tomcat-7.0.61/webapps/ordsconfig

Jun 09, 2015 1:01:57AM oracle.dbtools.common.config.cmds.ConfigDir execute

INFO: Set config.dirto /u01/app/apache-tomcat-7.0.61/webapps/ordsconfig in:/u01/app/apache-tomcat-7.0.61/webapps/ords.war

 

配置完路径后,重新配置ORDS

 

 

[oracle@localhostwebapps]$ java -jar ords.war setup

Jun 09, 2015 1:03:05AM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder

INFO: Usingconfiguration folder: /u01/app/apache-tomcat-7.0.61/webapps/ordsconfig/ords

Enter the name ofthe database server [localhost]:

Enter the databaselisten port [1521]:

Enter 1 to specifythe database service name, or 2 to specify the database SID [1]:2

Enter the databaseSID [xe]:yang01

Enter the databaseuser name [APEX_PUBLIC_USER]:apex_public_user

Enter the databasepassword for apex_public_user:

Confirm password:

Enter 1 to enterpasswords for the RESTful Services database users(APEX_LISTENER,APEX_REST_PUBLIC_USER), 2 to use the same password as used forapex_public_user or, 3 to skip this step [1]:

Enter the databasepassword for APEX_LISTENER:

Confirm password:

Enter the databasepassword for APEX_REST_PUBLIC_USER:

Confirm password:

Jun 09, 2015 1:03:59AM oracle.dbtools.common.config.file.ConfigurationFiles update

INFO: Updatedconfigurations: defaults, apex, apex_al, apex_rt

[oracle@localhostwebapps]$ ll

total 27924

drwxrwxrwx 14 oracleoinstall 4096 Mar 27 14:04 docs

drwxrwxrwx 7 oracle oinstall 4096 Mar 27 14:04 examples

drwxrwxrwx 5 oracle oinstall 4096 Mar 27 14:04 host-manager

drwxrwxrwx 33 oracleoinstall 40960 May 11 02:56 i

drwxrwxrwx 5 oracle oinstall 4096 Mar 27 14:04 manager

drwxr-xr-x 6 oracle oinstall 4096 Jun 9 01:02 ords

drwxr-xr-x 3 oracle oinstall 4096 Jun 9 01:02 ordsconfig

-rw-r--r-- 1 oracle oinstall 28491732 Jun 9 01:02 ords.war

drwxrwxrwx 3 oracle oinstall 4096 Mar 27 14:04 ROOT

 

重启tomcat,大功告成!

倒腾了这么久, 给大家展示下界面,以及它的一个示例应用。 真心推荐大家研究并使用这个工具,很不错~

相关TAG标签
上一篇:myibatis传多个参数
下一篇:一个感染型木马病毒分析(一)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站