segunda-feira, 4 de junho de 2007

Variaveis de ambiente Oracle

As Variaveis de ambiente são variaveis é claro que agregam algum valor, estas dentro do linux são separadas por usuarios, eles podem contem informações sobre algum aplicativo, sistema operacional, ou qualquer outra coisa.
Elas são caregadas quando o usuario loga no sistema, e assim que chamadas retornam um valor.

As variaveis podem ser globais ou local.

Essa variaveis de ambiente não são obrigatórias para funcionamento do oracle, mas ajudam bastante não hora de se fazer algum tipo de manuteção.

Aqui vai uma pequena lista delas:

ORACLE_BASE - É a base de instalação para o ofa.
ORACLE_HOME - É onde será instalado o oracle propriamente dito.
ORACLE_SID - É a instancia "default".
ORACLE_PATH - É onde o so deve busca os aplicativos a serem executados, lembrando tambem que os aplicativos do so tambem devem estar dentro dessa variavel.
ORAENV_ASK - Caso esta variavel não esteja declarada o Oracle sempre vai perguntar a qual instance voce deseja conectar-se.
TNS_ADMIN - Onde estão localizados seu arquivos para networkins - TNSNAMES.ORA, SQLNET.ORA
NLS_LANGUAGE - Ela define como serão apresentadas as messagens de erro, e em que linguagem está teu banco.

Aqui tem um exemplo das variaveis de ambiente adionadas ao .bash_profile

#Added by Diogo Nomura

#Oracle environment variables
#Red Hat AS 4

ORACLE_BASE=/u01/app/oracle;
ORACLE_HOME=/u01/app/oracle/app/oracle/product/10.2.0;
ORACLE_SID=ORCL;
PATH=$PATH:$ORACLE_HOME/BIN;
ORAENV_ASK=NO;


Essa são as principais variaveis, e é a que o povo usa, elas podem ajudar muito.

Falow!!!!

domingo, 27 de maio de 2007

Linux /proc

Ainda não tenho muito para escrever sobre este artigo ainda, e também não me arriscaria a escrever uma receita de bola pra "tunnar" o seu kernel e coisas do genero.
Simplesmente fiquei impressionado com o poder do nosso amigo linux, e gostaria de compartilhar esse barganha.

Como sabemos no linux tudo é tratado como diretorio, (Tambem tem os daemons, mas esses são como serviços). Portanto um link simbolico pode ser visto como um diretorio, um nfs, ou um ponto de montangem tambem pode ser visto apenas como um diretorio, de facil navegação e facil acesso, certo? E por que não, já que tudo é diretório, não ter um diretorio que reflita as coisas que estão na memória do seu micro? É isto, o /proc é um pseudo diretório, criado na memória da sua maquina e acessado pelo linux, cuja o qual, pode ser acessado pelo /proc.

Bom quando nos listamos os processos, nos temos os PPID, podemos portanto alterar o valor de um arquivo na memoria, seria somente entrar na /proc/xxxxx. É claro que não é uma boa ideia fazer isso sem plena conciencia do que se esta fazendo. Outro causo interessante seria fazer um certo tipo de backup do arquivo que se encontra na memoria.

Dentro tambem do /proc encontramos diversas outras pastas muito importantes, como por exemplo: cpuinfo, meminfo, filesystem, kernel, modules.
Podemos alterar todos os parametros do kernel em tempo de execução, sem a necessidade de se rebootar a maquina. Não é lindo isso?

É claro que os valores dentro destes arquivos não podem ser alterados assim por um editor de texto, ou outra coisa, ele estão em execução e isto seria quase suicidio.

Para isso usamos o sysctl, que irá nos ajudar com este exemplo.

#hostname
sysctl -a -----Exibe todos os parametros, vamos então alterar um que não influenciaria no funcionamento do kernel.
#sysctl -a | grep kernel.hostname
#sysctl -w kernel.hostname="localhost.novodominio"
#hostname

Perceberam a alteração? Para voltar é simples, reiniciar a maquina, ou usar o sysctl novamente, este aplicativo alterar o valor da variavel em tempo de execução para fixar este valor temos que alterar os arquivos de configurações.

Referencias e Links:
http://www.ibm.com/developerworks/linux/library/l-adfly.html


Falow!