Páginas

sexta-feira, 20 de dezembro de 2013

[ORACLE] - Desabilitar expiração de senha no Oracle


-- Desabilita expiração de senha no Oracle --
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED;


-- Seleciona usuário/ data_expiração / status_conta --
select username,expiry_date,account_status from dba_users;

-- Altera senha e desbloqueia a conta --
alter user teste identified by "teste123" account unlock;

terça-feira, 26 de novembro de 2013

[PostgreSQL] - Tablespaces

Enquanto os esquemas dividem um banco de dados em particionamentos lógicos, o tablespace divide um banco de dados fisicamente. Tablespace no PostgreSQL é uma pasta no sistema de arquivos utilizada para armazenamento físico dos dados e objetos de um banco de dados.

Ao se criar um banco de dados no PostgreSQL são criados dois tablespaces:
- PG_DEFAULT - por padrão, quando não é definido explicitamente um tablespace, os dados e objetos são armazenados no tablespace PG_DEFAULT.
- PG_GLOBAL - armazena objetos globais, visíveis a todos os bancos

Um tablespace pode armazenar dados de diversos bancos de dados, desde que se tenha permissão para acesso aos mesmos. Um banco de dados também pode dividir seus objetos e dados entre vários tablespaces.

Os tablespaces são utilizados para:
- Gerenciamento de espaço de armazenamento de dados - pode-se armazenar bancos grandes em mídia com tamanho apropriado que esteja disponível na rede.
- Melhor desempenho - objetos que sofrem mais acessos podem ser alocados em discos mais rápidos, por exemplo, com ganho substancial de desempenho.

Os principais comandos relacionados são:
- CREATE TABLESPACE - Criação de tablespaces
- DROP TABLESPACE - Exclusão de tablespaces sem conteúdo

Para visualizar a lista de tablespaces do seu servidor PostgreSQL, basta se fazer uma consulta na tabela pg_tablespace.

Exemplo:

1 - Recuperação do identificador de objeto e dos dados dos tablespaces do servidor.

SELECT oid, * FROM pg_tablespace;

2 - Recuperando o Tablespace e o usuário que tem permissão de owner do tablespace

SELECT T.oid, T.spcname, T.spcowner, U.usename
FROM pg_tablespace T, pg_user U
WHERE T.spcowner = U.usesysid;

Fonte:
http://postgresqlbr.blogspot.com.br/2007/06/tablespaces-no-postgresql.html

[PostgreSQL] - Comando SHOW

O PostgreSQL tem dúzias de variáveis de configuração que tem influência no comportamento do banco, em sua segurança e no desempenho. Acompanhar estes parâmetros de forma simples permite melhor controle do funcionamento do servidor.

O Comando SHOW é uma extensão do PostgreSQL que facilita este acompanhamento. Este comando permite que se visualize todos os valores das variáveis de configuração do seu banco de dados. O autovacuum está ativado? Qual é o estilo de data que está sendo utilizado no momento? Perguntas como essa são facilmente respondidas pela utilização deste comando.

Problemas conhecidos:
- Este comando não permite a cláusula WHERE. Desta forma recuperamos todas as dezenas de parâmetros ou apenas parâmetros específicos, um de cada vez.
- O comando não aceita recuperar uma lista de parâmetros definida pelo usuário (SHOW par1, par2,..., parN).
- Testes com os comandos SELECT, UNION e SELECT INTO não funcionaram, isto é, não é possível utilizar o SHOW com estes comandos.

Sintaxe:

SHOW name
SHOW ALL

Exemplos:

1 - Mostrando todos os parâmetros de configuração

SHOW ALL;

2 - Mostrando parâmetros específicos

SHOW array_nulls;
SHOW autovacuum;

[PostgreSQL] - Overview dos Processos e Estrutura



segunda-feira, 25 de novembro de 2013

[PostgreSQL] - Movendo Tabelas, Índices para Tablespaces e Domínios para schema

Bom pessoal, segue abaixo uma forma automatizada para movimentação de tabelas, índices e domínios no PostgreSQL:

-- Mover tabelas para Tablespace específica no PostgreSQL:
SELECT 'ALTER TABLE ' || table_schema || '.' || table_name || ' SET TABLESPACE tbs_zeustab;'
    FROM information_schema.tables
    WHERE table_schema = 'public'
    ORDER BY table_name;

-- Mover Índices para Tablespace específica no PostgreSQL:
SELECT 'ALTER INDEX ' || schemaname || '.' || indexname || ' SET TABLESPACE tbs_zeusindx;'
    FROM pg_catalog.pg_indexes
    WHERE schemaname = 'pagila' and tablespace is null
    ORDER BY tablename;

-- Mover Dominios para Schema específico no PostgreSQL:
SELECT 'ALTER DOMAIN ' || domain_schema || '.' || domain_name || ' SET SCHEMA pagila;'
    FROM information_schema.domains
    WHERE domain_schema = 'pagila'
    ORDER BY domain_name;