We’ve a legacy application for our Bahrain operations and after a disastrous hardware failure we wanted to find a cost effective method to bring the database dumps to Kuwait for regular health checks.

Options in front of us were pretty limited. The business in Bahrain only had a basic internet connection(dial-up DSL) without static IP address, hence we were forced to workout something that is dependable. Finally we decided to FTP the dump file in compressed form after the dump export every Friday once after realizing that the total size of the compressed dump file was less than 100MB in size!

Here is the script file We’ve compiled after referring a number of blogs/tech forum visits. Please note, the methods we implement here uses passwords seen in clear text. Hence make sure that you take maximum attention while implementing our solution in your environments.

::http://blogs.msdn.com/b/oldnewthing/archive/2012/08/01/10334557.aspx
@echo off
SETLOCAL
::Get the latest dump file name, generated using exp command
for /f "tokens=*" %%a in ('dir *.dmp /o:-d /b') do set NEWEST=%%a&& goto :next
:next
REM echo The most recently created file is %NEWEST%
::http://stackoverflow.com/questions/15567809/batch-extract-path-and-filename-from-a-variable
FOR %%i IN ("%NEWEST%") DO (
REM ECHO filedrive=%%~di
REM ECHO filepath=%%~pi
SET ZIPNAME=%%~ni
REM ECHO fileextension=%%~xi
)
SET ZIPNAME=%ZIPNAME%.zip
::Creating ZIP file using Java Runtime
::Dump files could be huge and take hours to transfer in full size. So we will use Java RunTime Executable to create a zip file which
::Will be smaller in size
::Make sure you have JRE installed, and the installation path is set in the environment variables, if not call JRE using the full path
::eg: C:\java\jre
echo Creating Zip file for transfer, filename ""%ZIPNAME%""
::We will create the zip file without meta-info, hence the M switch is used
::jar -cfM %ZIPNAME% %NEWEST%
::Another option is to go with 7Zip, 3rd party utility that could create zip/7z files
::7z a %ZIPNAME% %NEWEST%
::Or using Windows built-in Zip utility
zip %ZIPNAME% %NEWEST%
::You can use IP address or fully qualified domain names for the FTP server
::If the FQDN is not registered, you can add an entry with your hosts file
::FTP accepts parameter files, ftp -s:parameter file, so we will create the parameter during the initial running
::Please note, the parameter file created is permanent & clear text format, hence make sure that adequate security measures are practiced
::to avoid getting sensitive details exposed.
echo open ftpservername(FQDN/IP)>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo binary>>ftp.txt
echo put %ZIPNAME%>>ftp.txt
echo disconnect>>ftp.txt
echo quit>>ftp.txt
REM echo put filename2.dat >>ftp.txt
REM echo put filename3.dat >>ftp.txt
REM echo put filename4.dat >>ftp.txt
::We referred the following thread for making the batch file
::Google search keywords: pass parameter to ftp script
::http://stackoverflow.com/questions/5170627/is-it-possible-to-pass-a-variable-into-a-windows-ftp-script-file
ftp -s:ftp.txt
::Delete the zip file after transfer comples
del %ZIPNAME%
::Optionally you can use "exit" the command windows-ftp-script-file
::Exit

Not many DBAs prefer Windows for their Oracle databases. Linux is most preferred by most of them & most of the DBAs I know setup the bash profile under Oracle user to setup the environment during each logon to the server.

Our legacy business application database runs on Windows 2003 & trust me, we never had a single database crash (Other than the physical hardware failure that forced us to recover the database once). Depending upon how huge the database and application, the choices for hosting the Oracle database differ from one business to other.

We decided to upgrade our Oracle 10g 10.1.x.x 32Bit database to 11g R2 & as usual I have replicated the environment using my home semi-server class desktop, before the Production environment at work.

Installed 10g 32Bit, created the database using dump export file (The total size of the database is less than 7GB, hence I avoided the hectic RMAN backup and restore part)

Configured RMAN against the new database & made full backup for archive logs and database.

Installed 11g 11.2.0.4 64Bit database (Software Only installation)

Created a new Windows Service using oradim

Restored the database from RMAN backups & upgraded the database to 11g

So far so good. I had to restart the computer & after rechecking the database was up and running, tried to access the instance using sqlplus & was presented with

ORA-12560: TNS:protocol adapter error

I setup ORACLE_SID=SID at the CMD window & sqlplus was happy after that.

Usually, Windows doesn’t need environment variables set exclusively for the database as Windows registry takes care of it. This is very efficient when the box has only one database running. If you have more than one database or multiple Oracle homes, the scenario changes.

In addition to, Oracle always looks for the executable based on the PATH information it reads. For example my box has 10g,11g,12c database software installed without any databases created during the installation time.

Let us consider the scenario like I didn’t re-order the PATH entries after the latest installation of 12c & try to open SQL or RMAN. The call will find the executable from 12c path entry BIN as default, and a beginner could have enough confusions due to it.

In my case, I needed my 10g instance first, hence I moved the 10g folder as the 1st entry for Oracle products, and once I finished with 10g moved 11g home folder to the 1st position.

Anyway, after confirming the path settings, my immediate attention was towards registry, as Oracle services completely depend upon the registry values for each service registered.

To my utter surprise, found the 11g Service entry didn’t have ORACLE_SID string created during the instance creation using ORADIM.exe

Oracle 11g 11.2.0.4 has a huge bug list and interim patches those should be applied before moving to Production instance. I really don’t know whether the missing ORACLE_SID string entry was due to one of such bugs.

So I stopped the Oracle service, added ORACLE_SID string entry with the value for my database

Restarted the service & sqlplus connected to the instance happily without setting up the environment variable like set ORACLE_SID=SIDNAME

While the easiest solution is to setup both ORACLE_HOME, ORACLE_SID when someone wants to use the sqlplus or RMAN exclusively as a part of the database access, the above method is a definite way to deal with “ORA-12560: TNS:protocol adapter error”

There is a problem with accessing the Oracle enterprise manager for 11g R2. After a default installation, the EM console will not even load in Internet explorer, while recent versions of firefox will show an error like following:

An error occurred during a connection to FQDN 1158. The server certificate included a public key that was too weak. (Error code: ssl_error_weak_server_cert_key)

This is due to the SSL certificate that used for securing the enterprise management console, if you are not using the database at a production environment, you can disable the secure mode and get the enterprise manager online with minimum efforts.

Please follow the instructions as given below

From an elevated command prompt

set ORACLE_UNQNAME=DATABASENAME

Issue the following command

emctl unsecure dbconsole

(Check the below image for more clarity)

The above exercise restarts the dbconsole service and you should able to access the enterprise manager without any issues.

Allowing dbconsole & Oracle services starting with each restart of your laptop or desktop boxes having standard hardware configurations would be very displeasing experience. Oracle services require resources(true) and they definitely take much more time to start up and be online against most of other Windows services.

If you have a box that has barely 4GB memory and processor from an old generation, I suggest you to change the startup method to “Manual” from automatic immediately after the installation. Well, your call :)

Below find the Oracle services for which you can safely change the startup mode as “Manual”

Once the database configurations are made, you are hardly going to use enterprise manager regularly. That means you don’t even have to start the DBConsole service every time while you restart the database service.

I hope the above guidelines help you to save much of the limited resources and let you use your box more effectively while the Oracle services are running.

As an Administrator maintaining Windows domains, one of the herculean tasks usually one run into is to make a software asset inventory. There are plenty of excellent software to do the job for you, obviously for some cost.

Here we are suggesting you a cheaper alternative, using Microsoft’s own MAP toolkit. Be ready to sweat a bit, and we are sure you would love the outcome.

The entire write up is copied from Microsoft blog and tested by us for assuring, if you follow the instructions as given, within few hours of time you will have a neat software inventory list.

In MAP 7.0, provided this information through a database view and Microsoft Excel. The name of the view is InstalledProducts_view.

In MAP 8.0, this view has been renamed to [UT_WinServer_Reporting].[InstalledProductsView].

This view contains several key pieces of information that you can use to do a number of things including:

Understand what applications and versions are installed throughout your organization

See the Operating Systems on which these apps are running and whether the machine is physical or virtual

See who is using the machines on which the apps are running

Get important license related information such as processor counts, total cores and logical processor counts

To get started, you will need to open Excel and connect to your local SQL Server database that is storing the MAP data that you want to view. There are two different ways to connect, depending on the version of SQL Server that you are using.

Using your own SQL Server instance

If you are using your own instance (the non-default MAP install), you will select the Data option on the Excel ribbon and select the ‘From other sources’ option. Then select ‘From SQL Server’.

Enter your server name and instance name and click ‘Next’.

Select the database that contains the data you want and then pick InstalledProducts_view row under ‘Name’ for databases created with MAP 7.0.

For MAP 8.0, use [UT_WinServer_Reporting].[InstalledProductsView].

You can also add some additional information to help describe the connection. Then click ‘Finish’ and select the location where you want the query results to populate.

Using the default (LocalDB) instance

In MAP 7.0, the default database installed moved to SQL Server 2012 LocalDB. There are a couple of steps that are different than those used in other versions of SQL Server.

First, make sure that you have the SQL Server 2012 Native Client installed. You can get it from

Next, you enter in the server name. If you are using the default install the server name will be: (localdb)\maptoolkit.

Set the option in #2 to Use Windows NT Integrated Security

Hit ‘Test Connection’

If you’ve done it correctly, you will get a success message!

Then follow the same steps as above where you select the database name and the InstalledProducts_view for 7.0. For 8.0, use [UT_WinServer_Reporting].[InstalledProductsView].

Populate the results in your spreadsheet!

What do I do next?

Well – that is entirely up to you. One thing that we like to do is to create a pivot table and drill down into this information. Here is one that I created. I filtered down the application name to include only those that had SQL Server components. I could look at this by physical/virtual and by operating system.

Pretty cool – huh!

As a reminder, here is a link to some valuable MAP community supported content.

Usually a legacy application compiled using patch sets below 18 are less prone to above mentioned issues, however an application completely developed using patch 18 regularly get into issues on Windows 7 & 8 where hacks are used.

Recently we were forced to look towards a better environment for a new application, which by certain reasons cannot be accommodated and hosted within Oracle Application entity, and we started dwelling the possibilities of setting up a Weblogic server (old application server) for our forms and reports modules.

(Hurry, you may not find the above software bundles with OTN after few weeks or months time)

Part 1 – Weblogic Server 10.3.6 Installation

Installation of Weblogic is pretty straight forward on Windows 8. Only once the compatibility issue is raised, which you can safely ignore by the click of a button.

The Weblogic 10.3.6 (wls1036_win32.exe) installation comes as a single .exe file, which you can start like any other installer.

Please have a look at the images

Choose a directory name without spaces, this is going to be your middleware home.

Uncheck the email notification, you don’t need it as far you don’t have a support from oracle

Select “Custom” installation type, as you can select which JDK to be selected and other components at later stages. We installed both JDK for our installation.

Click next to continue

Leave the selection as it is

Select Yes for “Node Manager Service”, it will make few things simpler at later stages, especially while you are using Admin Server for managing both forms and reports servers.

Select “All Users”

Clicking “Next” will start installing the Weblogic server 10.3.6 for you. Relax and wait until the installation completes.

Once installation has been done, you will be given an option to setup the Weblogic server with an instance, which we will do as a part of Forms & Reports 11g installation and configuration.

Part 2 – Installation ofOracle Forms and Reports 11g Release 2

Once you download the Oracle Forms and Reports 11g Release 2, the zip archive must be unzipped to a folder, which will create Disk1, Disk2, Disk3 folders. You should start the “Setup.exe” from Disk1 folder. Once again the installation is straight forward, without requiring to make any specific hack to the installation media.

You must skip the “Software Update” option, unless you have the paid support from Oracle for the product you are installing.

Most important: You should select “Install Software – Do not configure” at this level, as the configuration will be done once after the installation completed.

On Windows 8 you will be notified about two vital check failures, however allowing you to continue the installation at own risk by clicking the “Continue” button.

Next page will clearly notify you that you must have an application server already installed. Application server akka Weblogic server. Without Weblogic server you cannot use Oracle Forms and Reports 11g Release 2 even for development purpose.

You can safely ignore being updated about the software updates once again

Once you say yes to software update related prompt, the installation will start

It may take couple of minutes until you are provided the installation application GUI as shown below. Click next

Select the option “Configure for Deployment”

Unless you are entitled for Oracle support ignore the email part

Now, choose a meaningful name for your Oracle instance.

Important: You must note down the following details for future references. We opted to use the username suggested by Oracle during the configuration which is “weblogic” and provide a password consist of alphabets and minimum one digit (number)

Domain is the node which will be setup with Weblogic for Administration server as well for both Forms and Reports Servers.

By default, Developer tools are not selected, you MUST select this node, incase if you are going to use the same machine for development (which is our objective with this exercise). You may uncheck the “Clustered” option, unless used in a production environment.

Select “Auto Port Configuration”

Try to avoid using Proxy. Microsoft ISA server can make the whole experience a parody, if used.

Use Identity management, only if already implemented and business mandatory. Else leave it unchecked

Click on “Configure” button and sit back, until the process is over!

You may save the installation responses for a future installation by clicking the Save button. Click “Finish” button to exit the configuration wizard

Oracle provides batch files to start and stop all the above mentioned components. You may start just WLS_FORMS and WLS_REPORTS services, unless planning to manage them through the Admin Server console.

Let us agree, the cmd windows look ugly, dangerous and a user can close them down, thus bringing the entire servers down unintentionally. A windows service looks much favorable under such scenarios and wise people from Oracle do provide solutions to create windows services for

Weblogic Admin Server

WLS_FORMS (Forms Server)

WLS_REPORTS (Reports Server)

Creating Windows services for Admin Server and Forms server are pretty simple and straight forward business, while CMD command line length limitations will make Reports Server service creation a little difficult, don’t worry we have solution for it also.

Part 6 – Creating Windows Service for Weblogic Admin Server

Pre-requisite(s)

Notepad++ (or any decent text editor other than Windows notepad)

Create a .cmd file named “Install_AdminServer.cmd” with the following lines

echo off
SETLOCAL
set DOMAIN_NAME=appsdomain
set USERDOMAIN_HOME=D:\WebLogic\Middleware\user_projects\domains\appsdomain
set SERVER_NAME=AdminServer
set WL_HOME=D:\WebLogic\Middleware\wlserver_10.3
set WLS_USER=weblogic
set WLS_PW=pass123
set PRODUCTION_MODE=true
set MEM_ARGS=-Xms512m -Xmx512m
call "%WL_HOME%\server\bin\installSvc.cmd"
ENDLOCAL

Please note, you must provide the absolute domain name and physical directory names based on your installation preferences!

Unfortunately, you cannot just run the .cmd file and create a service for WLS_REPORTS like other services, as the java CLASSPATH for reports server has more than 3000 character length, which is beyond 32Bit command line architecture.

Hence you have to do a minor hack, as provided as a solution by Oracle.

Go to “D:\WebLogic\Middleware\wlserver_10.3\server\bin” folder (equivalent on your machine) and make a backup for the file “InstallSvc.cmd”

If the report server is running, terminate it by using Ctrl+C within the open cmd window

Wait until the server shutdown. Check the status through Admin Console.

Now restart the Report Server, using the menu interface

Mark and copy the CLASSPATH= output and paste it to a new text document. You have to spend few minutes to wrap up the text and make sure the entire text is wrapped into a single line (This is why we love Notepad++)

Add “set” in front of CLASSPATH= and your txt file content should look something like below and save the text file as “myClasspath.txt”

set CLASSPATH=D:\WebLogic\Middleware\Oracle_FRHome1\jdbc\lib\ojdbc6.jar;;;D:\WebLogic\MIDDLE~1\ORACLE~1\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar;D:\WebLogic\MIDDLE~1\patch_wls1036\profiles\default\sys_manifest_classpath\weblogic_patch.jar;D:\WebLogic\MIDDLE~1\JROCKI~1.0-1\lib\tools.jar;D:\WebLogic\MIDDLE~1\WLSERV~1.3\server\lib\weblogic_sp.jar;D:\WebLogic\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.jar;D:\WebLogic\MIDDLE~1\modules\features\weblogic.server.modules_10.3.6.0.jar;D:\WebLogic\MIDDLE~1\WLSERV~1.3\server\lib\webservices.jar;D:\WebLogic\MIDDLE~1\modules\ORGAPA~1.1/lib/ant-all.jar;D:\WebLogic\MIDDLE~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;D:\WebLogic\Middleware\wlserver_10.3\server\lib\weblogic.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.dms_11.1.1\dms.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxframework.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxspi.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.odl_11.1.1\ojdl.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\lib\adf-share-mbeans-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\lib\mdswlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\auditwlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\jps-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\jrf-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\oamap_help.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\oamAuthnProvider.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\ossoiap_help.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\ossoiap.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\sslconfigwlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\wsm-wlst.jar;D:\WebLogic\Middleware\wlserver_10.3\server\lib\weblogic.jar;D:\WebLogic\Middleware\Oracle_FRHome1\opmn\lib\nonj2eembeans.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jdbc\lib\ojdbc6.jar;D:\WebLogic\Middleware\Oracle_FRHome1\opmn\lib\optic.jar;D:\WebLogic\Middleware\Oracle_FRHome1\opmn\lib\iasprovision.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\lib\adf-share-mbeans-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\lib\mdswlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\auditwlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\jps-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\jrf-wlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\oamap_help.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\oamAuthnProvider.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\ossoiap_help.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\ossoiap.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\sslconfigwlst.jar;D:\WebLogic\Middleware\Oracle_FRHome1\common\wlst\resources\wsm-wlst.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.adf.share_11.1.1\commons-el.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\dfc.jar;D:\WebLogic\Middleware\Oracle_FRHome1\dvt\lib\dvt-jclient.jar;D:\WebLogic\Middleware\Oracle_FRHome1\dvt\lib\dvt-utils.jar;D:\WebLogic\Middleware\oracle_common\jlib\ewt3.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.iau_11.1.1\fmw_audit.jar;D:\WebLogic\Middleware\Oracle_FRHome1\oui\jlib\http_client.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.idm_11.1.1\identitystore.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.idm_11.1.1\identityutils.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.jps_11.1.1\jaccprovider.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.jps_11.1.1\jacc-spi.jar;D:\WebLogic\Middleware\Oracle_FRHome1\ord\jlib\jai_codec.jar;D:\WebLogic\Middleware\Oracle_FRHome1\ord\jlib\jai_core.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.oc4j-obsolete_11.1.1\jazn.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.oc4j-obsolete_11.1.1\jazncore.jar;D:\WebLogic\Middleware\oracle_common\jlib\jewt4.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\jta.jar;D:\WebLogic\Middleware\oracle_common\modules\oracle.ldap_11.1.1\ldapjclnt11.jar;D:\WebLogic\Middleware\Oracle_FRHome1\lib\mail.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\netcfg.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\oracle_ice.jar;D:\WebLogic\Middleware\oracle_common\jlib\share.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\zrclient.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\aolj.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\confmbean.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\runtimembean.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\rwadmin.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\rwenv.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\rwrun.jar;D:\WebLogic\Middleware\Oracle_FRHome1\reports\jlib\rwxdo.jar;D:\WebLogic\Middleware\Oracle_FRHome1\jlib\rts2.jar;;D:\WebLogic\MIDDLE~1\ORACLE~1\soa\modules\commons-cli-1.1.jar;D:\WebLogic\MIDDLE~1\ORACLE~1\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;D:\WebLogic\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;D:\WebLogic\MIDDLE~1\WLSERV~1.3\common\derby\lib\derbyclient.jar;D:\WebLogic\MIDDLE~1\WLSERV~1.3\server\lib\xqrl.jar

Now open the “InstallSvc.cmd” using Notepad++ and locate the line “set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH%” and comment the same like

rem *** set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH%

Now locate the line “set CMDLINE” within the “InstallSvc.cmd” and change the line like following

There are two instances of set CMDLINE, you must change both lines, only replacing the “-classpath \”%CLASSPATH%\” part with -classpath @d:\myClasspath.txt

After the above, from elevated command line, execute the batch file, and the Windows service for WLS_REPORTS must be created, unless there were mismatches with the information supplied

Change “Automatic” to “Manual” for better ease, at various situations. You may create a .cmd file for starting the services and another one for stopping them.

From our prospects, these services are just a facelift for the batch files, avoiding the immediate problems with accidental closure of cmd windows and thus causing serious issues to the instance. We came to this conclusion because, the service status are not updated incase if one of the services stopped by the Admin Server console at later stages, neither the service status update waits until the actual server starts to update state of the service.

You can delete whole these service from command prompt, after stopping like following

>SC DELETE “service name”

We hope you will enjoy setting up Weblogic 10.3.6 and Oracle Forms and Reports 11g Release 2 on Windows 8/ Windows 2008 R2 following the instruction set provided above.