PDA

Показать полную графическую версию : Oracle


Cr00t
02-08-2007, 22:14
Здравствуйте, Господа!

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

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

Sanja Alone
07-08-2007, 12:39
установки 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
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
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
Правда, мне пришлось сварганить autoit-скрипт, к-рый предварительно вычищал все "хвосты" от старых версий Оракла 8.x »
а можно пример этого скрипта?

Sanja Alone
13-09-2008, 01:33
Что и где подчистить описано в этом файле из документации к 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
Привет друзья, я кино, и я читал Ваш сайт очень глубоко, и я бы хотел, чтобы оценить вас с этой блестящей работы. Вы представили некоторые вещи так много, что не могу иметь различные слова благодарности.

Yohoo
08-11-2010, 13:01
Помогите разобраться с Oracle 10 Client, настраивал все аналогично, но не работает. :help:




© OSzone.net 2001-2012