Como Fazer Reorg do SQL Server 2005

Mudar  a Forma do Recovery

O primeiro passo seria  separar o Log e os Datafiles , mas como o banco será alterado para o modo Recovery Simple essa ação não será necessário.

Recovery Simple

Esse é o método que será adotado para as bases de dados. O simple não vai fazer gerar mais logs de transações, mais o backup full continuará sendo feito normalmente.

Ao fazer uma transação, essa é armazenada no datafile e no log de transação ao mesmo tempo, com o simple essa transação será armazenada somente no datafile.

Alterar o modo do banco para Simple:

ALTER DATABASE BANCO SET RECOVERY SIMPLE

Ou ainda pelo Management Studio

simple

Comando para fazer o backup da base de dados:

BACKUP DATABASE BANCO TO DISK = ‘CAMINHO\BANCO.BAK’

Ou pelo management Studio

backup

Reindex do Banco

Outro ponto importante é fazer o reindex dos índices das tabelas.

Existe uma Stored Procedure chamada sp_MSforeachtable que permite executar de forma recursiva umreindex para todas as tabelas dentro de um banco de dados com a utilização de uma única linha de código.

EXEC sp_MSforeachtable @command1= “DBCC DBREINDEX (‘?’, ”, 80)”

Importante saber que ao fazer o reindex o SQL faz um clone do banco, sendo assim ele cresce 100%, providencie espaço caso não haja.

SHRINK

No Microsoft SQL Server 2005, você pode reduzir um arquivo de log de transação ou os datafiles de um banco de dados para remover páginas não utilizadas. O mecanismo de banco de dados reutiliza espaço com eficiência.

Primeiramente faça o shrink do banco:

DBCC SHRINKDATABASE (N ‘BANCO’ )

Logo em seguida faça o Shirink dos arquivos ( datafiles, log)

DBCC SHRINKFILE (N ‘DATAFILE’ , 0, TRUNCATEONLY)

DBCC SHRINKFILE (N ‘LOG’ , 0, TRUNCATEONLY)

TRUNCATEONLY

Libera o espaço livre no final do arquivo para o sistema operacional, mas não realiza qualquer movimento dentro do arquivo. O datafile é reduzida apenas a ultima extensão alocada.

Ou pelo Manager

shrirink

Olha …. Consegui números bem significativos …

BANCO 1
Antes:  Database – 23GB   / Log – 180MB
Depois:  Database – 22GB / Log – 20MB
Tempo: Reindex – 31 Min / Shrink – 10Min

BANCO2
Antes: Database – 5GB / Log – 504KB
Depois:  Database – 2,8GB / Log – 504KB
Tempo: Reindex – 30 Min / Shrink – 5Min

BANCO3

Antes: Database – 20GB / Log – 7,5GB
Depois:  Database – 20GB / Log – 20MB
Tempo: Reindex – 45 Min / Shrink – 15Min

E é isso ai minha gente

Beijão

Kenia Milene

Teorias Sobre Deus e Steve Wonder

Deus é amor.
O amor é cego.
Steve Wonder é cego.
Logo, Steve Wonder é Deus.
Disseram-me que eu sou ninguém.
Ninguém é perfeito.
Logo, eu sou perfeito.
Mas só Deus é perfeito.
Portanto, eu sou Deus.
Se Steve Wonder é Deus
Eu sou Steve Wonder!
Meu Deus, eu sou cego!

Eu não poderia deixar de postar essa !!!!!

Abraços a todos

Kenia Milene

Finalmente Desbloqueando o Modem Huawei E226

Pois é minha gente todo mundo tanto pediu que eu consegui !!! eu consegui desbloquear o modem….
Tudo começou com um plano de dados super bacana que a oi me ofereceu e eu aceitei. Porém, como já sou usuária há um bom tempo do modem, mas com plano da TIM …. tive que desbloquear o bichinho !!!!
Bom primeiro passo é baixar o update do firmware do modem respeitando a operadora de cada um: http://www.huawei.com/pt/catalog.do?id=1626
2 – Instale o software que vem no modem da TIM normalmente (Caso seja uma nova instalação)
2 – Instale a atualização, importante instalar os 2 pacotinhos nessa ordem:
1 – E226Update_11.310.16.00.133.B409.exe
2 – UTPS11.002.03.20.133_MAC11.201.03.00.133.exe
Depois da instalação do primeiro pacote é necessário reiniciar, senão a instalação do segundo pacote da erro !!!
Após a segunda instalação reinicie e vamos configurar as bandas.
PS: Um técnico da OI indicou que após a atualização do firmware eu reinstalasse o software de conexão da TIM que a velocidade talvez aumentasse. Fiz o procedimento, mas a velocidade continuou a mesma, sendo assim, não é necessário.
Abra o software da TIM e clique em ferramentas/opções. No gerenciamento de perfil adicione o perfil de acordo com o seu plano.

TIM
Nome: TIM CONNECT FAST
APN: tim.br
User: tim
Senha: tim

OI
Nome: OI CONNECT FAST
APN: gprs.oi.com.br
User : oi
Senha: oi

CLARO
Nome: CLARO CONNECT FAST
APN: claro.com.br
User: claro
Senha: claro

VIVO
Nome: VIVO CONNECT FAST
APN: zap.vivo.com.br
User: vivo
Senha: vivo

Clique em avançado/ definições de protocolo de autenticação e clique em PAP

Bom… era isso pessoal, testei com todos os chips e todos eles funcionaram !!!

Estou testando o tal pacote de dados da OI, por enquanto no centro de são Paulo esta uma média de 200kbps em comparação a 800kbps da vivo por exemplo …..

De qualquer forma é uma nova banda .. e ainda não cobre todas as áreas.

Demorou mas saiu …. Antes tarde do que mais tarde !!!!
Abraços
Kenia Milene

CHUCK NORRIS O MELHOR DBA DO MUNDO

Bom como todos sabem o CHUCK NORRIS é o maior dos maiores ….
E é claro tem a sua forma peculiar de administrar um banco de dados

  • CHUCK NORRIS não faz DELETEs. Ele olha para os registros e eles correm de medo.
  • CHUCK NORRIS não cria PKs. Os registros simplesmente não atrevem-se a duplicar.
  • CHUCK NORRIS não usa LOG. Ele lembra de todos registros que alterou.
  • CHUCK NORRIS não usa LOG. Ele não vai falhar.
  • CHUCK NORRIS não cria INDEXes. Ele sabe que os registros retornarão o mais rápido que puderem.
  • CHUCK NORRIS sabe todos os erros do ORACLE de cor. Porque ele criou eles.
  • CHUCK NORRIS não faz cursos de ORACLE. A ORACLE é que faz cursos com ele.
  • CHUCK NORRIS instala o ORACLE sem ler o manual. (Quem você pensa que é para ter tentado isso?)
  • CHUCK NORRIS instala o ORACLE em um 486. Rodando KURUMIM. Em 2 minutos.
  • CHUCK NORRIS instala o MSSQL Server em um Pentium 100MHZ. Rodando Solaris. A partis dos fontes.
  • CHUCK NORRIS instala o DB2 em um 486. Rodando WINDOWS VISTA. Sem HD.
  • CHUCK NORRIS não tem Certificação. São as empresas que tentam tirar Certificação em CHUCK NORRIS. Em vão.
  • CHUCK NORRIS tem IGNORE CONTRAINTS automático. Ninguém restringe nada a CHUCK NORRIS. Ninguém.
  • CHUCK NORRIS SABE qual o problema de performance do banco. Ele só está dando uma chance do banco se arrepender. 5… 4… 3…
  • CHUCK NORRIS não cria STORED PROCEDURES. Todas suas Queries já se armazenam no banco, tentanto se esconder. Mas é inútil.

    CHUCK NORRIS não faz Modelo de Dados. Ele encara o banco até que ele faça o modelo sozinho.

  • CHUCK NORRIS instala o ORACLE sem a interface gráfica. E sem a interface texto. (Pergunte a ele você!)

    CHUCK NORRIS não dá DROP TABLE. Ele dá ROUNDHOUSE KICK TABLE.

  • MSSQL SERVER É muito mais rápido que ORACLE. Basta que o DBA seja CHUCK NORRIS.
  • Uma vez adaptaram o ROUNDHOUSE KICK para o ORACLE. Assim nasceu o TRUNCATE TABLE.
  • Uma vez CHUCK NORRIS deu um ROUNDHOUSE KICK em um banco poderoso. Hoje ele é conhecido por ACCESS.
  • SELECT SUM (FORÇA) FROM CHUCK_NORRIS; Internal error. Don ‘ t call the support.
  • SELECT CHUCK_NORRIS; Drop database sucessful.
  • SELECT ROUNDHOUSE_KICK FROM CHUC… Lost connection.
  • DELETE FROM CHUCK_NORRIS. Not Found. (Ele está atras de você, a ponto de dar um ROUNDHOUSE KICK!!!)
  • Se disser ao DBA CHUCK NORRIS que ” o problema está no banco “, é melhor que esteja se referindo ao Itaú.
  • TRIGGERS tem este nome porque CHUCK NORRIS sempre ameaçava atirar no banco quando ele não fazia algo automático.
  • Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte, Chuckbite.
  • ORACLE tem as versões Personal, Standard, Enterprise e ChuckNorris Edition. Mas nenhum computador é rápido o suficiente para rodá-lo.

E era isso …..

Kenia Milene

Scripts Úteis Para o Dia a Dia no Oracle (CANIVETE SUIÇO)

Ola Galera,

Bom pra quem é dba sabe que não se vive sem aqueles scripts que nos auxiliam no dia a dia, afinal não é todo mundo que tem toad ou alguma ferramenta gráfica por perto ou mesmo homologado pela empresa.

Então .. La vai um pequeno canivete suíço para lidar com o oracle.

VARIAVEIS DE AMBIENTE

CONN SYSTEM@INSTANCIA
SPOOL C:\LOGS

SET ECHO ON
SET TIMING ON
SET LINES 1000
SET SQLBL ON

ALTER SESSION SET NLS_DATE_FORMAT = ‘DD/MM/YYYY HH24:MI:SS’;
SELECT SYSDATE FROM DUAL;
SHOW USER

— VERIFICA INSTANCIA

SELECT * FROM GLOBAL_NAME;

DUMP

— VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

— CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%
GROUP BY OBJECT_TYPE;
SPOOL OFF

— NO TERMINAL LINUX

$export ORACLE_SID=INSTANCE

$exp system@INSTANCE BUFFER=1000000 FILE=EXP_INSTANCE_USER_DATA.DMP LOG=EXP_INSTANCE_USER_DATA.LOG OWNER=USUÁRIOS LISTADOS CONSISTENT=Y

gzip EXP_INSTANCE_USER_DATA*

DESATIVAÇÃO DE UM SCHEMA

— VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA

SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS, OSUSER, MACHINE, PROGRAM
FROM V$SESSION
WHERE USERNAME LIKE ‘USER%‘;

— VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

— VERIFICA ATRIBUTOS DO USUÁRIO

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;
SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE ‘USER%‘;

— VERIFICA PREVILEGIOS DO USUÁRIO

SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;
SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

— CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE LIKE ‘USER%
GROUP BY OBJECT_TYPE;

— DESATIVA USUÁRIO

ALTER USER USER ACCOUNT LOCK;
ALTER USER USER PASSWORD EXPIRE;

— VERIFICA STATUS DA CONTA

SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%’;
SPOOL OFF

DESATIVAÇÃO DE UMA INSTANCIA

— VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA

SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,
OSUSER, MACHINE, PROGRAM
FROM V$SESSION;

— VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS ;

— VERIFICA ATRIBUTOS DO USUÁRIO

SELECT * FROM DBA_USERS;

SELECT * FROM DBA_TAB_PRIVS;

— VERIFICA PREVILEGIOS DO USUÁRIO

SELECT * FROM DBA_SYS_PRIVS;

— VERIFICA PREVILEGIOS DE ROLE

SELECT * FROM DBA_ROLE_PRIVS;

— CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
GROUP BY OBJECT_TYPE;

— NO TERMINAL

EXPORT ORACLE_SID=INSTANCE

SQLPLUS / AS SYSDBA

SQL> SHUTDOWN IMMEDIATE;

EXECUÇÃO DE SCRIPT

— VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME
LIKE ‘USER%;

— VERIFICA SE O OBJETOS JÁ EXISTE

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,
CREATED, LAST_DDL_TIME, STATUS
FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%
AND OBJECT_NAME = ‘OBJECT_NAME’;

— CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%
GROUP BY OBJECT_TYPE;

— CONTA OBJETOS INVALIDOS

SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

— VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

— EXECUTA O SCRIPT

CONN USER@INSTANCE

@C:\CAMINHO\SCRIPT.SQL

CONN SYSTEM@INSTANCE

— VERIFICA SE O OBJETOS JÁ EXISTE

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,
CREATED, LAST_DDL_TIME, STATUS
FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%
AND OBJECT_NAME = ‘OBJECT_NAME’;
SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE ‘USER%’;

— CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%
GROUP BY OBJECT_TYPE;

— CONTA OBJETOS INVALIDOS

SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

— VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

— GERA SCRIPTS DOS OBJETOS INVALIDOS

SELECT ‘ALTER’||’ ‘|| OBJECT_TYPE ||’ ‘||OWNER ||’.’|| OBJECT_NAME || ‘ COMPILE;’
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

— VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;
SPOOL OFF

CRIACAO DE USUÁRIO

— VERIFICAR SE EXISTE ESSE USUÁRIO NO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

— CRIAR A TABLESPACE PARA O USUÁRIO

CREATE TABLESPACE INSTANCE_SCHEMA_01
DATAFILE ‘CAMINHO/INSTANCE_SCHEMA.DBF’ SIZE 64M
AUTOEXTEND ON NEXT 1M
SEGMENT SPACE MANAGEMENT AUTO;

— VERIFICA SE TEM ALGUMA ROLE PARA ESSE USUÁRIO

SELECT * FROM DBA_ROLES WHERE ROLE LIKE ‘%USER%‘;

SELECT * FROM DBA_SYS_PRIVS WHERE LIKE ‘%USER%‘;

SELECT * FROM DBA_TAB_PRIVS WHERE LIKE ‘%USER%‘;

— CRIAR O USUÁRIO

CREATE USER USER
IDENTIFIED BY ‘SENHA
DEFAULT TABLESPACE INSTANCE_SCHEMA_01
TEMPORARY TABLESPACE TEMP;

— APLICA GRANT

GRANT RESOURCE, CONNECT TO USER;

— VERIFICAR SE O USUÁRIO FOI CRIADO

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

— VERIFICA ROLES DO USUARIO CRIADO

SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;
SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

ALTERAR SENHA

— VERIFICAR OS USUÁRIOS DO SISTEMA

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

— ALTERA A SENHA

ALTER USER USER IDENTIFIED BY ‘SENHA‘;

— VERIFICAR OS USUÁRIOS DO SISTEMA

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;
SPOOL OFF

E era isso ai pessoal, espero que seja útil !!
Se alguém tiver mais algum script bacana só postar lá nos comentários !!

Abraços
Kenia Milene

DELL INSPIRON 1525 X WINDOWS XP !!!

Ola Minha gente !!!

Eu uso notebook a muito tempo como desktop e o meu satellite já não suportava mais fortes emoções …

Eis que comprei um DELL rosa Inspirion 1525 (LINDO) e veio com o Windows Vista Home. Até ai tudo bem testei o tal Vista que até então ainda não tinha mexido e confesso que NÃO GOSTEI !! ele é leve como um elefante africano, sendo assim minha nova maquina de 2GB parecia mais um 486 !!!

Bom …. antes de formatar de vez e colocar o Debian … queria ainda testar ele com o XP. Só que ao colocar o CD de boot o infeliz não reconhecia meus discos …

Como um notebook novinho podia estar com problemas de disco se o Vista estava instalado??? Só podia ser alguma coisa na BIOS !!!

Dito e feito ….. googlando por ai descobri que é necessário mudar a configuração dos discos para o XP reconhecer … Segue abaixo:

Ao iniciar o computador, pressione F2 para acessar o boot

Expanda a opção “Onboard Devices” e selecione “Flash Cache Module” e mude para OFF.

Selecione a opção “SATA Operation” e mude o tipo de disco de “AHCI” para “ATA”

Pronto … agora é só dar o boot novamente com o CD do Windows XP

Espero ter ajudado

Abraços

Kenia Milene

Windows XP Turbinado (LENDO 4GB)

Pois é minha gente a cada dia que passa a tecnologia avança mais…

Você compra um super PC aqui .. e um mês depois ele já esta obsoleto, ou ainda aquela super máquina que você comprou com 4GB de memória só pra jogar tem problemas com o Windows XP, porque ele por ser 32bits só reconhece até 3GB..

Conversando com um cara bacana que é MCSE, ele me disse que existe uma forma de fazer o Windows XP reconhecer TODOS os gigabytes que você comprou !!!!

Tem um arquivo de sistema oculto que se chama boot.ini que tem mais ou menos essa estrutura:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=AlwaysOff /fastdetect /PAE

Adicione o parâmetro /PAE ao final da ultima linha que é o (Physical Address Extension)

Para saber um pouco mais sobre o PAE e os parâmetros do boot.ini segue abaixo alguns link de referencia:

http://support.microsoft.com/kb/291988/en-us

http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx

E é só pessoal

Kenia Milene