Para listar os objetos inválidos na sua base de dados execute a sequinte instrução SQL
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS = 'INVALID' ORDER BY OWNER,OBJECT_TYPE;
Para recompilar objetos inválidos na base basta executar o seguinte comando:
@?/rdbms/admin/utlrp.sql
segunda-feira, 31 de maio de 2010
segunda-feira, 24 de maio de 2010
Alterando uma TableSpace
As vezes acontece de criarmos uma tabela apontando para uma tablespace errada, se isso acontecer não se desespere, temos como alterar esse valor passando a apontar para a tablespace desejada, para isso execute o seguinte script:
ALTER TABLE MOVE TABLESPACE
Como não iremos fazer isso para todas as tabelas criei um scrit para facilitar a vida. hehe
SELECT 'ALTER TABLE ' ( TABLE_NAME ) ' MOVE TABLESPACE ' FROM DBA_TABLES WHERE OWNER = 'DONO DO OBJETO';
Detalhes, se a tabela tiver campo BLOG.. vai da pau
OBS: Troque os parenteses () por PIPE
ALTER TABLE
Como não iremos fazer isso para todas as tabelas criei um scrit para facilitar a vida. hehe
SELECT 'ALTER TABLE ' ( TABLE_NAME ) ' MOVE TABLESPACE
Detalhes, se a tabela tiver campo BLOG.. vai da pau
OBS: Troque os parenteses () por PIPE
quarta-feira, 12 de maio de 2010
Matar sessão
Para matar a sessão de um determiando usuário primeiro você deve saber o seu SID e SERIAL, para isso basta executar a sql logado como SYS
SELECT SID, SERIAL#, USERNAME, MACHINE FROM V$SESSION
Após descobrir o SID e SERIAL execute:
ALTER SYSTEM KILL SESSION 'SID_DESEJADO, SERIAL#_DESEJADO' IMMEDIATE;
SELECT SID, SERIAL#, USERNAME, MACHINE FROM V$SESSION
Após descobrir o SID e SERIAL execute:
ALTER SYSTEM KILL SESSION 'SID_DESEJADO, SERIAL#_DESEJADO' IMMEDIATE;
Alterando valor do total de erros de login
O Oracle por questões de segurança limita o usuário errar a sua senha no máxim 10 vezes, após isso a conta do usuário é bloqueada gerando o erro ORA-28000, para evitar isso podemos alterar o parâmetro que limita essa quantidade, lembrando que fazendo isso você estará tirando a segurança do seu banco de dados, para verificar esse valor execute o seguinte script como SYS:
SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT' AND RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS'
A coluna LIMIT informa o total de erros de login. Para alterar esse valor faça:
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS "NOVO_VALOR";
SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT' AND RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS'
A coluna LIMIT informa o total de erros de login. Para alterar esse valor faça:
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS "NOVO_VALOR";
Desbloqueando Usuario
Quando você recebe o erro ORA-28000: The account is locked é porque o usuário errou a senha inúmeras vezes, pra ser mais específico 10 vezes, isso é o valor default que o oracle permite. Então para desbloquear a conta do usuário você deverá executar o seguinte script como SYS:
ALTER USER "NOME DO USUARIO" IDENTIFIED BY "NOVA SENHA" ACCOUNT UNLOCK;
Com isso você irá definir uma nova senha para o usuário bloqueado e ele estará disponível para fazer o login no Oracle.
ALTER USER "NOME DO USUARIO" IDENTIFIED BY "NOVA SENHA" ACCOUNT UNLOCK;
Com isso você irá definir uma nova senha para o usuário bloqueado e ele estará disponível para fazer o login no Oracle.
sexta-feira, 7 de maio de 2010
Recuperar senha do usuário SYS
Caso você tenha esquecido a senha do usuario SYS ou SYSTEM, não se desespere hehe, no Oracle tem como você redefinir essas senhas. Para isso você deve seguir os seguintes passos:
1 - remova o arquivo PWD.ORA , caso esteja com medo basta renomeá-lo. Esse arquivo encontra-se no diretorio $ORACLE_HOME/database ou $ORACLE_HOME/dbs
2 - No prompt de comando digite: ORAPWD file= diretorio\PWD.ORA password=novasenha
Pronto com isso você redefiniu a senha do usuario SYS, para testar entre no sqlplus utilizando a nova senha.
SQLPlus sys/novasenha as sysdba
1 - remova o arquivo PWD
2 - No prompt de comando digite: ORAPWD file= diretorio\PWD
Pronto com isso você redefiniu a senha do usuario SYS, para testar entre no sqlplus utilizando a nova senha.
SQLPlus sys/novasenha as sysdba
Descobrindo objetos criados
Para listar os objetos criados em uma determinada data/hora basta fazer uma consulta na tabela DBA_OBJECTS, nela existe um campo CREATED que indica a data e hora em que o objeto foi criado.
Isso me salvou de deixar "lixo" para o usuario SYS.. hehe
Isso me salvou de deixar "lixo" para o usuario SYS.. hehe
Assinar:
Postagens (Atom)