quinta-feira, 15 de novembro de 2012

O Script changePerm.sh


Para que serve?

Durante a instalação patchs de banco de dados, todos os novos arquivos e diretórios são criados com acesso restrito. Para usuários ou aplicativos de terceiros com um grupo diferente do grupo do usuário Oracle (normalmente definido como dba), que tentarem acessar os utilitários ou bibliotecas do software Oracle, serão apresentadas mensagens de erros de permissão, conforme apresentada abaixo.

$ id
uid=701(test) gid=81(dbus) groups=81(dbus)
$ sqlplus
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
Exit 1

Para corrigir este problema, deve-se executar o script changePerm.sh. Este script permitirá que os usuários que não pertencem ao grupo dba possam acessar e executar as ferramentas no diretório ORACLE_HOME.

Este script está localizado no ORACLE_HOME/install em Unix e Linux (não é necessário para o sistema operacional Windows). Este script só deve ser usado para as versões do Oracle 9.x e 10g.

O que o script faz?

O script changePerm.sh, varre um conjunto de arquivos e diretórios, atribuindo a permissão do grupo “dba” (normalmente definido nas instalações) e repassando a permissão de execução aos demais grupos.  Com  isso, os demais grupos serão capazes de executar os  arquivos.

Exemplo de execução do script changePerm.sh

$ id
$  uid=3000(oracle) gid=3000(dba) groups=3000(dba)
$ cd $ORACLE_HOME/install
$ ./changePerm.sh
----------------------------------------------------------------------
Disclaimer: The purpose of this script is to relax permissions on some of the files in the database Oracle Home so that all clients can access them.
Please note that Oracle Corporation recommends using the most restrictive file permissions as possible for your given implementation.  Running this script should be done only after considering all security ramifications.
----------------------------------------------------------------------
Do you wish to continue (y/n) [n]: y
Finished running the script successfully
Please see /tmp/changePerm_err.log for errors and /tmp/changePerm.log for the log of events

A partir da versão 11g, as permissões sob o ORACLE_HOME estão redefinidas permitindo que demais usuários com grupos diferentes possam executar as ferramentas diretamente. Portanto para a versão 11g não é mais necessário a execução deste script.




MSc. Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com