Este tópico responde a algumas das perguntas mais comuns feitas pelos usuários sobre o Oracle Universal Installer. As perguntas e respostas nesta seção de perguntas mais frequentes são agrupadas nas seguintes categorias:
| Desinstalando Componentes de Nível Superior Que Têm Dependências |
Uma ação pode ser chamada em um bloqueio de código?
Não. As ações não podem ser chamadas dentro de bloqueios de código.
Como o Universal Installer trata as ações específicas de plataformas ao instalar em uma plataforma diferente?
Algumas das ações são específicas da plataforma. O OSP vem com ações apenas para plataformas Windows e Solaris. As ações que não se aplicam a uma plataforma específica são ignoradas durante a instalação, e todas as consultas que não se aplicam a uma plataforma específica retornam o valor default.
Existe alguma ação para criar ou extrair um arquivo .exe?
Não existem ações para criar ou executar um arquivo autoexecutável (.exe) no OUI. Adicione o conteúdo do arquivo autoexecutável a um grupo de arquivos e, em seguida, use a ação copyGroup para copiar os arquivos. Se esse procedimento for usado, todos os arquivos poderão ser removidos durante a desinstalação. Uma vez que você instale o arquivo executável, poderá usar ações pré-criadas para executá-lo.
Como funciona a desinstalação?
Cada ação tem uma função de desfazer definida, que é executada na ordem inversa no momento da desinstalação. As ações podem ser especificadas para serem executadas durante a instalação, durante instalação/desinstalação ou somente durante a desinstalação. Cada ação que é especificada para ser executada durante a desinstalação adiciona uma entrada ao log do componente. Durante a desinstalação, o log é executado na ordem inversa com os métodos de desinstalação das ações.
O que é o log de ação do Installer?
Os logs de ação são gravados por sessão. O log de ação do installer é criado cada vez que uma nova sessão de instalação é inicializada. A função de cada ação e o fato de ela ocorrer durante a instalação ou desinstalação são eventos registrados para cada ação no log de ação do installer. Cada sessão é salva no arquivo installActionstime_stamp.log, no qual time_stamp tem o seguinte formato:
aaaa-mm-dd_hh-mm-ss[AM|PM].log
Os arquivos .err e .out também usam o mesmo time stamp em seus nomes de arquivo, facilitando o acompanhamento desses arquivos para cada sessão.
Como posso gerar um comando SQL?
Para gerar um comando SQL, use a ação spawn.
Por exemplo, para criar duas tabelas durante a instalação, use o script SQL identificado como ct.sql, por exemplo, contendo as seguintes linhas:
criar tabela &1 (número de col1, número de col2);
criar tabela &2 (número de col1, número de col2);
sair;
Para criar tabelas foo1 e foo2 com o SQL Plus durante a instalação usando a ação pré-criada, o parâmetro Install Command tem a seguinte forma:
No Windows NT, 95 ou 98, use uma das seguintes formas:
sqlplusw system/manager @x:/directory/ct.sql foo1 foo2
cmd /c sqlplus system/manager @x:/directory/ct.sql foo1 foo2 (somente NT)
command /c sqlplus system/mamager @x:/directory/ct.sql foo1.foo2 (Win 95/98)
sqlplus system/manager @x:/directory/ct.dql foo1 foo2 (No UNIX)
Para iniciar um banco de dados Oracle durante a instalação, use um script identificado como db.startup, por exemplo, que contém as seguintes linhas:
conexão interna
inicialização
sair;
Usando a ação spawn, o parâmetro Instalar Comando lê da seguinte forma, se o modo da linha do Server Manager está no seguinte caminho do sistema:
Na linha de comandos do UNIX:
svrmgr1 command=@/private1/Directory/db.startup
Na linha de comandos do DOS:
svrmgr1 @/private1/Directory/db.startup
Para desativar o banco de dados, use um script identificado como db.shutdown, por exemplo, que contém as seguintes linhas:
conexão interna
shutdown imediato
sair;
Usando a ação spawn (geração), o parâmetro Install ou Desinstall Command terá a forma a seguir, se o modo de linha do Server Manager estiver no caminho do sistema:
Na linha de comandos do UNIX:
svrmgr1 command=@/private1/Directory/db.shutdown
Na linha de comandos do DOS:
svrmgr1 @/private1/Directory/db.shutdown
É possível recuperar um inventário ORACLE_HOME usando consultas?
Você pode usar RgsQueries para testar os produtos instalados com a versão anterior do OUI. Pode usar AreasQueries para testar produtos instalados com OUI. Atualmente, não há nenhuma consulta que retorne a lista de todos os procedimentos instalados no Oracle home.
Como posso criar dois componentes que compartilhem os mesmos arquivos?
Um modo de criar dois componentes que compartilhem os mesmos arquivos é criar um componente separado contendo os arquivos compartilhados. Os dois componentes podem ter dependências no componente dos arquivos compartilhados. Esse componente separado seria instalado caso um dos dois componentes fosse instalado. Esse componente separado também seria desinstalado quando os outros dois componentes fossem desinstalados, e não haveria componentes dependendo desse.
Qual é a diferença entre um componente dependent e dependee?
Um componente dependent é normalmente um componente de nível superior que depende de um componente de nível inferior (dependee). Um componente dependent só pode ser instalado se todos os seus componentes dependee estiverem instalados.
Por exemplo: Se o componente A (obrigatório ou opcional) requer que o componente B seja instalado para que o componente A funcione corretamente, então A depende de B. A é o dependent, B é o dependee.
O que é dependência circular?
Uma dependência circular ocorre quando o componente (dependent) original depende de outro componente (dependee). Por exemplo, se A depende de B, B depende de C e C depende de A, então esta é uma dependência circular. Isso pode ocorrer ao editar componentes em sessões separadas e designar dependências. O Verificador de Estágio verifica dependências circulares.
As dependências circulares não são suportadas no OUI.
Como você exporta variáveis públicas?
As associações variáveis permitem que você associe uma variável de um componente subordinado a uma variável de um componente do qual ele depende. Você deve associar a variável foo em B com a variável correspondente pública em A. A exigência é que as duas variáveis sejam marcadas como "públicas" e que sejam do mesmo tipo.
Por exemplo, se o Componente A depende do Componente B, e o Componente B possui uma variável pública identificada como foo, uma variável no Componente A pode ser exportada para fornecer o valor de foo no Componente B.
Como posso designar uma string a uma variável numérica em um bloqueio de código?
Use a função parseInt para converter uma string em um número. Como as funções não geram exceções, a função parseInt retornará 0 se a string passada não representar um número inteiro válido.
Como Posso Usar Variáveis no Arquivo de Especificação do Assistente de Configuração?
Defina a variável CLASSPATH no arquivo de especificação do assistente de configuração como se segue:
Nome=<classpath>
Descrição=<Especificar o classpath necessário para acionar esse configtool>
Você também inclui CLASSPATH na lista de argumentos na seção GENERAL do arquivo de especificação.
Ao criar um assistente de configuração com este arquivo de especificação, os argumentos de instalação/desinstalação irão incluir o argumento CLASSPATH. Você deve especificar o CLASSPATH aqui na forma de uma expressão do mesmo modo que os argumentos foram especificados para ações/consultas/diálogos/funções.
Observação: Como o switch (-cp) já faz parte da especificação, você não tem que especificá-lo novamente.
Em uma situação ideal, você deve criar as seguintes constantes específicas da plataforma:
c_sPathSeparator e definir seu valor como ponto-e-vírgula (;) para plataformas Windows e dois-pontos (:) para plataformas UNIX.
c_sCLASSPATH e definir seu valor como %CLASSPATH% para plataformas Windows e $CLASSPATH para plataformas UNIX.
Após criar as constantes, você poderá usá-las conforme mostrado no exemplo a seguir, para certificar-se de que o classpath correto seja passado para o Java Runtime Environment (JRE):
NET8_LOCATION + "/lib/netcfg.jar" + c_sPathSeparator + c_sCLASSPATH
Como posso criar uma caixa de diálogo Multiitem?
A caixa de diálogo Multiitem exibe um prompt definido pelo usuário e quantos campos de entrada forem necessários à sua instalação. Cada campo de entrada tem um label associado exibido à esquerda do campo. Existem três tipos de campo de entrada disponíveis: POPDOWN, SECURE ou TEXTFIELD. Esses tipos de campo de entrada fazem distinção entre maiúsculas e minúsculas e devem ser inseridos conforme listado. Atualmente, só pode haver um campo POPDOWN por caixa de diálogo, que permite que você escolha dentre uma lista de opções disponíveis. O campo SECURE é normalmente usado ao informar senhas. O tipo TEXTFIELD é usado quando você tem que informar manualmente as informações solicitadas.
O que o campo de subtítulo exibe?
Em todas as caixas de diálogo padronizadas, você pode especificar um subtítulo que aparece diretamente abaixo do título. O valor default do campo de subtítulo é uma string vazia. Na caixa de diálogo Informações, você pode especificar um texto descritivo que aparece na parte de baixo da caixa de diálogo. O valor default do texto descritivo é nulo.
Como posso validar uma senha?
Ao usar a caixa de diálogo Senha, você pode utilizar o recurso de valor default da caixa diálogo para definir uma senha. (O valor default da caixa de diálogo não é validado.) A caixa de diálogo Senha executa a validação para verificar se você informou o mesmo valor nos campos Informar Senha e Confirmar senha. Este valor é definido para a variável que aceita a senha. O método de validação da variável pode adicionar mais validação, como verificação para ver se a senha está correta, etc.
Como posso efetuar operações em componentes específicos?
Por default, as operações são executadas em todos os componentes listados em component_table. Se você desejar apenas executar operações em componentes específicos, use o componente chave para selecionar os componentes individuais da lista. Por exemplo:
Amostra de Components_Table:
comp0 c:/components/component0.prp component0 "NT,Solaris" 1.0
comp1 c:/components/component1.prp component1 "NT,Solaris" 1.0
comp2 c:/components/component2.prp component2 "NT,Solaris" 1.0
patch3 c:/components/patch3.prp patch1 "NT,Solaris" 1.1
Exemplo de linha de comandos para especificar componentes:
ospSilent c:/myspec.txt -components {comp0, comp1, patch3}
Como posso especificar um valor default personalizado para o campo Oracle_Home em um sistema NT limpo?
Você pode adicionar a seguinte entrada ao arquivo oraparam.ini:
DEFAULT_HOME_LOCATION=/<HomeDirectory>
O nome do diretório é anexado à unidade com o maior espaço livre em disco e usado como um default. Esse valor só será usado se a instalação for em um sistema limpo.
Consulte o capítulo "Troubleshooting" do Oracle Universal Installer Concepts Guide para obter mais informações sobre como usar o arquivo oraparam.ini.
Como posso exibir as Notas da Release durante uma instalação do UNIX?
Ao final de uma instalação, o OUI solicita que você especifique uma ferramenta ou um comando para exibir as notas de release, se aplicável. Para usar vi ou emacs para exibir as notas de release, especifique xterm -e antes do nome da ferramenta. Por exemplo, xterm -e vi exibe uma janela xterm separado que imediatamente executa o comando vi <nome_arquivo>.
Quais são os diferentes códigos de saída retornados pelo OUI?
Para obter mais informações sobre os códigos de saída, consulte o Oracle Universal Installer Concepts Guide.
Como posso criar um arquivo de resposta que tenha todas as seleções que eu faço em uma sessão de instalação específica?
Para obter mais informações sobre como usar arquivos de resposta, consulte o capítulo "Customizing and Creating Response Files" do Oracle Universal Installer Concepts Guide . Consulte especialmente a seção "Creating a Response File with Record Mode".
Como o OUI determina a localização de seus arquivos temporários?
O OUI primeiro tenta a variável de ambiente $TEMP; se essa variável não é encontrada, ele tenta o $TMP; se não a encontra, apresenta /tmp como default no Solaris e C:/Temp no Windows.
Em que ordem o OUI designa valores a variáveis?
As variáveis são definidas na seguinte ordem de precedência:
Linha de comandos
Por que não consigo chamar a OUI em idiomas diferentes do inglês no Linux?
Se você não consegue chamar a OUI em um idioma diferente do inglês no ambiente Linux, defina as configurações de idioma no shell, usando os código do país e do idioma.
Exemplo de uma linha de comando para definir o idioma como francês:
setenv LANG fr_FR
setenv LC_ALL fr_FR
Por que não consigo ver a página Seleção de Nó em um sistema de cluster?
Se você não estiver vendo essa página em um sistema de cluster, verifique se o Oracle Clusterware foi instalado com sucesso. Em caso afirmativo, execute <CRSHome>/bin/olsnodes para verificar se o clusterware está ativo e em execução. O OUI não mostrará essa página se olsnodes não retornar a lista de nós. Este é um problema específico do sistema e não um problema do OUI. Se o Oracle Clusterware não estiver instalado e o sistema fizer parte de um clusterware de fornecedor, execute Disk1/install/<platform>/lsnodes para obter a lista de nós. O OUI não mostrará essa página se lsnodes não retornar uma lista de nós.
Por que eu vejo uma página Nós Selecionados relativa a um Oracle home vazio?
Isso ocorrerá se você tiver desinstalado o software desse home. O OUI continua a memorizar informações sobre o home e o nó. Remova o Oracle home da caixa de diálogo de inventário de instalação (veja mais detalhes na ajuda on-line) e, em seguida, inicie a instalação.
Por que o OUI mostra uma caixa de lista na página Produtos Disponíveis ou na página Tipos de Instalação?
Há muitas opções fornecidas e/ou a descrição dessas opções é muito longa para caber na lista, e as descrições estão em uma única página. Se houver três opções, uma descrição de três linhas por opção garante que a página do botão de rádio seja mostrada.
Por que o tamanho das páginas Tipos de Instalação e Resumo é diferente dos requisitos reais para o Oracle home?
O tamanho é cumulativo para todo o espaço necessário durante a instalação e para o produto instalado. Normalmente, uma parte do espaço (usado para vinculação) não é necessária após a conclusão da instalação. Se o tamanho estiver impreciso, os desenvolvedores de instalação deverão atualizar os deslocamentos nos componentes conforme o necessário. O tamanho real pode ser calculado executando o OUI com uma opção printdisk e certificando-se de que o temp, o espaço de temp para vinculação e o Oracle home, além de quaisquer arquivos que estejam fora do Oracle home (por exemplo, arquivos de banco de dados) sejam definidos como discos diferentes. O OUI cria um arquivo no diretório de logs especificando a utilização do disco após cada ação. O pico de utilização e a utilização final podem ser usados para definir os deslocamentos (instalação, temporário e pós-instalação).
Como posso depurar um erro durante a fase de instalação?
Se houver um problema com a fase Instalar, por exemplo, erros que ocorrem durante a instalação, verifique as últimas atualizações feitas no installActionstime_stamp.log. Se a última entrada for uma condição de erro para uma ação/consulta, esse possivelmente é uma problema com o script de instalação. O desenvolvimento da instalação deve fazer a triagem do problema. Algumas dicas para a triagem dessas condições:
A condição de erro era esperada? Se a resposta for sim, isso não representa um bug.
Os argumentos para a ação/consulta estão corretos? Se não estiverem, corrija-os, prepare novamente o componente e faça uma nova tentativa. Este é um problema do script de instalação.
Se as entradas para a ação/consulta estiverem corretas, mas a operação estiver incorreta, isso pode ser um problema de biblioteca. Verifique se esta é ou não uma biblioteca personalizada.
Se esse problema ocorrer durante a fase de Vinculação, verifique o installActionstime_stamp.log para ver a saída da operação make. Você pode executar a operação make sem problemas de fora do OUI? Se não puder, o problema é do arquivo make e não do OUI.
Como posso depurar problemas de instalação do cluster?
Verifique o installActionstime_stamp.log para ver há mensagem de erro apontando problemas encontrados pelo OUI ao submeter arquivos aos nós remotos.
Reinicie a instalação, selecionando o mesmo Oracle home e os mesmos nós, e vá para a página Produtos Disponíveis. O OUI efetuará uma verificação como pré-requisito para garantir que os nós estejam ativos e se você tem ou não acesso ao Oracle home e ao inventário. (Você também pode fazer as mesmas verificações manualmente.)
Se essa é uma instalação de cluster e você tiver problemas com a não-propagação dos arquivos aos nós remotos,verifique o installActionstime_stamp.log para ver se o arquivo foi incluído como parte da instalação nas ações copyGroup/copyExpandedGroup. Se esse não foi copiado e o arquivo foi gerado como parte de uma operação de vinculação, o problema é da instalação e não do OUI. Se o arquivo é de propriedade do OUI (como um arquivo do diretório OracleHome/inventory, root.sh, etc.), o problema é do OUI.
Se o problema estiver relacionado aos serviços / atualizações do registro feitos nos nós remotos, o problema é do OUI. A equipe do OUI fará a triagem do problema depois que você fornecer um pequeno teste reproduzível relativo ao problema. O OUI depende das APIs do SRVM para a maioria das operações de cluster. Os resultados dos esforços de triagem vão determinar se o OUI está desempenhando a tarefa de forma incorreta ou se o problema é do SRVM. Nesse caso, a equipe do OUI redesignará o bug de forma apropriada.
Como posso depurar problemas do assistente de configuração?
Se o problema é com os assistentes de configuração, interrompa todos os assistentes de configuração. Saia do OUI. Abra o installActionstime_stamp.log para ver a lista de assistentes de configuração que foram ignorados e as respectivas linha de comando. Execute as ferramentas na mesma ordem fora do OUI e veja se elas funcionam. Em caso negativo, o problema é com o assistente de configuração. Esse não é um problema com a instalação ou com o OUI.
Se o problema for de interrupção de um determinado assistente de configuração, verifique se a operação Interromper funciona para qualquer outro assistente de configuração. Se funcionar, o problema é do assistente de configuração. O OUI simplesmente tenta eliminar o processo para o assistente de configuração e depende do assistente responder ou não ao processo.
Se o problema é com uma falha de um assistente de configuração, esse é um problema com o assistente de configuração. Verifique o painel Detalhes ou o installActionstime_stamp.log para ver se há possíveis erros relatados pelos assistentes de configuração. Você pode usar essas informações para corrigir o problema ou relatar o problema para as equipes de desenvolvimento de instalação.
Se o problema for com os nomes do assistente de configuração, trata-se de um problema do script de instalação.
Quando tento fazer a preparação, recebo uma mensagem de erro "O bloqueio não estava disponível para obter acesso de gravação exclusivo na área de preparação."
Para evitar gravações simultâneas em uma área intermediária, existe um bloqueio que é mantido nessa área. Se você tiver outra sessão de preparação sendo executada e tentando fazer a preparação na MESMA área intermediária OU uma sessão de instalação tentando instalar pela MESMA área intermediária, você poderá receber essa mensagem de erro. Verifique se há uma sessão do Installer sendo executada e tentando fazer a preparação pela MESMA área intermediária.
Qual é o número máximo de entradas que posso adicionar a um grupo de arquivos?
Você pode adicionar até aproximadamente 6.000 arquivos a um grupo de arquivos. Se o número de arquivos no grupo ultrapassar esse número, ele impactará os requisitos de memória do tempo de instalação e diminuirá a velocidade da instalação. O mesmo limite deve ser colocado nos arquivos jar que são extraídos com a ação copyJarContents.
Como posso incluir notas da release traduzidas para o meu componente?
Como todas as notas de release devem ser incluídas no mapa de arquivos, você pode adicionar todos os arquivos de notas de release traduzidos e marcá-los para serem copiados para uma localização de destino específica. Você agora pode criar uma nota de versão para este arquivo.
Sugerimos que as notas de release traduzidas (um idioma diferente do inglês) sejam colocadas em um grupo de arquivos separado, e que a ação copyGroup siga a ação copyGroup original.
Tenho um produto que se estende a vários discos. Ao instalá-lo, o OUI fica pedindo o mesmo disco várias vezes. O que está acontecendo?
Certifique-se de que a "Operação de criação de vários CDs" seja a última operação efetuada na área intermediária. Se você preparar, deletar quaisquer componentes ou fizer quaisquer outras alterações na área intermediária, então terá que refazer a criação de vários cds no Oracle Software Packager. Além disso, verifique o seguinte:
A área intermediária não tem nenhum componente supérfluo. Esses são componentes que não são de nível superior existentes na área intermediária, mas nunca são instalados porque não há outros componentes que dependam deles.
Durante a preparação, certifique-se de que você só selecione as plataformas que são suportadas para o shiphome de destino.
Os exemplos a seguir usam componentes de nível superior que têm dependees de diferentes tipos oferecidos pelo Oracle Universal Installer.
Teste 1: Testar Componentes que Tenham o Tipo "necessário"de Dependees
Configurar
Crie 2 componentes de nível superior (A,B), cada um tendo o mesmo dependee (C) "necessário".
Instalar
I1a. A escolha de A resulta na instalação de A e C.
I1b. Posteriormente, a escolha de B resulta na instalação somente de B (seu dependee C foi instalado anteriormente).
Desinstalar
D1a. A escolha da opção A resulta na desinstalação apenas de A. C não é desinstalado, uma vez que possui apenas uma dependência "necessária" de B, e, portanto, ainda é necessário.
D1b. A escolha de A e C resulta na desinstalação de A, B e C. B também é desinstalado, porque seu C dependente "necessário" está sendo desinstalado e não pode ser instalado sem ele.
D1c. A escolha de C resulta na desinstalação de A, B e C. A e B também são desinstalados, uma vez que o C dependente "necessário" está sendo desinstalado e não pode não pode ser deixado instalado sem ele.
Teste 2: Testar Componentes que tenham o Tipo "1,mais" de Dependees
Configurar
Crie 2 componentes de nível superior (A,B), cada um tendo os MESMOS dois dependees (C,D) do tipo '1,mais'.
Teste de Instalação 2
I2.a. A escolha de A e de AMBAS as dependências (C,D) resulta na instalação de A,C,D.
I2.b. Posteriormente, a escolha de B (sem C, D), resulta na instalação apenas de B.
Teste de Desinstalação 2
D2.a1. A escolha de A resulta na desinstalação de A apenas.
D2.a2. A escolha de A e de UMA dependência de A (em A) resulta na desinstalação de todas as opções (A,B,C,D).
Observação: ocorre a desinstalação de B e D.
D2.a3. A escolha de somente UM C dependente (sob A) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A, B e D.
D2.a4. A escolha de somente um D dependente (sob A) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A, B e C.
D2.a5. A escolha de C e D dependentes (sob A) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A e B.
D2.b1. A escolha de B resulta na desinstalação de apenas B.
D2.b2. A escolha de B e de um C dependente (sob B) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A e D.
D2.b3. A escolha de somente um C dependente (sob B) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A, B e D.
D2.b4. A escolha de somente um D dependente (sob B) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A, B e C.
D2.b5. A escolha de C e D dependentes (sob B) resulta na desinstalação de todos (A,B,C,D).
Observação: ocorre a desinstalação de A e B.
Copyright © 1996, 2016, Oracle. Todos os direitos reservados.
Oracle é uma marca comercial registrada da Oracle Corporation e/ou de suas afiliadas.
Outros nomes podem ser marcas comerciais de seus respectivos proprietários.