sexta-feira, 28 de dezembro de 2012

SQL's Oracle

Segue alguns SQL para ajudar na administração de servidores Oracle:

# CONTAR PROCESSOS OCIOSOS
select count (*)
from v$session
where username is not null and
status <> 'ACTIVE';
# LISTAR ESSES PROCESSOS
select username, machine, action, status
from v$session
where username is not null and
status <> 'ACTIVE';
# RETORNA OS SELECTS PESADOS RODANDO NO MOMENTO
select s.sql_address, s.sql_hash_value
from v$session s, v$session_wait w
where w.event like 'db file%read'
and w.sid = s.sid ;
# PASSA O NÚMERO DAS ESTATÍSTICAS
select statistic#, value
from v$sesstat
where rownum <= 10
order by value;
# PASSA O NÚMERO DAS ESTATÍSTICAS
select statistic#, value
from v$sysstat
where rownum <= 10
order by value;
# INFORMA AS CONSULTAS QUE ESTÃO TENDO MUITO PARSE (FASES DE COMPILAÇÃO DOS SELECTS)
select name, value
from v$sysstat
where name in ('parse time cpu','parse time elapsed','parse count (hard)','CPU used by this session');

quinta-feira, 27 de dezembro de 2012

Redirecionamentos

Tive muitas dúvidas quando precisei tratar entrada e saída de comando, segue abaixo algumas dicas de como usá-los:
  • > – Redireciona a saída padrão para um arquivo
  • >> – Redireciona a saída padrão pra um arquivo sem apagar o conteúdo do arquivo
  • 2> – Redireciona a saída de erro para arquivo
  • 2>> – Redireciona a saída de erro anexando o conteúdo em um arquivo
  • >&2 – Redireciona a saída padrão para saída de erro
  • 2>&1- Redireciona saída de erro para saída padrão
  • | – Conecta a saída padrão na entrada padrão de outro arquivo

quinta-feira, 20 de dezembro de 2012

Error MySql 'mysql.proc' don't loader or don't exist

Execute o comando:

mysql_fix_privilege_tables
# Caso ocorra algum erro execute com o parâmetro da senha:
mysql_fix_privilege_tables --password=senha_de_root
# Depois reinicie o mysql.
/etc/init.d/mysqld restart

Instalação Servidor OCS


O que é OCS?

(OCS Inventory NG) é um software livre que permite aos usuários para conhecer seus ativos de rede. OCS-NG coleta informações sobre o hardware e software de máquinas em rede que executam o programa cliente OCS ("Agente OCS Inventory"). OCS pode ser utilizado para visualizar o inventário através de uma interface web.

Mãos a obra!!!!

Dependências:
  • httpd
  • php, php-gd, php-pecl-zip, php-mysql, php-mbstring
  • mysql-server
  • perl-Apache-DBI, perl-XML-Simple, perl-SOAP-Lite, perl-Net-IP, perl-XML-SAX-Base perl-Compress-Zlib, perl-XML-Entities, mod_perl
dica: instale o repositório rpmforge, lá tem todos os pacotes perl, instalei tudo usando yum  :D

Habilite o inicio automático dos serviço httpd e mysqld

chkconfig --level 12345 httpd on
chkconfig --level 12345 mysqld on

Instalando o OCS Iventory

tar -zxvf OCSNG_UNIX_SERVER-2.0.5.tar.gz -C /usr/src
ln -s /usr/src/OCSNG_UNIX_SERVER-2.0.5/ /usr/src/ocs/
vim /usr/src/ocs/setup.sh
DB_SERVER_USER="ocs"  alterar_para DB_SERVER_USER="root"
DB_SERVER_PWD="ocs"   alterar_para DB_SERVER_PWD="senha_root
./setup

Tradução das perguntas

O banco de dados está no mesmo servidor de instalação do OCS? [Enter]
Está rodando na porta 3306? [Enter]
O binário do apache está em /usr/sbin/httpd? [Enter]
O arquivo de configuração principal do apache está em /etc/httpd/conf/httpd.conf? [Enter]
A conta de usuário que está rodando o apache é [apache]? [Enter]
O grupo é [apache]? [Enter]
O diretório de configuração do apache para incluir configurações é /etc/httpd/conf.d/? [Enter]
O binário do interpretador Perl está em /usr/bin/perl? [Enter]
Deseja configurar servidor de comunicação neste servidor? [Enter]
Armazenar os logs do servidor de comunicação em /var/log/ocsinventory-server? [Enter]
Afim de garantir que o apache carregue o mod_perl antes do OCS Inventory, posso renomear o arquivo ‘ocsinventory-server.conf’ para ‘z-ocsinventory-server.conf’? [Enter]
Você quer configurar o Web Administration Console neste computador? [Enter]
Depois de falar um pouco sobre atualização e um bla bla bla básico, vem a pergunta: Deseja continuar? [Enter]
Posso copiar os arquivos estáticos do Server Administration para o PHP Web Console em /usr/share/ocsinventory-reports? [Enter]
Posso criar os diretórios de escrita/cache para pacotes de deployement e IPDiscover em /var/lib/ocsinventory-reports? [Enter]

Confirme todas as perguntas e reinicie o serviço httpd

/etc/init.d/httpd restart

Acesse no navegador: http://ip_do_seu_server/ocsreports.
As advertências referentes a php são corrigidas no arquivo /etc/php.ini.
Informe a senha do banco e avance a tela.
Avance e atualize a tela.
Escolha a linguagem que preferir e logue como administrador.
login: admin
senha: admin
Para finalizar existem umas últimas configurações necessárias, apenas siga as instruções da caixa vermelha e pronto!!!

sexta-feira, 14 de dezembro de 2012

Erro Oracle: ORA-00020

Esse erro ocorre devido os processos do Oracle terem atingido o máximo, vamos a solução:

# Logue com o usuário oracle no servidor e execute os seguintes comandos:

sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown abort
SQL> startup

Explicação:
Devido o banco está apresentando erros de processos, praticamente nada poderá ser feito (pelo menos eu não consegui). Com o shutdown abort o bando será desmontado de qualquer forma, independe dos erros apresentados e com o startup o mesmo voltará a funcionar, mas logo o número de processos irá atingir seu limite e o erro voltará a ocorrer.

# Comando para visualizar a quantidade máxima de processos:

SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
processes                            integer     150

# Comando para visualizar a quantidade de processos atualmente usados pelo servidor:

SQL> select count(*) from v$process;

  COUNT(*)
----------
        97

# Comando para aumentar a quantidade de processos:

SQL> alter system set processes=300 scope=spfile;

# Para que a configuração entre em vigor é necessário reiniciar o banco

SQL> shutdown immediate
SQL> startup

# Execute mais uma vez o comando para visualizar a quantidade máxima de processos:

SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
processes                            integer     300

terça-feira, 4 de dezembro de 2012

Liberar acesso externo ao MySQL no Linux

Comando:
grant all privileges on *.* to root@192.168.0.2 identified by 'senha';

Explicação:
A máquina de IP 192.168.0.2 poderá acessar o MySQL com o usuário root.

Comando:
grant all privileges on *.* to root@'%' identified by 'senha';

Explicação:
O usuário root poderá acessar o MySQL a partir de qualquer máquina.

Quebrando senha de root do MySQL no Linux

1 - Parar o serviço do MySQL
/etc/init.d/mysql stop

2 - Iniciar o mysqld (servidor daemon) com a opção –skip-grant-tables
nohup mysqld_safe --skip-grant-tables &

3 - Conectar no mysql usando o usuário root sem senha
mysql -u root

4 - Dentro do mysql, executar os comandos abaixo para atualizar a senha do usuário root
update user set password = password('senha_nova') where user = 'root';
flush privileges;
quit

5 - Iniciar o serviço do MySQL
/etc/init.d/mysql start

6 - Para testa a senha nova digite:
mysql -u root -p

7 - Informe a senha de root e pronto!

segunda-feira, 3 de dezembro de 2012