## 2. Install all 64bit: Oracle DB 11g XE on Windows 10 + Forms 12c + APEX 5.0.3

http://phporacle.altervista.org/php-oracle-main-menu/  **HOME** - old downloads are here, but better https://github.com/slavkoss/fwphp     
<br />
**07\. August 2018**

I could not find good tutorial for Forms 12 64 bit on Windows 10 64 bit, Oracle DB 11g XE.


So [https://github.com/slavkoss/fwphp/tree/master/fwphp/glomodul/z_help](https://github.com/slavkoss/fwphp/tree/master/fwphp/glomodul/z_help) is (I think best) tutorial for  installation (last version) Forms 11 64 bit on Windows 10 64 bit, Oracle DB 11g XE, webstart works.
**20\. March 2016  
**

I successfully installed Forms 12c which seems to be much better than Forms 11g.  
I installed Oracle DB 11XE 64 bit - but this article is still usefull because 64 bit 11XE is simpler installation then 32 bit.  
My Newest APEX 5.0.3  installation (slowww) also works on Win10 64 bit.

Help pdf:**forms12c_upgrade_forms6i_FSMFA.pdf**is interresant, other help pdf-s look good. But they still are :  
- language references = lists of all existing features  
(sometimes also non existing - Lary Ellison's speciality) - encyclopedias  
- there are no good**user manuals (tutorials)** = simple recipes collections  
like this I try to show here.  
May be Oracle wants us to pay his expensive courses ?

All 3 ways of running "Installed successfully..." form described in  
[https://danielsitblog.wordpress.com/tag/oracle-forms-12c/](https://danielsitblog.wordpress.com/tag/oracle-forms-12c/ "https://danielsitblog.wordpress.com/tag/oracle-forms-12c/")  
work for me. This is best (?) :  **New standalone way for end-users to run Oracle Forms applications.**

Forms 12c developer runs and connects to DB 11g XE (icon in start folder).

My .fmb & .fmx are in J:\sw\possys12 which I added to my FORMS_PATH in file  
C:\oracle\midw\home_midw\user_projects\domains\base_domain\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_12.2.1\config\**default.env  
**so :FORMS_PATH=**J:\sw\possys12;**C:\oracle\midw\home_midw\forms;C:\oracle\midw\home_midw\user_projects\domains\base_domain\config\fmwconfig\components\FORMS\instances\forms1

After that I could**run my tipdok.fmx**so :  
URL in firefox shows my tipdok.fmx screen :  
**http://sspc1:9001/forms/frmservlet?config=webstart&form=tipdok&userid=usr/psw@XE**

[https://blogs.oracle.com/proactivesupportDevTools/entry/forms_reports_12c_lifetime_support](https://blogs.oracle.com/proactivesupportDevTools/entry/forms_reports_12c_lifetime_support "https://blogs.oracle.com/proactivesupportDevTools/entry/forms_reports_12c_lifetime_support")  
Release Forms and Reports 12.2.x  
GA Date                 Oct 2015  
Premier Support Ends    Oct 2020  
Extended Support Ends   Oct 2023  
Sustaining Support Ends Indefinite

[https://blogs.oracle.com/proactivesupportDevTools/entry/browser_less_access_to_forms](https://blogs.oracle.com/proactivesupportDevTools/entry/browser_less_access_to_forms "https://blogs.oracle.com/proactivesupportDevTools/entry/browser_less_access_to_forms")  
Oracle Forms 12c version can now be used without a browser while still keeping the native appearance of the application.  
Either JDK or Java Plugin (JRE) has to be installed on the client PC.  
An example of how to use this type of configuration can be found in the Forms web configuration file (formsweb.cfg), present in Forms 12c environment.

Download Oracle Forms12c and help :

[http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html "http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html")  
[http://docs.oracle.com/middleware/1221/formsandreports/index.html](https://docs.oracle.com/middleware/1221/formsandreports/index.html "http://docs.oracle.com/middleware/1221/formsandreports/index.html")

help:[https://oracle-base.com/](https://oracle-base.com/ "https://oracle-base.com/")  
[https://oracle-base.com/articles/12c/articles-12c](https://oracle-base.com/articles/12c/articles-12c "https://oracle-base.com/articles/12c/articles-12c")  
and see end this text: [L1], [L2]...

[L1] 02_fusion_admin_ASADM.pdf Administering Oracle Fusion Middleware  
[L2] forms12c_deployment_FSDEP.pdf Forms Services Deployment Guide 12c (12.2.1)

My two attempts to install Oracle Forms 11 were unsuccessful (to big, to complicated - nobody starts new projects with Forms 11 - pity - it is great SW developed in wrong direction), but installing Oracle Forms 6i on win 8.1 64 bit and 11g (not XE) was successful (with patch 18 and that two almost 15 years old dll-s instead newer !!)

# Forms 12c post installation

NEXT STEPS & ACTIONS WORK FOR ME :

1.  Also can be step 2\. POSTINST 1  :  
    Fusion Middleware Control: Weblogic Server Adminis.Console 12c  
    action1111111   start Weblogic (Administration) Server:  
    C:\oracle\midw\home_midw\user_projects\domains\base_domain\bin\startWebLogic.cmd  
    To stop admin server, close the command shell in which it is running.action2222222  start  Weblogic Server Adminis.Console 12c :  
    **http://host:port/console**  
    **http://sspc1:7001/console**   user=weblogic   psw=mypsw*2
2.  Also can be step 1\. POSTINST 2  Starting and Stopping Node Manageraction333333   start NodeManager utility which is used to start F or R servers :  
    C:\oracle\midw\home_midw\user_projects\domains\base_domain\bin\startNodeManager.cmd  
    To stop Node Manager, close the command shell in which it is running.
3.  POSTINST 3   Starting and Stopping Managed Servers (F, R...)action444444 Starting/Stopping Managed F/R Servers WLS_FORMS / WLS_REPORTS :  
    http://sspc1:7001/console :  
    1\. Frame "Domain Configurations" -> Servers -> Control Tab  
    2\. chk box Managed Server eg WLS_FORMS or WLS_REPORTS  
    (I have only this two plus AdminServer)  
    3\. button Start or Resume or ShutDown or...
4.  POSTINST 4  Running Oracle Forms  
    DO NOT USE old way Embedded Java applet.action555555 run "Installed successfully..." form Standalone way from CLI (or from .bat)  
    cd J:\0downl\1_instalirano\1_oracle\z_doc_oracle  
    Enter the following to run your application:  
    java -jar frmsal.jar -url "http://sspc1:9001/forms/frmservlet?config=standaloneapp" -t 30000action666666 run "Installed successfully..." form Java Webstart way from ibrowser  
    http://sspc1:9001/forms/frmservlet?config=webutil_webstart

# Forms 12c installation

Refer to documentation

1.  Deinstall older java SW. Install 64bit JDK (v8U51+)  
    **01_jdk-8u74-windows-x64.exe**191803 kB  
    I installed all as administrator  
    java -version shows :  
    java version "1.8.0_74"  
    Java(TM) SE Runtime Environment (build 1.8.0_74-b02)  
    Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
2.  Install  W e b L o g i c  Server 12c (Infrastructure)  
    fmw_12.2.1.0.0_infrastructure.jar 1498316 kB  
    You do not have to create a WebLogic Server domain Forms and Reports installer can do it. In admin CLI :  
    winkey+X -> Comm.prompt admin  
    or winkey, cmd , right click -> run as admin  
    **"C:\Program Files\Java\jdk1.8.0_74\bin\java" -d64 -jar fmw_12.2.1.0.0_infrastructure.jar  
    **c:\oracle\midw\home_midw  
    (default is C:\Oracle\Middleware\Oracle_Home)  
    If you are installing Oracle Forms and Reports on MS Windows, you must make sure that the Node Manager utility that was installed with Oracle WebLogic Server is stopped before you begin Forms installation:  
    2.1 Verify the Oracle WebLogic Server Node Manager utility is stopped. If it is running, kill the process.  
    2.2 Determine if nodemanager.properties file is present in WebLogic_Home\common\nodemanager directory.  
    C:\oracle\midw\home_midw\user_projects\domains\base_domain\nodemanager\  
    a. If the nodemanager.properties file is not present, continue installing Oracle Forms and Reports.  
    b. If the nodemanager.properties file does exist, open it and verify that the ListenPort parameter is included and that it is set. If the ListenPort parameter is not included or set, edit the nodemanager.properties file so that it is similar to the following, where NODE_MANAGER_LISTEN_PORT represents the port the Node Manager listens on, such as 5556:  
    ListenPort=NODE_MANAGER_LISTEN_PORT
3.  Install Forms and Reports 12c (DEPLOYMENT install.type and select Oracle Home created in step 2\. above that contains Infrastructure install).  
    3.1 Run as admin:**setup_fmw_12.2.1.0.0_fr_win64.exe **942641 kB  
    3.2 you can skip Auto Update option then click to continue.  
    3.3 specify installation directory (see 3.4) :  
    when you are going to install forms/reports for DEPLOYMENT install. dir. is Oracle Home that contains infrastructure install:  
    c:\oracle\midw\home_midw  
    not eg c:\oracle\midw\home_f12c (see error 3.3 below)  
    which is ok for Forms Builder STANDALONE install.  
    3.4 Installation type screen: option to install Oracle Forms Builder Standalone and Oracle Forms & Reports deployment.  
    Choose Oracle Forms & Reports DEPLOYMENT  
    The standalone installation :  
    1\. does not allow forms to be run, just built and compiled. To run them, they must be deployed to a full installation of Oracle Forms and Reports Services.  
    2 There is no standalone equivalent of Oracle Reports. (see https://oracle-base.com/articles/12c/standalone-forms-builder-12c-installation-on-windows-1221)  
    3.5 Check system requirements screen, if OK, click next  
    3.6 Installation summary screen, click next  
    3.7 Installation successful screen with check box to Run Oracle Forms Configuration wizard after installation.  
    Do not (?) check box and click Finish to exit the installation.In the Forms configuration wizard, you will be prompted to specify Oracle Forms Instance directory location, so just create a new directory and specify that directory for Forms instance and when the Configuration wizard will complete you can find tnsnames.Ora and other properties files in this directory.
4.  Create repository using RCU GUI:  
    forms12c need to install Oracle Repository with at least following components:  
    Oracle Platform Security Services containing :  
    Audit Services  
    Audit Services Append  
    Audit Services Viewer  
    **C:\oracle\midw\home_midw\oracle_common\bin\rcu.bat  
    **host name: localhost (127.0.0.1  ?)  
    service name : XE  
    recommended is AL32UTF8 char.set  click "Ignore" button  
    11g XE db is not certified for use in fusion midw production environm.     click "Ignore" button11.2.0.4+ Ora.DB required, but XE DB is not 11.2.0.4 :  
    select banner from v$version where banner like 'Oracle Database%';  
    outputs: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionDEV schema prefix  
    advaced replication not enabled   click "Ignore" buttonIn SQL+ I see 9 new DEV_... users created 19.3.2016.
5.  Create WebLogic Server domain using Config Wizard GUI  
    eg base_domain :  
    Start GUI Configuration of Forms & Reports with :  
    **C:\oracle\midw\home_midw\oracle_common\common\bin\config.cmd  
    **   chk box create new domain, located in:  
    C:\oracle\midw\home_midw\user_projects\domains\base_domainapplication location:  
    C:\oracle\midw\home_midw\user_projects\applications\base_domainadmin user name = weblogic  
    psw = your choice (8 char, min. one num or...)autoconfig - RCU data (not manual)vendor OracleDBMS/service  XE (ora7 ?)  
    schema owner  DEV_STB  
    host name localhost (dbhost.example.com)  port 1521created domain : base_domain  
    C:\oracle\midw\home_midw\user_projects\domains\base_domainWebLogic Admin server URL:  
    http://sspc1:7001/console
6.  Start all servers (how: see postinst above) :  
    Node Manager=util which starts not Admin servers, Domain servers are: Admin Server, forms server and reports server and other servers if you have them (I do not)

**May 2014**

1. **[http://www.snapdba.com/2013/04/installing-apex-4-2-and-configuring-embedded-plsql-gateway-epg/](http://www.snapdba.com/2013/04/installing-apex-4-2-and-configuring-embedded-plsql-gateway-epg/ "lnk_instalac_EPG")**  
2\. https://community.oracle.com/thread/2344127?tstart=0  
3\. http://dbswh.webhop.net/apex/f?p=BLOG:HOME:0

1a. http://www.oracle.com/technetwork/developer-tools/apex/application-express/_**upgrade-apex-for-xe**_-154969.html   **upgrade was unsuccessfull**

Here:  
- drop all **APEX_ and FLOWS_ schemas,**  
- and **fresh install APEX 4.2.5 which was unsuccessfull  
(same as upgrade APEX 4.0 -> 4.2.5)**

Thank's to link 1.(snapdba, especcialy <cite class="fn" style="font-style: italic;">[Nancy Schorr](http://schorrmedia.com/), </cite><time datetime="2014-04-03T04:36:10+00:00">[April 3, 2014 at 4:36 am](http://www.snapdba.com/2013/04/installing-apex-4-2-and-configuring-embedded-plsql-gateway-epg/#comment-2772)</time>) I solved partially this, except  **can not load images** becouse of invalid VIEW **XDB.PATH_VIEW**  
- and this is **my question** to more experienced people:

conn xdb/xdb@XE  
start C:\oraclexe\app\oracle\product\11.2.0\server\bin\sredi (standard code to show invalid DB objects) outputs:  
 **3 invalids can not be compiled**:  
ALTER TRIGGER XDB.XDB_PV_TRIG COMPILE;  
ALTER PACKAGE BODY XDB.DBMS_XSLPROCESSOR COMPILE;  
ALTER VIEW **XDB.PATH_VIEW** COMPILE;

**Goal details  
**==========

At this job end I have:  
1\. working link **[http://127.0.0.1:8080/apex/apex_admin](http://127.0.0.1:8080/apex/apex_admin "apex_admin GUI")**  
(no error: "Unable to run page sentry in application 4500")  
2\. select * from all_users order by username;  
ee:  
start C:\oraclexe\app\oracle\product\11.2.0\server\bin\users.sql

<pre -moz-background-clip:="" -moz-background-inline-policy:="" -moz-background-origin:="" -moz-initial;="" -moz-initial;"="" 1.5;="" 10="" 14px;="" 20px;="" 51);="" 51,="" color:="" courier="" font-size-adjust:="" font-size:="" font-stretch:="" font-style:="" font-variant:="" font-weight:="" line-height:="" margin-bottom:="" none;="" normal;="" pitch",courier,monospace;="" rgb(51,="" style="padding: 10px; background: rgb(244, 244, 244) none repeat scroll 0%; overflow: auto; font-family: ">USERNAME      USER_ID  CREATED
--------------------- ----------
ANONYMOUS     35 27-AUG-11
APEX_040200     59 24-MAY-14
APEX_PUBLIC_USER 58 24-MAY-14
CTXSYS           32 27-AUG-11
FLOWS_FILES     57 24-MAY-14
HR               43 27-AUG-11
...</pre>

**What / how  do to reach goal**  
========================  
A standard Oracle 11.2.0.3 32 bit database installation comes bundled with  
APEX (Application Express) 3.2.1 by default (DB 11XE R2 32 bit - with 4.0).

1.  upgrade DB 11XE R2 to latest version of APEX (currently 4.2.5 - 24.5.2014)
2.  configure EPG (Embedded PL/SQL Gateway):  
    - which uses Oracle XML DB HTTP components within DB itself  
    - so no need to run a separate HTTP server.

1.  Download **apex_4.2.5.zip** from :  
    http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
2.  Drag apex folder from apex_4.2.5.zip, to drop to C:
3.  **C:\apex> sqlplus /nolog**  
    **SQL> CONNECT SYS/YOURSYSPSW@XEas SYSDBA**
4.  drop user APEX_040000 cascade;  
    drop user APEX_040200 cascade;   **upgrade created this - was unsuccessfull**  
    drop user APEX_PUBLIC_USER cascade;  
    drop user FLOWS_FILES cascade;
5.  **@apexins APEX APEX TEMP /i/**  
    Usage: @apexins<apex_tbs><apex_files_tbs><temp_tbs><images>  
    apex_tbs - name of the tablespace for the APEX user.  
    apex_files_tbs - name of the tablespace for APEX files user.  
    temp_tbs - name of the temporary tablespace.  
    images - virtual directory for APEX images. Define the virtual  
    image directory as /i/ for future updates.</images></temp_tbs></apex_files_tbs></apex_tbs>
6.  Log back into SQL*Plus (as above)  
    C:\apex> sqlplus /nolog  
    CONNECT SYS/YOURSYSPSW@XEas SYSDBA  
    **change ADMIN account password**:  
    @apxchpwd  
    NOTE: password must min length=6, and contain at least :  
    one uppercase letter, one lowercase, one number  
    one punctuation character: ( !"#$%&()"*+,-/:;?_ )
7.  ALTER USER anonymous ACCOUNT UNLOCK;  
    alter user ANONYMOUS identified by NULL;  
    Changed ANONYMOUS password to NULL.  
    ALTER USER xdb ACCOUNT UNLOCK;  
    ALTER USER apex_public_user ACCOUNT UNLOCK;  
    ALTER USER flows_files ACCOUNT UNLOCK;
8.  select username, account_status from dba_users where username = 'XDB';  
    Database     User Status  
    ~~~~~~~~~~~~~~~~~~
    XDB             EXPIRED  
    if **EXPIRED & LOCKED** then  
    first : alter user xdb account unlock;     then:  
    alter user XDB identified by XDB;
9.  **Script to enable anonymous access to XML DB repository**.  
    Some people said that it didnt help (**helped me**). Run it if:  
    start C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\**epgstat.sql**  
    **outputs**: Allow repository anonymous access?   **FALSE  
    **        shows also:    nls-language             american_america.al32utf8  
    SET SERVEROUTPUT ON  
    DECLARE  
    l_configxml XMLTYPE;  
    l_value VARCHAR2 (5) := 'true';  (true/false)  
    BEGIN  
    l_configxml := DBMS_XDB.cfg_get ();IF l_configxml.  
    EXISTSNODE (  
    '/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access') =  
    0  
    THEN  
     Add missing element.  
    SELECT INSERTCHILDXML (  
    l_configxml,  
    '/xdbconfig/sysconfig/protocolconfig/httpconfig',  
    'allow-repository-anonymous-access',  
    XMLType (  
    '<allow-repository-anonymous-access xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">'  
    || l_value  
    || '</allow-repository-anonymous-access>'),  
    'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"')  
    INTO l_configxml  
    FROM DUAL;DBMS_OUTPUT.put_line ('Element inserted.');  
    ELSE  
     Update existing element.  
    SELECT UPDATEXML (  
    DBMS_XDB.cfg_get (),  
    '/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access/text()',  
    l_value,  
    'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"')  
    INTO l_configxml  
    FROM DUAL;DBMS_OUTPUT.put_line ('Element updated.');  
    END IF;DBMS_XDB.cfg_update (l_configxml);  
    DBMS_XDB.cfg_refresh;  
    END;  
    /**outputs: Element inserted.**  
    start C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\epgstat.sql  
     Now is: Allow repository anonymous access? TRUE !!!
10.  and load images:  
    SQL> @apxldimg.sql APEX_HOME  
    -> SAME ERR UPGRADE AS AFTER DROP APEX_ & FLOW_ USERS:  
    ======================================================  
    **PL/SQL: ORA-04045: errors during recompilation/revalidation of XDB.PATH_VIEW**
11.  Configure database parameters for APEX  
    Check that the JOB_QUEUE_PROCESSES parameter is set to at least 20:  
    SHOW PARAMETER job_queue_processes  
    ALTER system SET job_queue_processes=20 scope=both;For a small group of concurrent users, Oracle recommends a value  
    of 5 for SHARED_SERVERS:  
    SHOW PARAMETER shared_servers  
    ALTER system SET shared_servers=5 scope=both;
12.  Enable network services (ACL) and XML DB HTTP server  
    Re enable the Oracle XML DB HTTP Server port (8080):  
    EXEC dbms_xdb.sethttpport(8080);Enable remote HTTP connections (optional):  
    EXEC dbms_xdb.setListenerLocalAccess(l_access => FALSE);  
    If l_access is set to TRUE, setListenerLocalAccess allows access to  
    XML DB HTTP server on the localhost only.  
    If l_access is set to FALSE, setListenerLocalAccess allows access to  
    XML DB HTTP server on both the localhost and non-localhost interfaces  
    i.e. remote connections.By default, the ability to interact with network services is disabled  
    in Oracle Database 11g.  
    Therefore, you must use DBMS_NETWORK_ACL_ADMIN package to grant  
    connect privileges to any host for the APEX_040200 database user:DECLARE  
    ACL_PATH VARCHAR2(4000);  
    BEGIN  
     Look for the ACL currently assigned to '*' and give APEX_040200  
    the "connect" privilege if APEX_040200  
     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_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',  
    'ACL that lets power users to connect to everywhere',  
    'APEX_040200', TRUE, 'connect');  
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');  
    END;  
    /  
    COMMIT;**ERROR** at line 1: ~~~~~~~~~~~~ !"#$%&()"*+,-/:;?_ ~~~~~~~~~~~~  
    ORA-04045: errors during recompilation/revalidation of **XDB.PATH_VIEW**  
    ORA-00600: internal error code, arguments: [qctchr : bfl], [4000], [1024], [1],  
    [170], [2], [175], [], [], [], [], []  
    **ORA-06508: PL/SQL: could not find program unit being called:**  
    **"SYS.DBMS_NETWORK_ACL_ADMIN"**  
    ORA-06512: at line 19   ORA-01403: no data found

**OTHER USEFULL (?) COMMANDS**

COL comp_name FOR A30  
SELECT comp_name, version, status FROM dba_registry WHERE comp_id='APEX';

COMP_NAME                         VERSION      STATUS  
Oracle Application Express     4.2.5.00.08    VALID

- It's hard to find error messages with Apex. To get error messages:  
execute dbms_epg.set_global_attribute('log-level', 7);  
Then look for logs in your Oracle trace directory that start with _s .  
Or grep for epg or apex in that directory and you'll see some errors.

- Switching to brand new port. I made up 8083 as I wasn't sure  
some settings somewhere were still stuck for 8080.  
Setting it back and forth to 0 and back to 8083 seems to help.  
EXEC dbms_xdb.sethttpport(8083);  
EXEC dbms_xdb.sethttpport(0);  
EXEC dbms_xdb.sethttpport(8083);

- 8083 never showed up in netstat but it doesn't seem to make a difference

Test scripts: ed C:\oraclexe\app\oracle\product\11.2.0\server\bin\t.sql  
start C:\oraclexe\app\oracle\product\11.2.0\server\bin\t.sql  
ed C:\apex\tmp.txt - output of t.sql

<footer class="entry-footer clearfix" style="display: block; font-size: 14px; color: rgb(153, 153, 153);"><span class="category-links"></span></footer>
