第一范文网 - 专业文章范例文档资料分享平台

Oracle APEX 4.2-安装与配置

来源:用户分享 时间:2025/6/4 3:28:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Oracle APEX 4.2安装与配置 select dbms_xdb.gethttpport from dual;

如果端口号是0,那么Oracle XML DB Protocol Server是禁用的。 4. 开启Oracle XML DB Protocol Server

sqlplus / as sysdba

EXEC DBMS_XDB.SETHTTPPORT(port); 例:EXEC DBMS_XDB.SETHTTPPORT(8080);

3.4.5 在Oracle 11g中开启网络服务

默认情况下Oracle 11g r1和r2的网络交互能力是禁用的。因而,如果在Oracle 11g上使用Oracle Application Express必须使用一个新的包dbms_network_acl_admin授权连接权限给所有主机针对于apex_040200数据库用户。授权失败将产生如下问题:

? Oracle Application Express发送邮件时。用户可以调用APEX_MAIL

发送邮件,但将发现问题;

? Oracle Application Express调用Web Services时 ? PDF/report打印时 3. 授权连接权限

接下来的例子展示了如何为数据库用户APEX_040200授权连接权限给任何主机。这个例子假定你已经使用sys用户以sysdba角色连接到安装了Oracle Application Express的数据库

DECLARE

ACL_PATH VARCHAR2(4000); BEGIN

-- Look for the ACL currently assigned to '*' and give APEX_040200 -- the \ SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS

WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200', 'connect') IS NULL THEN

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', TRUE, 'connect'); END IF; EXCEPTION

-- When no ACL has been assigned to '*'. WHEN NO_DATA_FOUND THEN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',

23 / 51

Oracle APEX 4.2安装与配置 'ACL that lets power users to connect to everywhere', 'APEX_040200', TRUE, 'connect');

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); END; /

COMMIT;

接下来的例子展示了如何提供更少的权限访问网络资源。这个例子开启Oracle Application Express Online Help指引和email,PDF printing ,如果这些服务在本地主机时。

DECLARE

ACL_PATH VARCHAR2(4000); BEGIN

-- Look for the ACL currently assigned to 'localhost' and give APEX_040200 -- the \ SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS

WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200', 'connect') IS NULL THEN

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', TRUE, 'connect'); END IF; EXCEPTION

-- When no ACL has been assigned to 'localhost'. WHEN NO_DATA_FOUND THEN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml', 'ACL that lets users to connect to localhost', 'APEX_040200', TRUE, 'connect');

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; /

COMMIT;

4. 无效的ACL错误疑难解答

如果在运行之前脚本后收到ORA-44416: Invalid ACL error,使用下列查询定位无效的ACL

REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'.

SELECT ACL, PRINCIPAL

24 / 51

Oracle APEX 4.2安装与配置 FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE

WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND

NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

下一步,运行下列代码修复ACL

DECLARE

ACL_ID RAW(16); CNT NUMBER; BEGIN

-- Look for the object ID of the ACL currently assigned to '*' SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS

WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; -- If just some users referenced in the ACL are invalid, remove just those -- users in the ACL. Otherwise, drop the ACL completely. SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE WHERE ACLID = ACL_ID AND

EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL); IF (CNT > 0) THEN

FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND

NOT EXISTS (SELECT NULL FROM ALL_USERS

WHERE USERNAME = PRINCIPAL)) LOOP

UPDATE XDB.XDB$ACL SET OBJECT_VALUE =

DELETEXML(OBJECT_VALUE,

'/ACL/ACE[PRINCIPAL=\ WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE

DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; /

REM commit the changes.

25 / 51

Oracle APEX 4.2安装与配置 COMMIT;

3.4.6 安全考虑

Oracle强烈推荐使用Secure Sockets Layer (SSL)确保密码和其他敏感信息不会在传输过程存在潜在的暴露可能。

3.4.7 管理JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES确定并行运行的工作数。在 Oracle Application Express Release 4.2中事务与SQL脚本都需要job支持,JOB_QUEUE_PROCESSES如果未启用或正确的工作,那么不能成功的执行脚本。

3. 检查JOB_QUEUE_PROCESSES参数

登录Oracle Application Express,查看About Application Express页面,或使用sqlplus连接到数据库

sqlplus / as sysdba

show parameter JOB_QUEUE_PROCESSES

4. 设置JOB_QUEUE_PROCESSES参数

sqlplus / as sysdba

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=100;

3.4.8 使用其它语言运行Oracle Application Express

Oracle Application Express界面能转变为German, Spanish, French, Italian, Japanese, Korean, Brazilian Portuguese, Simplified Chinese, and Traditional Chinese。一个单实例的Oracle Application Express 能够安装一种或多种翻译版本。开发者能够在任何已安装的语言中选择一种运行Application Express开发环境,通过登录Application Builder主页简单的进行选择。

为了安装其它语言必须使用 apex_4.2.zip文件。如果你先前下载apex_4.2_en.zip,,那么不需要重新安装Oracle Application Express。仅需简单的下载apex_4.2.zip并解压文件到之前apex_4.2_en.zip时相同的目录。

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may

26 / 51

搜索更多关于: Oracle APEX 4.2-安装与配置 的文档
Oracle APEX 4.2-安装与配置.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8ykgy43yg70a0pk1tyxx_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top