Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to install an Oracle DataBase.

My idea is to call the DataBase Configuration Assistant from my Inno Setup installer and I need to know if the result code of this creation process is equal to 0.

But the Oracle installer calls a .bat that invokes a lot of .jar files and there are not .exes to call.

Is there a way to know if my Database instance was really created?

share|improve this question

migrated from stackoverflow.com Jul 20 '09 at 12:52

This question came from our site for professional and enthusiast programmers.

1  
I would infer from his reference to .bat and .exe files that it's windows. –  DCookie Jul 21 '09 at 15:41

3 Answers 3

Try connecting to it using sql from the command line.

  • Set up environment
  • sqlplus /nolog
  • sys sysdba
  • show tables
share|improve this answer

looking at the install guide for windows (as you mentioned .exe and .bat), there is a chapter about doing silent installation of ORACLE_HOME (OUI - setup.exe), listener (netca) and database (dbca), you may find it useful:

http://download.oracle.com/docs/cd/B28359_01/install.111/b32006/gblsupp.htm

The troubleshooting chapter just tells you to check the log files in the inventory directory, not very useful:

http://download.oracle.com/docs/cd/B28359_01/install.111/b32006/ts.htm#i1090449

You will likely need to verify two things before the install on Windows:

  • Enough free disk on the drive you're installing on.
  • Running the install as an administrator.

Also, as kmarsh suggested, you can check that the components you install are responsive, for example do a tnsping after running netca and connect to the database after you create it...

Another option instead of installing is to clone an Oracle Home (for example 11.1.0.7 with latest patches), restoring a seed database (with all your schemas, tables) and adding the windows services with netca + oradim.exe. First steps are here:

http://download.oracle.com/docs/cd/B28359_01/em.111/b31207/oui6_cloning.htm#CEGFGIDH

share|improve this answer

Had the same problem, stupid Oracle :-(

Couldn't get around it in the Oracle silent install batch script so I created a helper VBscript that waits for the Oracle installer process to exit before continuing. Also because a separate process is spawned I don't think there is a way to get the exit code to see if it succeeded or failed. There may be other things you can check to see if it succeed or failed after it finishing installing though.

Call the Oracle universal installer silently:

setup.exe -silent -nowelcome -force -responseFile """"C:\response\oracle11g.rsp""""

Then call the vbscript:

cscript.exe //nologo "C:\waitfororacle.vbs"

Here is the waitfororacle.vbs script:

    Option Explicit

' Synopsys -
' This script is needed because of the way the Oracle Installer processes run.
' Setup.exe calls OUI.exe. The actual installation runs with java.exe, however
' java.exe does not run under the same process tree, so there is no way in the
' batch file to wait for the install to finish. To resolve this problem this 
' script will look for the instance of java.exe that is running the Oracle install
' and waits for it to finish.

Dim oProcess
Dim oProcess2
Dim oWMI
Dim colProcesses
Dim strWQL

Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
strWQL = "Select ExecutablePath from Win32_Process Where ExecutablePath Like '%OraInstall%'"

Do

    Set colProcesses = oWMI.ExecQuery(strWQL)
    For Each oProcess2 in colProcesses
         Set oProcess = oProcess2
    Next
    Wscript.Sleep 1000

Loop While IsEmpty(oProcess)

Do

    Set colProcesses = oWMI.ExecQuery(strWQL)
    Wscript.Sleep 3000

Loop Until colProcesses.Count = 0
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.