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
MSc. Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com