quarta-feira, 7 de julho de 2010

Import / Export

imp system/senha@tns fromuser=usuario touser=usuario file=arquivo.dmp log=arquivo.log analyze=no ignore=yes buffer=100000


exp system/senha@tns owner=nomedoesquema file=nomedoesquema.dmp log= nomedoesquema.log compress=no consistent=yes statistics = none

segunda-feira, 31 de maio de 2010

OBJETOS INVÁLIDOS

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, 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

quarta-feira, 12 de maio de 2010

Número máximo de 20 sessões no Oracle XE

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;

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";

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.