Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Oracle (http://forum.oszone.net/showthread.php?t=88004)

Cr00t 02-08-2007 22:14 622165

Oracle
 
Здравствуйте, Господа!

Хотелось бы узнать, нет ли информации на счет установки Oracle 9 в автоматическом или полу- режиме. Может быть есть ключи, с помощью которых можно компоненты для тихой установки выбирать?

Ещё интересует тихая установка патчей для Oracle 9

Sanja Alone 07-08-2007 12:39 624034

Цитата:

установки Oracle 9 в автоматическом
Код:

setup.exe -silent -responseFile "файл_ответов"
В дистрибутиве Оракла обычно уже есть готовые шаблоны файлов ответов с комментариями для разных случаев жизни - мне в свое время был нужен clientruntime.rsp. Немного подправляешь под себя и ставишь...

Вот тебе мой clientruntime.rsp с вырезаными комментариями в кач-ве примера:
Код:

[General]
RESPONSEFILE_VERSION=1.7.0

[SESSION]
UNIX_GROUP_NAME=<Value Unspecified>
FROM_LOCATION="L:\Inst\Oracle\client9.2\stage\products.jar"
FROM_LOCATION_CD_LABEL=<Value Unspecified>
NEXT_SESSION_RESPONSE=<Value Unspecified>
ORACLE_HOME="c:\oracle\ora92"
ORACLE_HOME_NAME="OraHome92"
TOPLEVEL_COMPONENT={"oracle.client","9.2.0.1.0"}
DEINSTALL_LIST={"oracle.client","9.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=false
SHOW_SUMMARY_PAGE=true
SHOW_INSTALL_PROGRESS_PAGE=true
SHOW_REQUIRED_CONFIG_TOOL_PAGE=true
SHOW_OPTIONAL_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=true
SHOW_DEINSTALL_PROGRESS=true
LOCATION_FOR_DISK2=<Value Required>
LOCATION_FOR_DISK3=<Value Required>

[oracle.client_9.2.0.1.0]
INSTALL_TYPE="Runtime"


mikola1983 16-08-2007 14:25 628523

Sanja Alone, давно искал подобную тему постил и тут и на sql.ru и вдруг нечаянно наткнулся на ваш пост)... но что то все равно у меня не получается ..начинается установка создается дериктория появляется в ней файл install.platform и все .....
что ето может бытьTOPLEVEL_COMPONENT={"oracle.client","9.0.1.1.1"}

Код:

[General]
RESPONSEFILE_VERSION=1.7.0
[SESSION]
FROM_LOCATION="\\Distr\Oracle_9.0\stage\products.jar"
FROM_LOCATION_CD_LABEL=<Value Unspecified>
NEXT_SESSION_RESPONSE="\\Distr\Oracle_9.0\clientruntime1.rsp"
ORACLE_HOME="C:\oracle\products\9.0.1""
ORACLE_HOME_NAME="ORAHOME"
SHOW_SPLASH_SCREEN=true
SHOW_WELCOME_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=false
SHOW_SUMMARY_PAGE=true
SHOW_INSTALL_PROGRESS_PAGE=true
SHOW_REQUIRED_CONFIG_TOOL_PAGE=true
SHOW_OPTIONAL_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
LOCATION_FOR_DISK2="\\distr1\Oracle\Oracle 9i Disk2\"
LOCATION_FOR_DISK3="\\distr1\Oracle\Oracle 9i Disk3\"
[oracle.client_9.0.1.1.1]
INSTALL_TYPE="Runtime"


Sanja Alone 16-08-2007 15:38 628578

mikola1983
Цитата:

появляется в ней файл install.platform и все .....
На XP ставилось без всяких проблем. Правда, мне пришлось сварганить autoit-скрипт, к-рый предварительно вычищал все "хвосты" от старых версий Оракла 8.x (что чистить описано в документации - всего 18 пунктов, причем н-рые с очепятками :) ).

Цитата:

что ето может быть TOPLEVEL_COMPONENT
Из описания следует, что этот параметр изменять не нужно:
Код:

#-----------------------------------------------------------------------------
# Name          : TOPLEVEL_COMPONENT
# Datatype      : StringList
# Description  : Top-level product and version to install
#                The format is of the form {"<Internal name>", "<version>"}
# Note          : DO NOT CHANGE THE DEFAULT VALUE.
#                To install different top-level products, use one of the
#                other response file templates
# Mandatory    : Yes
#-----------------------------------------------------------------------------


HUGO75 12-09-2008 23:30 897625

Цитата:

Цитата Sanja Alone
Правда, мне пришлось сварганить autoit-скрипт, к-рый предварительно вычищал все "хвосты" от старых версий Оракла 8.x »

а можно пример этого скрипта?

Sanja Alone 13-09-2008 01:33 897750

Что и где подчистить описано в этом файле из документации к Oracle 9: <Oracledoc>/install/install.htm
Цитата:

1. Log in as a member of the Administrators group.
2. Ensure that you first follow the instructions in "Stopping Oracle Services on Windows Platforms".
3. Start the registry at the MS-DOS command prompt: C:\> regedt32
4. Go to HKEY_CLASSES_ROOT.
5. Delete any key that starts with Oracle, ORA, or ORCL.
6. Go to HKEY_LOCAL_MACHINE\SOFTWARE.
7. Delete the ORACLE and Apache Group keys.
8. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
9. Delete all keys under here that begin with ORACLE.
10. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Eventlog\Application.
11. Delete all keys under here that begin with ORACLE.
12. Go to HKEY_CURRENT_USER.
13. Delete ORACLE.
14. Go to HKEY_CURRENT_USER\SOFTWARE\ORACLE.
15. Delete keys that start with Oracle or ORCL (if any exist).
16. Delete any Oracle keys (if any exist).
17. Close the registry.
18. Restart your computer.
А скрипт выглядел так (немного корявенько и неоптимально, но эффективно):
Код:

#include <File.au3>
#include <Array.au3>

Func _OraclePrevDel()
        Local $key_services='HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
        Local $key_servelog='HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application'
        Local $key_hklmsoft='HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE'
        Local $key_hkcusoft='HKEY_CURRENT_USER\SOFTWARE\ORACLE'
        Local $key_hkcu='HKEY_CURRENT_USER\ORACLE'
        Local $key_hkcr='HKEY_CLASSES_ROOT'
        Local $key_path='HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'

        Local $i=0, $j=0
        Dim $t[1]
        Local $inst_loc=RegRead($key_hklmsoft,'inst_loc')
        Local $ORACLE_HOME=RegRead($key_hklmsoft,'ORACLE_HOME')
        Local $ORACLE_GROUP_NAME=RegRead($key_hklmsoft,'ORACLE_GROUP_NAME')

        ;Остановка служб
        If FileExists(@SystemDir & '\net.exe') Then
                $pid = Run(@Comspec & ' /c net start', '', 0, 6)
                $f  = ''
                While not @error
                        $f = $f & StdoutRead($pid)
                Wend
                $pid=StringSplit(StringReplace($f,@LF,''),@CR)
                For $i=1 To $pid[0]
                        If StringLeft(StringStripWS($pid[$i],8),3)="Ora" Then
                                RunWait(@Comspec & ' /c net stop ' & StringStripWS($pid[$i],8), '', @SW_HIDE)
                        EndIf
                Next
                $f=0
                $pid=0
        EndIf

        ;inst_loc
        If StringRight($inst_loc,10)='\Inventory' Then
                $inst_loc=StringTrimRight($inst_loc,10)
        EndIf
        If FileExists($inst_loc) Then
                DirRemove($inst_loc,1)
        EndIf

        ;ORACLE_HOME
        If FileExists($ORACLE_HOME) Then
                DirRemove($ORACLE_HOME,1)
        EndIf

        ;menu
        If FileExists(@ProgramsCommonDir & '\' & $ORACLE_GROUP_NAME) and $ORACLE_GROUP_NAME<>'' Then
                DirRemove(@ProgramsCommonDir & '\' & $ORACLE_GROUP_NAME,1)
        EndIf
        If FileExists(@ProgramsCommonDir & '\' & "Oracle Installation Products") Then
                DirRemove(@ProgramsCommonDir & '\' & "Oracle Installation Products",1)
        EndIf

        ;Services
        $i=0
        While 1
                $i=$i+1
                $key = RegEnumKey($key_services, $i)
                If @error <> 0 Then
                        $key=''
                        ExitLoop
                EndIf
                If StringLower(StringLeft($key,6))="oracle" Then
                        $t[$j]=$key_services & '\' & $key
                        ReDim $t[UBound($t) + 1]
                        $j=$j+1
                EndIf
        WEnd
        If UBound($t)>1 Then
                ReDim $t[UBound($t) - 1]
        EndIf
        For $i=0 To UBound($t)-1
                If $t[$i]<>'' Then
                        RegDelete($t[$i])
                EndIf
        Next

        ;Services - Eventlog
        $i=0
        $j=0
        ReDim $t[1]
        $t[0]=''
        While 1
                $i=$i+1
                $key = RegEnumKey($key_servelog, $i)
                If @error <> 0 Then
                        $key=''
                        ExitLoop
                EndIf
                If StringLower(StringLeft($key,6))="oracle" Then
                        $t[$j]=$key_servelog & '\' & $key
                        ReDim $t[UBound($t) + 1]
                        $j=$j+1
                EndIf
        WEnd
        If UBound($t)>1 Then
                ReDim $t[UBound($t) - 1]
        EndIf
        For $i=0 To UBound($t)-1
                If $t[$i]<>'' Then
                        RegDelete($t[$i])
                EndIf
        Next

        ;HKCR
        $i=0
        $j=0
        ReDim $t[1]
        $t[0]=''
        While 1
                $i=$i+1
                $key = RegEnumKey($key_hkcr, $i)
                If @error <> 0 Then
                        $key=''
                        ExitLoop
                EndIf
                If StringLower(StringLeft($key,3))="ora" or StringLower(StringLeft($key,4))="orcl" Then
                        $t[$j]=$key_hkcr & '\' & $key
                        ReDim $t[UBound($t) + 1]
                        $j=$j+1
                EndIf
        WEnd
        If UBound($t)>1 Then
                ReDim $t[UBound($t) - 1]
        EndIf
        For $i=0 To UBound($t)-1
                If $t[$i]<>'' Then
                        RegDelete($t[$i])
                EndIf
        Next
        $key=0

        ;Path
        $j=0
        ReDim $t[1]
        $t[0]=''
        $path=StringSplit(RegRead($key_path,"Path"),';',1)
        For $i=1 To $path[0]
                If StringInStr($path[$i],$inst_loc)=0 and StringInStr($path[$i],$ORACLE_HOME)=0 Then
                        $t[$j]=$path[$i]
                        ReDim $t[UBound($t) + 1]
                        $j=$j+1
                EndIf
        Next
        If UBound($t)>1 Then
                ReDim $t[UBound($t) - 1]
        EndIf
        $p=_ArrayToString($t, ';')
        RegWrite($key_path,"Path","REG_EXPAND_SZ",$p)
        $p=0
        EnvUpdate()

        ;удаление веток
        RegDelete($key_hkcu)
        RegDelete($key_hkcusoft)
        RegDelete($key_hklmsoft)

        ;удаление временных каталогов
        ReDim $t[1]
        $t[0]=''
        If FileExists(@TempDir & '\' & 'OraInstall*') Then
                $t=_FileListToArray(@TempDir,'*',2)
                For $i=1 To $t[0]
                        If StringLower(StringLeft($t[$i],10))="orainstall" Then
                                DirRemove(@TempDir&'\'&$t[$i],1)
                        EndIf
                Next
        EndIf
EndFunc


Cine22 13-07-2010 15:14 1452566

Привет друзья, я кино, и я читал Ваш сайт очень глубоко, и я бы хотел, чтобы оценить вас с этой блестящей работы. Вы представили некоторые вещи так много, что не могу иметь различные слова благодарности.

Yohoo 08-11-2010 13:01 1537531

Помогите разобраться с Oracle 10 Client, настраивал все аналогично, но не работает. :help:


Время: 20:09.

Время: 20:09.
© OSzone.net 2001-