Install Oracle Apex in Microsoft server 2016 - oracle

Oracle Database Express Edition (Oracle Database XE). Preferably latest version.
Oracle Application Express (APEX) 18.1 or greater. Preferably latest version.
Oracle WebLogic, Glassfish, TomCat, etc. as long as it supports ORDS
Oracle REST Data Services (ORDS) release 3.0.12 or later.
Is 1 and 2 installation same as windows? why do I need 3 and 4?

XE latest version of Database isn't available for Windows yet, but will be soon. For now, you have an 11gR2 version of XE.
I'd wait a bit if you can for the 18c version of XE to drop for Windows.
Installation of XE or the database on Windows is via a GUI installer for both the server and creating a database and it's services. On NIX, you have YUM or RPM solutions, which are generally easier (personal opinion).
APEX installation happens in the database itself, process is the same regardless of your OS.
Tomcat or WLS aren't required, but are there to help manage ORDS (Java EE app). Most customers setup Apache with Tomcat for ORDS and APEX.
ORDS itself makes things inside the database available via HTTPS - one of those things is your APEX applications.
ORDS can also be ran as a standalone process, and this also gives you a built-in webserver (Jetty.)
Finally, if you're using ORDS, you can also build and deliver REST APIs for your database.
P.S. You could also use Docker to make things easier. Joel Kallman shows how here.

Related

Multiple Oracle Clients DAC

My group is moving to a new Windows Server (Windows Server 2016). We need to migrate existing code without re-compiling. The existing code (on old Server 2008) utilizes Oracle 11g and 12c clients 32 and 64 bit. Mostly Unmanaged (Oracle.DataAccess.Client) clients but some use managed clients (Oracle.ManagedDataAccess.Client).
Can I install all of these clients in the GAC so that the applications will select the correct one?
If you really managed to install Oracle 11g and 12c clients 32 and 64 bit and ODP.NET Managed Driver and all of them are working, then you can be proud of yourself.
ODP.NET Managed Driver (Oracle.ManagedDataAccess.Client) is independent from all others, you an just install it.
It is not needed to install more than one version (i.e. one each for 32-bit and 64-bit). So, just install version 12 and you are done.
Unless you force a specific version (see How to load specific version of assembly from GAC) you have the Publisher policy which redirects to the installed version.
In case you install Oracle client 12.2 or never, have a look at SSMA unable to find specified provider

Migrate Oracle DB

I had to connect my Oracle 10g XE (10.2.0.1) with Visual Studio 2012.
Since I found that 10g is not compatible now, so I want to migrate it to higher version - 12c.
I have successfully installed Oracle 12c Enterprise Edition, but it's upgrade assistant says that you have to upgrade your 10g (10.2.0.1) to the version 10.2.0.5, then DB can be migrated to 12c.
Question: How to upgrade Oracle 10.2.0.1 to 10.2.0.5 ?
I couldn't find the patch links from internet, I have searched a lot on the internet but didn't not get an amazing solution that resolves my problem in one shot.
This message is an error in the installer. It is applicable to other editions of Oracle (for example to a Standard Edition) but XE does not have such version as 10.2.0.5. Even with an Oracle support contract paid, there is simply no such version on metalink. You need to export-import like described in this question.
You need a metalink account to download this patch (legally); it's probably easier to export the database and import it into a fresh 12c instance.

Understanding Oracle database and ODAC installation

I want to use Oracle XE DB in my ASP.NET MVC project. I installed Oracle 11g XE on same machine where is VS running. Installation completed succesfully in C:\oraclexe. Everything as expected, i was able to connect to DB via Server Explorer using default .NET oracle data acces provider. But i want to use ODP.NET, so i installed ODP.NET + ODT in C:\app. Here is first confusing thing. Directory structure of C:\oraclexe..\server and C:\app..\client_1 is similar. Both have NETWORK\ADMIN folder where Tnsnames.ora resides. I understand that client is used to connect to database but:
Which Tnsname.ora will be used to connect to database?
Oraclexe also contains odp.net folder where Oracle.DataAccess.dll resides. If server installation come with odp.net why i need to install ODAC? Server Explorer in VS offered me ODP.NET drivers for connection only after ODAC install.
ODAC comes with Oracle Instant Client. When to use Oracle Client and when Oracle Instant Client? If i decide for Oracle Client and then i will install ODAC for connection, will it also install Instant Client which is part of ODAC?
Finally after installation of server and client, VS 2010 still does not offer me Oracle Providers in ASP.NET Configuration
Oracle XE is kinda special in that you typically install the server and client on the same machine. Logically, they are separate, but it does make things a bit harder to understand. For that reason, I will refer to other experts.
The folks at ORAFAQ have information about the TNSNAMES.ORA file. My personal strategy is to make all my TNSNAMES.ORA files the same, so there is no opportinity for confusion.
ODP.NET is for... .NET use, while ODAC is "native" (OLE) and provides more tools than you may have with just ODP.NET. Use whatever works for your needs.
For most cases, you would distribute the Instant Client. The Full Client is more useful for developers. Refer to the documentation and FAQs for details. You can have multiple clients on one machine, so I'm not sure what the problem is.
Restart the machine? Did you add the appropriate library/libraries to your environment?

Equivalent for Oracle Enterprise Management Console for Mac

Somebody can advise an equivalent for Enterprise Management Console? I found this
Oracle Enterprise Manager 10g Grid Control Management Agent. But i cant launch it. There is two jar file. I try to run it, but it doesn't work.
dhcp-176:~ kukodajanos$ java -jar /Users/kukodajanos/Downloads/macosx_10_1_0_3_agent_download/macosx/agent/stage/install1.jar
Invalid or corrupt jarfile /Users/kukodajanos/Downloads/macosx_10_1_0_3_agent_download/macosx/agent/stage/install1.jar
I checked the manifest, and there is no main-class specified. Any suggestion?
You can install
"Oracle Database 10g Client Release 2 (10.2.0.4.0) for MAC OS X on Intel x86 / x86-64", which contains the Java Enterprise Manager Client (if your Mac is have Intel CPU).
But Java based Enterprise Managment Console as included in Client installer is obsolete for 10G. To control the 10G and 11G use Enterprise Manager through the web.

Is ODP.NET required for Oracle 11g Client?

I may be asking the wrong question here, I'm willing to change it if so.
I have a project that is using the Microsoft.NET Oracle provider (our plan is to change to ODP but we haven't done so yet).
I am trying to get this project to build on a windows 2008 (x64) build server. It builds just fine but our unit tests fail when they hit stuff on the Oracle database.
I had initially installed the 32bit oracle 9i client which is what we currently use on our winxp dev boxes and the previous 2003 build server. But now this gets a message like: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
We tried compiling to the x86 platform but that didn't change the error message.
I now have the 11g 64 bit client installed but I am getting a message saying System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
So what Oracle install should I be using?
Edit:
I was able to get this to work. Turned out it was the testing causing the problem, by forcing NUnit to run in 32bit mode: Link I was able to get the tests to work using the old 32 bit driver. This would be a crappy answer to the question so I am not using it but will gladly award the correct answer to anyone putting in some good info on transitioning to Oracle 64bit drivers.
When it comes to Oracle, I like to use Oracle Instant Client :
You don't have to install anything on the target machines (including dev boxes !).
You can make sure that your application will run with the specific client you picked.
You could even easily have multiple applications work with different client versions on the same computer.
As a downside, it adds a significant weight to your application (~19Mb minimum).
Check What is the minimum client footprint required to connect C# to an Oracle database? for more information. To know how to set up a Visual Studio project that will work on x86 as well as x64 machines, check my blog post Oracle Instant Client in Visual Studio.
I'm adding a new answer since as of this fall (2012) the ODP Managed Code Beta is available. See this link for more information. It is for us highly stable and we are using it in production, mainly because of these reasons:
No installation (except for entity framework where a simple registration is needed)
It is smaller than the unmanaged version, the footprint is approx 6 MB.
It is NOT "bit sensitive", ie Any CPU will finally work with ODP :)
More intuitive mapping C# types <-> Oracle types (and it solved some problems with EF and model generation from database)
Supports EZCONNECT (all versions of the unmanaged ODP did not), ie no more tnsnames.ora hassles.
But for transitioning to 64 bit, download the managed ODP driver and change the Oracle.DataAccess reference to Oracle.ManagedDataAccess and recompile :)
I think the message "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater" it's similar to "Oracle client not installed, installed but not found or installed but it's needed 8.1.7 or greater".
Check on regedit if the values are right under the key:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraOdac11g_home1
Where OraOdac11g_home1 depends on the Oracle Home name for your installation.
Also, try to connect through Visual Studio to see if its possible.
I have had an issue which could relate to what you are seeing.
I initially had the just the Oracle 10g client installed on my machine and the .Net Oracle.DataAccess component version number was 10.2.0.100 - this was for .Net runtime v1.0.3705
I installed ODP.Net and the Oracle.DataAccess component version is now v2.102.2.20 and runs on .Net runtime v2.0.50727 - I cant find the reference as to why Oracle did this - it was something to do with bringing version numbers in line with the runtime version
It took me a day to work this out. We dont use the 11g client yet and I havent used the 8i client for ages so I dont know what the version numbers would be for those clients, but I'd check it if I were you what.
In short, Oracle back-tracked the component version numbers which could be making your 11g component appear out-of-date as opposed to Oracle 8i components
I have found many times that the error "requires Oracle client software version 8.1.7 or greater" is a notoriously misleading error. From distant memory I seem to remember that this usually indicates a file IO permissions problem. I think it may be that the ASP.NET worker process (or whichever identity an application is running under) requires some sort of read or write permission to a folder in the oracle client folder hierarchy...
This can be a cause of multiple oracle homes in the environment. Remove the older version oracle home in your build system. try generating the build again with the single home. There are some issues with 9i version ODP.NET and 10G/11G connectivity

Resources