Oracle apex 搭建
參考文檔 : 百度文庫 ?《Oracle ERP?APEX開發指南 》
?
?
APEX HOME: ?/oracle11g/product/11.2/apex/apex
Oracle home:?/oracle11g/product/11.2/
?
step 1:
/oracle11g/product/11.2/apex [statdb] >sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jul 24 14:17:48 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @apxremov.sql
step 2:
SQL> CREATE TABLESPACE apex01 DATAFILE
'/database/statdb/statdb/apex01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 100M MAXSIZE 1000M;
step 3:
unzip /tmp/apex_5.1.2.zip -d /oracle11g/product/11.2/apex
step 4:
cd /oracle11g/product/11.2/apex/apex
sqlplus / as sysdba
@apexins.sql apex01 apex01 temp /i/;
step 5:
@apxchpwd.sql
alter user apex_public_user account unlock;
alter user apex_public_user identified by "Oracle,1";
ALTER USER ANONYMOUS ACCOUNT UNLOCK;
step 6:
export NLS_LANG=american_america.AL32UTF8;
cd builder/zh-cn
sql>alter session set current_schema=APEX_050100;
sql>@load_zh-cn.sql
step 7:
sql>@apex_epg_config /oracle11g/product/11.2/apex
sql>exec dbms_xdb.sethttpport(8866);
step 8:
接下來的例子展示了如何為數據庫用戶APEX_050100授權連接權限給任何主機。這個例子假定你已經使用sys用戶以sysdba角色連接到安裝了Oracle Application Express的數據庫
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_050100
-- the "connect" privilege if APEX_050100 does not have the privilege yet.
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_050100',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_050100', 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',
'ACL that lets power users to connect to everywhere',
'APEX_050100', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
step 9:
SQL> ALTER system SET shared_servers=5 scope=both;
lsof -i:8866
step 10
1) 重啟后生效
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啟后失效
開啟: service iptables start
關閉: service iptables stop
?
step 11:
config 1:
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string LISTENER_OEMDB
log_archive_local_first boolean TRUE
parallel_force_local boolean FALSE
SQL> show parameter disp
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offload_plan_display string AUTO
dispatchers string (PROTOCOL=TCP) (SERVICE=statdb
XDB)
max_dispatchers integer
?
config 2:
grep LISTENER_OEMDB /etc/tnsnames.ora
LISTENER_OEMDB=(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.45)(PORT = 15021)))
config 3:
/etc/listener.ora
STATDB =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.45)(PORT = 15021))
(ADDRESS = (PROTOCOL = IPC)(KEY = REGISTER_statdb))
)
)
SID_LIST_STATDB =
(SID_LIST =
(SID_DESC =
(SID_NAME = statdb)
(ORACLE_HOME = /oracle11g/product/11.2)
)
)
from?
SECURE_REGISTER_STATDB=(IPC)
to
SECURE_REGISTER_STATDB= (IPC,TCP)
?
step 12
SQL> alter system register;
System altered.
step 13:
HOME /oracle11g/product/11.2/apex/apex
usl:
http://192.168.4.45:8866/apex/apex_admin
http://192.168.4.45:8866/apex/apex
option 1: internal
option 2: ADMIN
option 3: password
?
Q1:
Question: How does SECURE_CONTROL_listener_name parameter work?
Answer: In Oracle the SECURE_CONTROL_<listener name> parameter is specified this way in the listener.ora file. The values for secure_control_listener_names should be restricted to transports 'tcps' or 'ipc', which are considered secure for administration and registration of a particular listener.
LISTENER1=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))
(ADDRESS=(PROTOCOL=tcps)(HOST=sales-server)(PORT=1522)) )
SECURE_CONTROL_LISTENER1=tcps
The tpcs value stands-for TCP plus SSL security and tcps must be configured to specify this parameter.
If the SECURE_CONTROL_listener_name and SECURE_REGISTER_listener_name parameters are configured, then they override the SECURE_PROTOCOL_listener_name parameter.
Q2: 動態注冊
http://blog.sina.com.cn/s/blog_69e7b8d701013uf0.html
http://blog.sina.com.cn/s/blog_6058d7c101014qx2.html
?
?
apex ?的常見使用說明:
pplication Express 體系結構圖
主要特性
以下幾部分介紹了 Oracle Application Express 的主要特性。
報告
使用 Oracle Application Express,可快速生成顯示 SQL 查詢的 HTML 報告。還能以 HTML、PDF、RTF(兼容 Microsoft Word)和 XLS(兼容 Microsoft Excel)格式下載和打印報告。
可通過聲明方式將各個報表鏈接在一起提供下鉆報告,并使用綁定變量將信息從會話狀態傳遞至報表。報表支持聲明式列標題排序、分組控制、匯總以及分 頁。報表排序和分頁可以使用部分頁面刷新 (PPR) 技術來避免刷新整個頁面。還可以向報表添加聲明式鏈接,以將報表數據下載為 CSV 或 XML 格式。此外,您可以使用模板對報表外觀進行自定義。
表單
使用向導,可以基于表或存儲過程輕松創建表單。基于表創建表單時,這些向導將自動管理插入、更新、刪除以及缺失更新檢測等操作。一旦創建了表單,就可使用 直觀顯示重新排列表單域(稱為表單項),以快速獲得想要的布局。表單項提供了豐富的顯示選項,包括文本域、文本區、單選按鈕組、選擇列表、復選框、日期選 擇器、彈出式值列表等。
圖表
還可使用向導創建 HTML、SVG 或 Flash 圖表。此外,可創建圖表來支持用戶從一個圖表下鉆至另一個圖表或報表。可使用部分頁面刷新 (PPR) 技術刷新圖表以避免刷新整個頁面。也可將圖表配置為按指定間隔刷新。此外,還可利用報表列模板向任意報表添加簡單的 HTML 條形圖。
電子表格上載
使用電子表格向導中的 Create Application 可快速地將電子表格數據直接上載至數據庫中。您可以選擇將數據存儲在新的數據庫表中,或將其添加至現有數據庫表。一旦上載了數據,就可以快速創建應用程序 了。通過這個方便的向導,只需單擊幾下,就可以實現電子表格與共享應用程序之間的切換。
會話狀態管理
Oracle Application Express 以透明的方式管理數據庫中的會話狀態(或應用程序上下文)。表單將自動保存會話狀態,記住會話中應用程序的上下文。在 SQL 和 PL/SQL 內引用會話狀態就像使用綁定變量般簡單。例如,請看以下 SELECT 語句:
SELECT * FROM EMP WHERE EMPNO = :P1_ID
在本例中,P1_ID 項中的值在運行查詢時自動進行綁定。還可通過給項目名稱加上前綴 & 符號和后綴句點 (.) 在靜態上下文內引用會話狀態,例如:
&P1_NAME.
對于二維數據集的管理,Oracle Application Express 提供了一個強健的集合基礎架構。最值得一提的是,會話管理是無會話狀態的,不會消耗內存。
用戶界面主題
Oracle Application Express 將顯示(或用戶界面主題)與應用程序邏輯相分離。您可以用一個主題設計應用程序,然后更改為另一個附帶主題,或者創建和使用自己的自定義的主題。通過將應 用程序邏輯(如查詢、流程以及分支)與 HTML 呈現分離,應用程序可提前利用新設計和其他技術,而無需重寫應用程序。
流控制和導航
每個 Web 應用程序都需要導航,而每個動態應用程序都需要流控制。Oracle Application Express 提供了內置的組件,簡化了導航控件的開發和維護。導航是通過使用聲明式選項卡(一級或二級)、路徑式導航項、樹控件以及鏈接列表來進行控制的。而流控制是 通過使用可在特定事件以及一定條件下起作用的聲明式分支來實現的。由于導航控件的外觀通過模板控制,因此可輕松更改導航控件的外觀。
所有組件上的條件性
創建動態 Web 應用程序時,許多應用程序組件和處理都是具有條件的。換言之,您只能基于應用程序上下文、數據、事件或權限顯示或處理特定的信息。Oracle Application Express 使您能夠以聲明方式指定所有組件的條件性。這使得您可以精確控制用戶可在選項卡、按鈕、項目、列表項等上看到的內容。
外部接口和可擴展性
盡管 Oracle Application Express 為構建應用程序提供了強健的聲明式環境,但您還是可以選擇開發自定義界面或控件。例如,如果一個組件不符合環境需要,您可以使用 PL/SQL 生成自己的自定義 HTML。您還可以使用 Web 服務調用外部服務。Oracle Application Express 包含的 API 可以方便將電子郵件警報集成到應用程序中。此外,因為 Oracle Application Express 駐留在 Oracle 數據庫中,所以您可以利用數據庫本身的功能,如外部表、PL/SQL、數據庫鏈接、網關以及數據庫 Java 來擴展應用程序功能。
安全性
利用 Oracle Application Express,您可以創建無需用戶登錄的公共應用程序,或創建要求身份驗證的安全應用程序。Oracle Application Express 提供了許多內置的身份驗證模式(包括一次性登錄、數據庫帳戶證書)和一個易于使用的用戶管理系統。您還可使用可與任何身份驗證服務(包括 Microsoft Active Directory 和 Oracle Applications)交互的自定義模式。
此外,您可自定義身份驗證以滿足環境要求,并選擇性地對整個應用程序、頁面或頁面組件應用身份驗證。最后,您還可利用創新的會話狀態保護特性來防止 URL 篡改,利用內置特性來保護應用程序免受 SQL 注入攻擊和跨站點腳本編寫 (XSS) 攻擊。
SQL Workshop 工具
SQL Workshop 提供的工具支持從 Web 瀏覽器查看和管理數據庫對象。使用 SQL 命令運行 SQL 和 PL/SQL 語句。Query Builder 支持通過拖放表格定義查詢,輕松創建對象間的關系。Object Browser 提供了一個易于使用的圖形用戶界面,可用于查看、創建、瀏覽以及刪除數據庫對象。最后,您可使用 SQL 創建、編輯、查看、運行以及刪除腳本文件。
Supporting Objects 實用程序
通過創建一個打包應用程序,您可以簡化在另一個 Oracle Application Express 中導出和安裝應用程序所需的步驟。使用 Supporting Objects 實用程序,您可以通過腳本處理應用程序定義,以創建數據庫對象、種子數據、圖像、層疊樣式表和 JavaScript。
打包的應用程序的創建可向應用程序用戶提供類似于安裝程序的體驗,并使在另一個開發、測試甚至是生產實例中導入并安裝應用程序的過程自動化。
性能
Oracle Application Express 可為應用程序開發人員和應用程序用戶提供極高級別的性能。因為 Oracle Application Express 駐留在 Oracle 數據庫中,所以其對網絡流量影響甚小。此外,Application Builder 還有許多監視報表,使你能夠識別并調整應用程序性能。
打包的應用程序
打包的應用程序是一個可以使用和自定義的功能齊全的應用程序。打包的應用程序不僅闡釋 Oracle Application Express 應用程序的有趣示例,還提供立即有用的戰術性業務應用程序。打包的應用程序可立即運行 — 它們提供數據庫模式、種子數據、圖像、應用程序定義以及您所需的一切,安裝只需使用向導即可完成。
打包的應用程序
托管開發
Oracle Application Express 支持在單個數據庫中托管大量用戶。用戶在一個稱為工作區的專用工作區域中工作。這種靈活的體系結構使單個數據庫實例可以管理數千個應用程序。
您可確定供應(或創建)工作區的過程的工作方式。在請求供應模式下,用戶在登錄頁面上使用鏈接來請求一個工作區。工作區請求批準后,用戶會收到一封包含鏈接的電子郵件,用戶必須單擊鏈接來驗證其電子郵件地址的有效性。然后他們收到一封具有其登錄憑據的電子郵件。
?
轉載于:https://www.cnblogs.com/feiyun8616/p/7234254.html
總結
以上是生活随笔為你收集整理的Oracle apex 搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab 二维绘图函数(plot类
- 下一篇: Retrofit2.0和Rxjava结合