BLOG RODRIGO ALMEIDA

Tag: database

Evento: Descubra os benefícios de atualizar para o Oracle Database 11g

by Rodrigo Almeida on jul.12, 2010, under Diversos

Olá,

Segue mais um evento sobre banco de dados Oracle 11g em São Paulo no dia 15/07/2010 no Hotel Grand Hyatt.

Oracle Corporation
Conheça o Primeiro Oracle Database Machine. Inscreva-se já
Descubra os benefícios de atualizar para o Oracle Database 11g

Por que empresas de todos os tamanhos estão atualizando para o Oracle Database 11g? Por causa dos seguintes resultados: o Oracle Database 11g ajuda as organizações a reduzir os custos de computação com simultânea melhoria de desempenho, escalabilidade, disponibilidade e segurança.

Junte-se a nós neste evento gratuito no qual os especialistas da Oracle descreverão os principais recursos inéditos que possibilitam reduzir os custos de TI, maximizar o desempenho das consultas e efetuar atualizações com os usuários on-line. Saiba como os clientes estão:

  • Consolidando em grids de armazenamento e servidores escalonáveis
  • Compactando dados para reduzir o footprint (volume) de armazenamento
  • Melhorando o desempenho, a disponibilidade e a segurança do banco de dados
  • Reduzindo os custos de TI por meio do datacenter .

Não perca esta oportunidade exclusiva de encontrar os especialistas da Oracle e conhecer os maiores segredos sobre a atualização para o Oracle Database 11g. Descubra como reduzir os custos de TI e aumentar a qualidade dos níveis de serviço em toda a empresa.

Para mais informações ligue: 11 3849.2133.

Registre-se Agora

Dia 15 de julho, 2010
Horário 8h30 às 12h00

Grand Hyatt São Paulo

Piso Térreo Sala Grand III – Av. das Nações Unidas, 13.301

Agenda
8h00 Credenciamento
9h00 Abertura – Executivo Oracle
9h15 Why Standardize on Oracle Database 11g? *
10h00 Estudo de Caso implementado pelo parceiro Discover
10h30 Coffee Break
10h45 Oracle’s Maximum Availability Architectures **
11h30 Perguntas & Respostas
11h45 Concurso Cultural – oferecimento do parceiro Discover
* In this presentation, you’ll discover the benefits of upgrading to Oracle Database 11g, and how customers are reducing IT costs and increasing the quality of service for all their enterprise applications.** In this session, you’ll learn how Oracle’s Maximum Availability Architecture delivers a highly available environment with fully utilized redundancy and online operations.


Apoio

SOFTWARE.HARDWARE.COMPLETE
Copyright © 2010, Oracle e/ou suas controladas e coligadas.
Todos os direitos reservados.
Entre em contato | Avisos Legais e Condições de Uso | Declaração de Privacidade

Abraços,

  • Share/Bookmark
2 Comments :, , , , , , , more...

Apresentação: ENPO – RMAN: Vilão ou heroí?

by Rodrigo Almeida on jul.07, 2010, under Apresentação

Olá,
Para quem está procurando algumas informações sobre o que é e como utilizar o Recovery Manager (RMAN), abaixo está minha apresentação feita para a ENPO em 2008.
Espero que seja útil para vocês.
Abraços,
  • Share/Bookmark
2 Comments :, , , , , , , , , more...

PL/SQL Challenge! Inicia um novo trimestre

by Rodrigo Almeida on jul.02, 2010, under PLSQLChallenge

PLSQLChallenge.com

PL/SQL Challenge

Olá,

Para quem está competindo no PL/SQL Challenge,  esse mês iniciou um novo trimestre que irá ter duas importantes consequências:

  1. Em duas semanas sairá o primeiro playoff do campeonato para concorrer ao prêmio de US$ 1.000
  2. Depois de finalizado o primeiro playoff, o ranking será zerado.

Então, para quem está participando do campeonato de PL/SQL elaborado pelos profissionais Steven Feuerstein e Finn Ellebaek Nielsen é uma boa hora para começar a fazer pontos para o playoff e também aprender PL/SQL.

E para aquelas pessoas que não conhecem, acessem o site PL/SQL Challenge e faça o seu cadastro, se não ganhar o prêmio, vai ganhar conhecimento!

Outro ponto importante, muitas pessoas não botam tanta fé no APEX (Application Express), esse é um site que é feito totalmente em Apex, veja o que essa ferramenta pode lhe oferecer!

Abraços,

  • Share/Bookmark
Leave a Comment :, , , , , , , , , , , more...

OracleMania | Webinars no mês de Julho

by Rodrigo Almeida on jun.29, 2010, under OracleMania

Olá,

Gostaria de comunicar que a comunidade OracleMania estará realizando diversos webinars no mês de Julho sobre banco de dados e aplicações Oracle, com palestrantes de peso. Segue a lista dos webinars:

Data Horário Tema Palestrante Endereço
08/07/2010 18:00hs (Brasil) Performance Tuning in RAC Sr. Arup Nanda Registrar-se
13/07/2010 18:00hs (Brasil) Oracle ASM 11g Release 2 – The Evolution Sr. Alex Gorbachev Registrar-se
15/07/2010 18:00hs (Brasil) 11gR2 Edition Based Redefinition Sr. Daniel Morgan Registrar-se
22/07/2010 18:00hs (Brasil) PUnder the Hoods of Cache Fusion, GES, GCS and GRD Sr. Arup Nanda Registrar-se
29/07/2010 18:00hs (Brasil) Fusion Applications, What is behind it! Mrs. Debra Lilley Registrar-se

Com certeza, os palestrantes vão fornecer boas dicas e truques sobre seus respectivos temas, acho que irá agregar muita informação a todos, e principalmente, é GRATUITO! Uma ótima iniciativa da OracleMania.

E não se esqueça, una-se a comunidade e compartilhe a sua experiência.

Abraços,

  • Share/Bookmark
Leave a Comment :, , , , , , , more...

Apresentação: GUOB – Migração para 11g

by Rodrigo Almeida on jun.17, 2010, under Apresentação

Olá,

Sei que está bem atrasado a publicação da apresentação do último evento do GUOB (Grupo de Usuários Oracle Brasil) onde apresentei a palestra Passo-a-Passo migração para Oracle 11g.

Muitos estavam pedindo para enviar o ppt via e-mail, a coordenação do GUOB também já publicou na área exclusiva para assinantes e vou deixar aqui no blog para visualização mais fácil e direta sobre a apresentação feita.

Espero que ajude e para quem desejar, pelo serviço do SlideShare.com é possível realizar o download. Segue abaixo a apresentação.

Abraços,
  • Share/Bookmark
2 Comments :, , , , , , , , , , , more...

PARABÉNS À DISCOVER: PRIMEIRO PARCEIRO ESPECIALIZADO NO BRASIL DENTRO DO PROGRAMA OPN

by Rodrigo Almeida on jun.01, 2010, under Outros

Olá,

Hoje venho publicar uma conquista que a Discover Technology conseguiu com muito esforço e trabalho, abaixo está a publicação feita pela Oracle certificando a empresa como a primeira na nova especialização em Oracle Database 11g. Realmente, nós consultores e funcionários ficamos felizes com essa nova especialização. 

PARABÉNS À DISCOVER: PRIMEIRO PARCEIRO ESPECIALIZADO NO BRASIL DENTRO DO PROGRAMA OPN S 

É com muito orgulho que anunciamos que a empresa DISCOVER é o primeiro parceiro especializado no Brasil a cumprir as novas regras do programa OPN Specialized.

Dentre as mais de 20 especializações que temos disponíveis para os nossos parceiros, a Discover, com um alto comprometimento de sua equipe atingiu todos os requisitos necessários para a especialização em Database 11g.

O portal OPN Brasil já oferece uma série de documentos e informações em português para atender melhor às necessidades de nossos parceiros. Estamos investindo fortemente e cada vez mais para prover informações e ferramentas em língual local, pois o português do Brasil foi eleito um dos sete idiomas no mundo todo, que receberá a tradução dos conteúdos do portal OPN.

Para conhecer mais sobre o Guia de Especialização no portal OPN, com as especializações que já foram lançadas e a programação da linha completa , clique aqui!

O novo programa de Especialização do OPN S contempla critérios de avaliação do parceiro tanto em sua capacidade de negócios quanto a capacidade técnica de sua equipe (Business & Competency Criteria), que poderão ser consultadas na Zona de Conhecimento (Knowledge Zones) do produtos, na sessão Especialize, passo 2. Para ter acesso ao conteúdo clique aqui!

Temos a certeza de que os parceiros no Brasil estarão engajados no novo programa OPN Specialized e serão reconhecidos através das especializações em soluções Oracle.

Especializado. Reconhecido pela Oracle. Preferido pelos nossos clientes!

A equipe do Partner Business Center estará à sua disposição para dúvidas ou comentários, basta enviar um e-mail, ou entrar em contato pelo número 0800 891 7851.

Marcos Gaspar

Tamaris Parreira

Senior Director
Alliances & Channels
Oracle Brasil

Global OPN Regional
Development,Sr.Mgr
WW Alliances & Channels

 

Parabéns a Discover Technology pela conquista. Orgulho de pertencer a equipe.

Abraços,

Rodrigo Almeida

  • Share/Bookmark
2 Comments :, , , , , , more...

Básicas diferenças entre Oracle e SQL Server discutido no site stackoverflow.com

by Rodrigo Almeida on fev.25, 2010, under Administração

Olá,

Acompanhando o twitter do Eddie Awad, ele postou um link super interessante sobre básicas diferenças entre o Oracle Server e MS SQL Server, vale a pena dar uma olhada e analisar os pontos que um DBA que trabalha com ambas bases de dados descreveu como fundamentais.

O link para acompanhar a discussão está aqui: Basic Differences between Oracle and SQL Server.

Quem tiver mais sugestões, dúvidas e ideias, vamos comentando abaixo.

Abraços,

  • Share/Bookmark
9 Comments :, , , , , , more...

Técnica de hack em senhas armazenadas pelo Oracle

by Rodrigo Almeida on fev.05, 2010, under Administração

Olá,

Uma das táticas mais “sujas”, diga-se de passagem, é a alteração de senha do usuário sem a sua permissão, pois pode ocorrer em diversos momentos do dia-a-dia, por exemplo:

  • O cara saiu de férias, é deixou algum objeto no owner dele.
  • Preciso pegar algumas informações da tabela do FULANO.
  • É necessário fornecer algumas permissões do usuário X para Y.
  • Ou a MELHOR! Existe um owner na aplicação que foi criado em 1900 e bolinhas, e agora, precisa de manutenção e ninguém tem acesso a esse usuário, porque ninguem sabe a senha.

Bom, para resolver esses “probleminhas”, existe uma técnica no Oracle que podemos utilizar para ter acesso completo a um específico usuário, um pequeno “hack” no dicionário Oracle, mas para conseguir a façanha, é necessário que tenha acesso a view DBA_USERS, que foi utilizado nesse exemplo.

LEMBRANDO

Lógicamente, que todos os exemplos que citei acima, poderiam ser feitos pelo DBA da empresa ou alguém que tenha acesso a usuários gerenciais do banco de dados, como SYSTEM, usuários com role de DBA e etc. Isso é apenas um exemplo de como se aplicar a técnica.

Agora, vou passar o exemplo prático de como funciona.

1) Vamos criar um usuário.

@id
HORA EXECUTADA ------------------- 09-09-2008 11:45:57 INSTANCE_NAME HOST_NAME STATUS --------------- -------------------- ---------- xe DBARODRIGO OPEN USER IS "SYS"
create user RODRIGO
identified by rodrigo;

Usuário criado.

grant create session to RODRIGO;

Concessão bem-sucedida.

disco

Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 – Production

2) Teste a conexão do novo usuário no banco de dados.

conn rodrigo/rodrigo

Conectado.

disco

Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 – Production

3) Conectado com um usuário administrativo, faça um select básico na view DBA_USERS.

conn system

Informe a senha:

Conectado.

select username, account_status, password
    from dba_users
    where username = 'RODRIGO';

USERNAME ACCOUNT_STATUS PASSWORD

—————————— ——————————– ——————————

RODRIGO OPEN F697FBF0BB2DA2EC

4) Altere a senha do usuário desejado, no exemplo, vou alterar a senha para FERNANDA.

alter user RODRIGO identified by FERNANDA;

Usuário alterado.

5) Pegue o valor gerado para a nova senha.

select username, account_status, password
  from dba_users
  where username = 'RODRIGO';

USERNAME ACCOUNT_STATUS PASSWORD

—————————— ——————————– ——————————

RODRIGO OPEN FB34D454E9FFDE18

Observação
Pode parecer confuso, mais vamos recapitular os valores que são equivalentes as senhas:
F697FBF0BB2DA2EC = RODRIGO
FB34D454E9FFDE18 = FERNANDA

6) Para voltar a senha anterior, apenas utilize a opção VALUES junto com IDENTIFIED BYcom o valor da coluna password.

conn system

Informe a senha:

Conectado.

alter user RODRIGO identified by values 'F697FBF0BB2DA2EC';

O valor F697FBF0BB2DA2EC (gerado por um algoritmo HASH), é equivalente ao valor RODRIGO.
Agora, veja os testes.

conn rodrigo/fernanda

Conectado.

disco

Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 – Production

conn system

Informe a senha:

Conectado.

alter user RODRIGO identified by values 'F697FBF0BB2DA2EC';

Usuário alterado.

disco

Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 – Production

conn rodrigo/rodrigo

Conectado.

disco

Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 – Production

Como eu não alterei o valor para a senha FERNANDA, se eu tentar logar com essa senha, terei erros, veja.

conn rodrigo/fernanda

ERROR:

ORA-01017: invalid username/password; logon denied

FINISH!

Uma técnica de hack bem conhecida entre os DBAS, que até a versão 10gR2 (no Patchset 10.2.0.4) ainda continua, eu não sei ainda se nas versões 11g já possui algum tipo de segurança nesse ponto, então aprecie com moderação.

ATUALIZAÇÃO

Para as versões 11g essa técnica não é mais aplicada devido as alterações estruturais no banco de dados por parte de segurança, que ficou muito mais confiável. Então, essa técnica se aplica até a versão Oracle Database 10g Release 2.

Abraços,

  • Share/Bookmark
2 Comments :, , , , , , , , , , , more...

My Oracle Support – O nosso velho Metalink de cara nova

by Rodrigo Almeida on fev.01, 2010, under Suporte

Olá,

Semana passada o nosso velho e bom amigo Metalink ficou de cara nova, e também com um apelido novo, chamado agora de My Oracle Support (Site: http://metalink.oracle.com), criado boa parte em Flash e com novas funcionalidades integradas ao SCM (Software Configuration Manager), apresentou uma cara bem bonita e uma razoável navegação.

Abaixo mostro um pequeno screenshot da nova tela inicial do Metalink, ou My Orale Support.

Nova cara do Metalink

Ao acessar o metalink, algumas novidades apareceram como: Dashboard, Community, Reports e Collector. O mais bacana das opções é o Dashboard, que sumariza todas as informações da sua conta em uma única tela, tais informações como seus SR (Service Request – ou TAR), informações sobre suas bases que estão coletando informação pelo SCM (Software Configuration Manager), inventário e Projects . O screenshot mostra a tela de dashboards.

Tela inicial do usuário

O metalink sempre foi o canal para entrar em contato com o suporte da Oracle, para aqueles problemas difíceis de se resolver, a qualidade do suporte não mudou muita coisa, continua o mesmo (Quem usa sabe!), porém ao abrir um SR (ou TAR), você pode ter mais integração com o suporte e informação disponível da sua conta em um pequeno boxtext, como apresentado abaixo.

Tela de chamados

O My Oracle Support está com bons recursos, entre eles, podemos destacar:

MapView

Ao abrir um SR, você já pode mencionar em qual banco de dados está o problema, atribuindo as informações que estão armazenadas no repositório da Oracle ao SR. Essas informações são retiradas dos relatórios de RDA ou pelos coletores do SCM.

PowerView

Um recurso do My Oracle Support que permite filtrar informações por região do aplicativo, customizando as informações que acordo com o seu interesse. As regiões podem ser Knowledge base, Projects, System, System Health e Service Request.

System Health

Um monitor que analisa a saúde de seus bancos de dados e aplicativos, como Application Server e EBS (E-Bussiness Suite), monitora informações de segurança, patch e recomendações. Ótimo para equipes que querem atuar com pró-atividade.

Web Seminars

Dentro da região Knowledge, existe a opção Tools and Training > Training (Web Seminars). Uma ótima sacada da Oracle para seus profissionais. A intenção é fornecer seminários e treinamentos gratuitos para seus produtos de suporte, como RDA, SCM, E-Bussiness Diagnostics entre outros. Dessa forma, trabalhar de acordo com os padrões Oracle e entender todas as ferramentas e seus respectivos fluxos de chamado.

Esses são apenas alguns itens que gostei de comentar sobre a nova ferramente da Oracle de suporte, para quem já é assinante Metalink, vale a pena dar uma navegada no site e descobrir muito mais coisas. O site em sí ainda é meio lento, mesmo para quem usa conexão DSL ou dedicada está bom, mas, para quem não gostou mesmo do site e ainda prefere a versão antiga, em todas as páginas existe o Link para Classic Metalink.

ATUALIZAÇÃO – (13/01/2010)

Bom, como o post foi escrito há um tempo atrás, vou atualizar com algumas experiências que tive nesse tempo com o My Oracle Support, são elas:

SCM

A Oracle está investindo forte no uso do SCM (Software Configuration Manager) que trás todas as informações do banco de dados para um repositório web e agiliza a abertura de chamados junto ao suporte da Oracle. Esse integração é bem interessante e permite que o DBA controle as informações técnicas e gerenciais do banco de dados de forma simples e rápida, fornecendo uma pró-atividade da equipe.

O ponto ruim é configurar esse plug-in em bases de produção, pois necessita de configurações extras nos servidores para acesso a web pelo protocolo HTTP, e quando se necessita usar proxy, as coisas ficam mais complicadas.

PERFORMANCE DO My Oracle Support

Uma coisa que ninguem podia reclamar do antigo Metalink era a sua facilidade e performance. Como era bem simples e praticamente um HTML dinâmico, a nova versão do My Oracle Support em flash, realmente deixou bem pesado a navegação e acesso ao contéudo. Isso é devido a tecnologia que utilizam no desenvolvimento do software.

Abraços,

  • Share/Bookmark
4 Comments :, , , , , , , , , more...

Diminuindo físicamente um banco de dados Oracle

by Rodrigo Almeida on jan.29, 2010, under Administração

Olá,

Vou mostrar uma tática bem legal de diminuir um banco de dados Oracle físicamente, sem mexer em extents (por shrink table), rebuild de índices ou realizar desfragmentação de segmentos (por Export\Import Utility) no banco de dados.

O principal ponto que iremos atacar será os espaços livres desnecessários alocados na tablespace, que consomem espaços em disco preciosos no sistema operacional, toda essa tarefa será guiada atráves da marca d’água (HWM – High Water Mark) dos datafiles onde podemos realizar um RESIZE no datafile para um valor menor sem a perda de dados.

Lembrete

Essa tarefa envolve alguns conceitos de Oracle, como os de Marca D’água, ou HWM – High Water Mark, esse tema eu vou abordar em outro post para melhor entendimento. OK!

Para iniciarmos os trabalhos, vamos analisar o tamanho do nosso banco de dados e quanto ele está ocupando em disco, abaixo, vou fazer dois SELECTS que passa essas informações para nós e depois um print da quantidade em disco utilizado e livre no sistema operacional.

select sum(bytes)/1024/1024 as "TamanhoFisico(MB)" from dba_data_files;

TamanhoFisico(MB)
—————–
76000

col "FileSystem" format a12
select substr(file_name,1,4) as "FileSystem", sum(bytes)/1024/1024 as "Tamanho(MB)"
from dba_data_files
group by rollup(substr(file_name,1,4))
order by substr(file_name,1,4);

FileSystem Tamanho(MB)
———— ———–
/u01 25800
/u02 50200
76000

Percebemos, que no meu banco de dados, tenho quase 26GB de datafiles no FileSystem /u01 e mais 50GB no FileSystem /u02, totalizando os 76GB que é o tamanho total do meu banco de dados. O importante é saber o que esse valor representa na minha máquina, em questão de consumo e escabilidade, veja o que a máquina ainda pode oferecer.

[oracle@pelspos18 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.9G 3.2G 6.3G 34% /
/dev/sda1 190M 13M 168M 8% /boot
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda5 2.0G 36M 1.9G 2% /tmp
/dev/sda6 114G 51G 58G 48% /u01
/dev/sdb1 134G 50G 78G 40% /u02

Para o FileSystem /u01, representa 48% de utilização, já para o FileSystem /u02, representa 40% de utilização. Claro, que tudo isso, irá depender de como o aplicativo e banco de dados se comporta, se é um banco de dados com crescimento acentuado diário, mensal ou semestral, tudo isso influência. Mas, no exemplo que estou utilizando, o banco de dados tem um crescimento em média de 3GB por mês, então, está adequado.

Mas, eu preciso liberar mais espaço em disco para fazer alguns backups em disco, exports e etc. Então, vou diminuir meu banco de dados físicamente de forma segura, como eu disse no início do post.

Para fazer isso, preciso da mais algumas informações como, Tamanho Físico e Livre das tablespace, que pode ser pego facilmente pelos SELECTS abaixo.

select tablespace_name, sum(bytes)/1024/1024 as "TAMANHO(MB)"
from dba_data_files
group by tablespace_name
order by sum(bytes);

TABLESPACE_NAME TAMANHO(MB)
——————– ———–
FIN_CPAG 400
FIN_CEXT_IDX 800
USERS 800
TOOLS 1500
SYSAUX 2000
SYSTEM 2000
FIN_CORP 3500
FIN_CORP_IDX 5000
FIN_CPAG_IDX 8000
UNDOTBS 10000
FIN_CREC_IDX 12000
FIN_CREC 30000

12 linhas selecionadas.

Bom, as tablespaces SYSTEM e SYSAUX não é novidade para ninguem, então, elas vou deixar-las de fora da atividade, para não ocorrer nenhum tipo de problema. Vou apenas pensar nas demais, inclusive na de UNDO. Perceba que esse é apenas um SELECT para ver o tamanho total das tablespaces, agora, quero saber quanto cada uma tem livre, para poder direcionar os RESIZES. Abaixo segue o tamanho livre por tablespace.

select tablespace_name, sum(bytes)/1024/1024 as "TAMANHO(MB)"
from dba_free_space
group by tablespace_name
order by sum(bytes);

TABLESPACE_NAME TAMANHO(MB)
——————– ———–
FIN_CREC_IDX 2,1875
FIN_CPAG 398,5625
USERS 642,5625
FIN_CEXT_IDX 799,5625
TOOLS 1495,3125
SYSTEM 1738,8125
SYSAUX 1869,125
FIN_CORP_IDX 2456,4375
FIN_CORP 3259,6875
FIN_CPAG_IDX 5289,375
FIN_CREC 8625,125
UNDOTBS 9865,375
12 linhas selecionadas.

Apenas mudei a view do primeiro SELECT, de dba_data_files para dba_free_space. Com isso, podemos ver quem tem mais espaço livre e saber quem precisa, existe tablespace com 8GB livres, e outros com 2,3 e 5G livres, só nisso, deixando apenas 10% livre, podemos economizar 12GB em disco. E ainda sem pensar no UNDO.

Agora, vamos executar um SELECT que irá analisar a marca d’água dos datafiles e verificar se existe a possibilidade de realizar um RESIZE para um valor menor, com isso, liberar espaço em disco no sistema operacional. Esse SELECT precisa de uma atenção especial, pois, é necessário informar o tamanho do db_block_size do seu banco de dados para efetuar corretamente os cálculos.

Para saber o tamanho do seu db_block_size, basta fazer o seguinte procedimento.

NO SQLPLUS, faça:

show parameters db_block_size

NAME TYPE VALUE
———————————— ———– ——————————
db_block_size integer 8192

Se preferir, poderá ver na v$parameter, como no exemplo.

col name format a15
col value format a15
select name, value from v$parameter where name = 'db_block_size';

NAME VALUE
————— —————
db_block_size 8192

Agora, o momento esperado, o SELECT para realizar a operação de resize, veja.

select 'alter database datafile ''' || file_name || ''' resize ' ||
ceil( (nvl(hwm,1)*8192*1.2)/1024/1024 )  || 'm;' cmd
from dba_data_files a,
( select file_id, max(block_id+blocks-1) hwm
  from dba_extents
  group by file_id ) b
where a.file_id = b.file_id(+)
and ceil( (nvl(hwm,1)*8192*1.2)/1024/1024 ) < ceil( blocks*8192/1024/1024)
and ceil( (nvl(hwm,1)*8192*1.2)/1024/1024 ) > 100

Lembrete
Veja que onde está 8192 no script acima, é referente ao tamanho do db_block_size do seu banco de dados, esse valor então poder ser 2048, 4096, 8192, 16384 e 32768.

O script acima irá gerar um resultado sobre espaço livre, tamanho atual, espaço que pode ser salvo, total de espaço que pode ser liberado por datafile do seu banco de dados, tudo isso gerado pelos cálculos sobre a marca d’água de cada datafile. Se atentem pois ele está pegando todas as tablespaces do banco de dados e isso para nós não é necessário, podemos excluir a tablespace SYSTEM e SYSAUX.

FILE_NAME SMALLEST CURRSIZE SAVINGS SMALLEST_SAFE SAVINGS_SAFE
———————————————————— ———- ———- ———- ————- ————
/u02/app/oracle/oradata/finp/fin_corp01.dbf 125 2000 1875 149 1851
/u02/app/oracle/oradata/finp/sysaux01.dbf 191 2000 1809 229 1771
/u02/app/oracle/oradata/finp/system01.dbf 264 2000 1736 316 1684
/u02/app/oracle/oradata/finp/fin_corp02.dbf 117 1500 1383 140 1360
/u01/app/oracle/oradata/finp/fin_cpag_idx04.DBF 643 2000 1357 771 1229
/u01/app/oracle/oradata/finp/fin_cpag_idx03.dbf 651 2000 1349 781 1219
/u01/app/oracle/oradata/finp/fin_cpag_idx02.dbf 692 2000 1308 830 1170
/u01/app/oracle/oradata/finp/fin_cpag_idx01.dbf 728 2000 1272 873 1127
/u01/app/oracle/oradata/finp/fin_corp_idx02.dbf 847 2000 1153 1016 984
/u01/app/oracle/oradata/finp/fin_corp_idx01.dbf 897 2000 1103 1076 924
/u02/app/oracle/oradata/finp/fin_crec09.dbf 1284 2000 716 1540 460
/u02/app/oracle/oradata/finp/fin_crec08.dbf 1288 2000 712 1545 455
/u02/app/oracle/oradata/finp/fin_crec07.dbf 1304 2000 696 1564 436
/u02/app/oracle/oradata/finp/fin_crec06.dbf 1314 2000 686 1576 424
/u02/app/oracle/oradata/finp/fin_crec05.dbf 1331 2000 669 1597 403
/u02/app/oracle/oradata/finp/fin_crec04.dbf 1334 2000 666 1600 400
/u02/app/oracle/oradata/finp/fin_crec01.dbf 1351 2000 649 1622 378
/u02/app/oracle/oradata/finp/fin_crec02.dbf 1351 2000 649 1621 379
/u02/app/oracle/oradata/finp/fin_crec03.dbf 1351 2000 649 1621 379
/u02/app/oracle/oradata/finp/users01.dbf 158 800 642 189 611
/u02/app/oracle/oradata/finp/fin_crec15.dbf 1427 2000 573 1712 288
/u02/app/oracle/oradata/finp/fin_crec14.dbf 1547 2000 453 1856 144
/u02/app/oracle/oradata/finp/fin_crec13.dbf 1549 2000 451 1858 142
/u02/app/oracle/oradata/finp/fin_crec12.dbf 1551 2000 449 1861 139
/u02/app/oracle/oradata/finp/fin_crec11.dbf 1603 2000 397 1923 77
/u01/app/oracle/oradata/finp/fin_corp_idx03.dbf 802 1000 198 962 38

26 linhas selecionadas.

CMD
——————————————————————————
alter database datafile ‘/u02/app/oracle/oradata/finp/system01.dbf’ resize 316m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec11.dbf’ resize 1923m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec02.dbf’ resize 1621m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec07.dbf’ resize 1564m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_corp02.dbf’ resize 140m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec05.dbf’ resize 1597m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec06.dbf’ resize 1576m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec03.dbf’ resize 1621m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec08.dbf’ resize 1545m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_corp_idx01.dbf’ resize 1076m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec01.dbf’ resize 1622m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec09.dbf’ resize 1540m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec12.dbf’ resize 1861m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec14.dbf’ resize 1856m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec15.dbf’ resize 1712m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_cpag_idx01.dbf’ resize 873m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_cpag_idx04.DBF’ resize 771m;
alter database datafile ‘/u02/app/oracle/oradata/finp/sysaux01.dbf’ resize 229m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec13.dbf’ resize 1858m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_crec04.dbf’ resize 1600m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_cpag_idx02.dbf’ resize 830m;
alter database datafile ‘/u02/app/oracle/oradata/finp/fin_corp01.dbf’ resize 149m;
alter database datafile ‘/u02/app/oracle/oradata/finp/users01.dbf’ resize 189m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_corp_idx02.dbf’ resize 1016m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_corp_idx03.dbf’ resize 962m;
alter database datafile ‘/u01/app/oracle/oradata/finp/fin_cpag_idx03.dbf’ resize 781m;

26 linhas selecionadas.

Uma coisa boa que essse script já fornece o comando de DDL para redimensionar o datafile da tablespace sem a perda de dados. Basta executar.

Após a execução dos scripts, vamos analisar os resultados gerados. Primeiramente, vamos ver agora o tamanho total e o espaço livre das tablespaces, depois verificar como ficou o espaço em disco no sistema operacional e saber o quanto ganhamos com isso.

Espaço total das tablespace

select tablespace_name, sum(bytes)/1024/1024 as "TAMANHO(MB)"
from dba_data_files
group by tablespace_name
order by sum(bytes);

TABLESPACE_NAME TAMANHO(MB)
——————– ———–
USERS 189
FIN_CORP 289
FIN_CPAG 400
FIN_CEXT_IDX 800
TOOLS 1500
SYSAUX 2000
SYSTEM 2000
FIN_CORP_IDX 3054
FIN_CPAG_IDX 3255
UNDOTBS 10000
FIN_CREC_IDX 12000
FIN_CREC 25496

12 linhas selecionadas.

Espaço livre nas tablespace

select tablespace_name, sum(bytes)/1024/1024 as "TAMANHO(MB)"
from dba_free_space
group by tablespace_name
order by sum(bytes);

TABLESPACE_NAME TAMANHO(MB)
———————– ———–
FIN_CREC_IDX 2,1875
USERS 31,5625
FIN_CORP 48,6875
FIN_CPAG 398,5625
FIN_CORP_IDX 510,4375
FIN_CPAG_IDX 544,375
FIN_CEXT_IDX 799,5625
TOOLS 1495,3125
SYSTEM 1737,3125
SYSAUX 1811,5
FIN_CREC 4121,125
UNDOTBS 9797,4375

12 linhas selecionadas.

Espaço no sistema operacional

[oracle@pelspos18 u01]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.9G 3.2G 6.3G 34% /
/dev/sda1 190M 13M 168M 8% /boot
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda5 2.0G 36M 1.9G 2% /tmp
/dev/sda6 114G 45G 64G 42% /u01
/dev/sdb1 134G 42G 86G 33% /u02

Conclusões

Perceba que algumas tablespace permaneceram do mesmo tamanho e algumas tiveram mais que 10% do seu tamanho reduzido, o melhor que podemos notar no sistema operacional que o FileSystem /u02 que antes tinha 78GB disponível, agora tem 86GB, uma diferença de 8GB, para o FileSystem /u01 que atens tinha 58GB disponível, agora tem 64GB, uma diferença de 6GB, que somando com o valor anterior, podemos reutilizar 14GB de espaço no sistema operacional.

O tamanho do nosso banco de dados fisicamente, também diminuiu, foi para 62GB. Antes era de 76GB, 14GB a menos, justamente o que nós não utilizamos mais.

O que pode nos ajudar a redução física do banco de dados?

Pode nos ajudar em N tarefas, como:

  • Não deixar o banco de dados travar por problemas de ARCHIVE ERROR;
  • Reaproveitamente de espaço em disco;
  • Diminuição de arquivos de backup gerados pelo RMAN em nível 0;
  • Ajuda na escabilidade do servidor;

Acho que isso já são boas razões para se pensar em fazer uma diminuição física do seu banco de dados.

Abraços,

  • Share/Bookmark
Leave a Comment :, , , , , , , , , , , , , , , , more...

Oracle Community


Comunidad Oracle Hispana


OracleMania