quarta-feira, 15 de outubro de 2008

Configurando o Eclipse Ganymede com o Weblogic

O servidor aplicacional Weblogic não vem com uma configuração disponível no eclipse Ganymede. Para ter o Weblogic disponível na configuração dos Servers no eclipse, é necessário fazer um update que está disponível no site:

https://eclipse-plugin.projects.dev2dev.bea.com/update

Depois de instalado, o eclipse já encontrará os servidores Weblogic.

segunda-feira, 13 de outubro de 2008

Cálculo de espaço ocupado na Base de Dados Oracle

A Base de Dados da Oracle, tem algumas ferramentas úteis que permitem calcular o espaço em disco que tabelas e índices virão a ocupar.

Cálculo de Espaço em Disco de Um Index

O código seguinte permite saber quanto espaço em disco irá ocupar um índice depois de criado.

set serveroutput on

DECLARE
ub NUMBER;
ab NUMBER;

BEGIN

DBMS_SPACE.CREATE_INDEX_COST('CREATE INDEX t_id ON ESQUEMA.NOME_DE_TABELA(id)',ub, ab, NULL);

DBMS_OUTPUT.PUT_LINE('Used Bytes: ' || TO_CHAR(ub));
DBMS_OUTPUT.PUT_LINE('Alloc Bytes: ' || TO_CHAR(ab));
END;
/

A tabela tem de existir previamente.

Substituir ESQUEMA e NOME_TABELA, pelo esquema e nome da tabela onde irá ser criado o índice.


Cálculo de Espaço em Disco Ocupado por uma Tabela

Quando se está a tentar saber quanto armazenamento é necessário para acomodar uma tabela, os códigos seguintes ajudam a determinar quanto espaço é necessário.

Cálculo Feito com Base no Tamanho Médio de uma Linha

O código seguinte permite saber, com base no tamanho médio de um registo na base de dados e no número de registos estimados, o tamanho de armazenamento necessário (em bytes) para acomodar uma tabela.

set serveroutput on

DECLARE
ub NUMBER;
ab NUMBER;

BEGIN

DBMS_SPACE.CREATE_TABLE_COST('USERS',45000,2000000,0,ub,ab);

DBMS_OUTPUT.PUT_LINE('Used Bytes: ' || TO_CHAR(ub));
DBMS_OUTPUT.PUT_LINE('Alloc Bytes: ' || TO_CHAR(ab));
END;
/

Onde,

USERS - Tablespace onde a tabela irá ser criada.
45000 - Tamanho médio de uma linha em bytes.
2000000 - Número total de linhas que a tabela irá conter.
0 - Espaço livre que a tabela deverá ter para novos inserts e updates.


Cálculo Feito com Base na Especificação de uma Tabela

O código seguinte permite saber o tamanho de armazenamento necessário para uma tabela, com a especificação fornecida e com o número de registos estimados.

set serveroutput on

DECLARE
ub NUMBER;
ab NUMBER;
cl sys.create_table_cost_columns;
BEGIN
cl := sys.create_table_cost_columns(
sys.create_table_cost_colinfo('VARCHAR2',100),
sys.create_table_cost_colinfo('CHAR',1),
sys.create_table_cost_colinfo('DATE',NULL),
sys.create_table_cost_colinfo('NUMBER',4)
);

DBMS_SPACE.CREATE_TABLE_COST('USERS',cl,2000000,0,ub,ab);

DBMS_OUTPUT.PUT_LINE('Used Bytes: ' || TO_CHAR(ub));
DBMS_OUTPUT.PUT_LINE('Alloc Bytes: ' || TO_CHAR(ab));
END;
/

Onde,

USERS - Tablespace onde a tabela irá ser criada.

cl - Definição da tabela cujo espaço é pretendido calcular.

2000000 - Número total de linhas que a tabela irá conter.

0 - Espaço livre que a tabela deverá ter para novos inserts e updates.