Como você usa as ferramentas da Oracle a partir de scripts?

2

A maioria das ferramentas e scripts Oracle solicita que você passe a senha por meio da linha de comando - onde todos na mesma máquina podem vê-los. Exemplo:

exp <user>/<password> ...

Existe uma maneira de invocar esses comandos (como sqlplus , imp , exp ) de um script sem comprometer a segurança?

    
por Aaron Digulla 17.11.2009 / 10:37

2 respostas

4

Para imp e exp você pode fornecer parâmetros em um arquivo. Você pode alterar as permissões desse arquivo no sistema de arquivos para torná-lo legível apenas pelas pessoas escolhidas. Verifique a documentação da opção da linha de comandos PARFILE. A opção que você deseja incluir no PARFILE é a opção USERID.

Para o SQLPLUS você pode especificar a opção / nolog e fornecer o comando de conexão como a primeira linha do script SQL que você está executando.

sqlplus /nolog @myscript.sql

E então no myscript.sql:

connect user/pass@tnsname
...

Para o SQLPlus eu geralmente recomendo criar um arquivo ou usar um documento "aqui" para que você possa proteger o nome de usuário / senha de ser visto com o comando "ps -ef" no Unix / Linux. Se o nome de usuário / senha estiver contido em um arquivo de script ou arquivo sql, você poderá proteger usando as permissões apropriadas de leitura de usuário / grupo. Então você pode manter o usuário / passe dentro do arquivo como este em um shell script:

sqlplus -s /nolog <<EOF 
connect user/pass 
select blah from blah; 
quit 
EOF 
    
por 17.11.2009 / 15:40
5

Você pode usar "identificado externamente" para fazer a autenticação no nível do sistema operacional.

Veja: Guia do administrador de segurança avançada

para detalhes.

    
por 17.11.2009 / 11:14