Páginas

sexta-feira, 18 de novembro de 2011

Alterando SCAN após instalação do cluster

A seguir, procedimento para alterar a configuração do SCAN com o cluster já instalado.


Considerando que a nova entrada de SCAN já tenha sido criada no DNS por exemplo, os seguintes passos precisam ser feitos para atualizar o cluster com essa nova informação:

-- Como usuário do grid (geralmente "oracle")
$GRID_HOME/bin/srvctl stop scan_listener
$GRID_HOME/bin/srvctl stop scan

-- Como "root" :
$GRID_HOME/bin/srvctl modify scan -n novo-scan.dominio

* Para 11.2.0.1, devido ao bug 9603829, execute o passo abaixo:
-- Como "root": 
 $GRID_HOME/bin/crsctl modify type ora.scan_vip.type -attr "ATTRIBUTE=SCAN_NAME,DEFAULT_VALUE=novo-scan.dominio"

-- Atualize o parâmetro REMOTE_LISTENER das instâncias do cluster com o novo scan.

-- Como usuário do grid:

$GRID_HOME/bin/srvctl modify scan_listener -u
$GRID_HOME/bin/srvctl start scan_listener

-- Para checar alteração:

$GRID_HOME/bin/srvctl config scan
SCAN name: novo-scan.dominio, Network: 1/10.4.0.0/255.255.255.0/eth1
SCAN VIP name: scan1, IP: /10.4.0.201/120.0.0.201
SCAN VIP name: scan2, IP: /10.4.0.202/120.0.0.202
SCAN VIP name: scan3, IP: /10.4.0.203/120.0.0.203

$GRID_HOME/bin/srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521

-- Para alterar porta do scan_listener:

$GRID_HOME/bin/srvctl modify scan_listener -p <nova_porta>
$GRID_HOME/bin/srvctl stop scan_listener
$GRID_HOME/bin/srvctl start scan_listener


Referência: How to Modify SCAN Setting or SCAN Listener Port after Installation [ID 972500.1]

sexta-feira, 11 de novembro de 2011

Automatic Memory Management (AMM) - Oracle11g

Nova feature do 11g que torna o gerenciamento automático de SGA+PGA.

MEMORY_TARGET: tamanho máximo da SGA+PGA. É dinâmico e não pode ultrapassar o máximo setado no parâmetro MEMORY_MAX_TARGET. O default é 0.
MEMORY_MAX_TARGET: Máximo que o memory_target pode atingir sem restart da instância. O default é o valor do parâmetro memory_target.

Para melhor controle de memória, deve-se setar SGA_TARGET e PGA_AGGREGATE_TARGET para 0, pois se setados, serão os valores mínimos de SGA e PGA.

Essa memória compartilhada fica alocada no tmpfs (Linux):

[rrsantos@server.adm.infra ~]$ df -h /dev/shm
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                  12G     0   12G   0% /dev/shm

Para alterar esse valor alocado:

umount tmpfs
mount -t tmpfs shmfs -o size=12000m /dev/shm
 
/etc/fstab :
tmpfs                   /dev/shm                tmpfs   size=12000m      0 0 


Queries relevantes:

-- Individual values.
COLUMN name FORMAT A30
COLUMN value FORMAT A10

SELECT name, value
FROM   v$parameter
WHERE  name IN ('pga_aggregate_target', 'sga_target')
UNION
SELECT 'maximum PGA allocated' AS name, TO_CHAR(value) AS value
FROM   v$pgastat
WHERE  name = 'maximum PGA allocated';

-- Calculate MEMORY_TARGET
SELECT sga.value + GREATEST(pga.value, max_pga.value) AS memory_target
FROM (SELECT TO_NUMBER(value) AS value FROM v$parameter WHERE name = 'sga_target') sga,
     (SELECT TO_NUMBER(value) AS value FROM v$parameter WHERE name = 'pga_aggregate_target') pga,
     (SELECT value FROM v$pgastat WHERE name = 'maximum PGA allocated') max_pga;
 
 
 
Referências:
http://www.oracle-base.com/articles/11g/AutomaticMemoryManagement_11gR1.php
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/memory003.htm#ADMIN11011

terça-feira, 1 de novembro de 2011

Recuperar senhas dblink Oracle 9

Um bug bizarro no Oracle 9 (já li que o mesmo ocorre no 10.1 também) é o armazenamento das senhas dos db_links sem criptografia. Para recuperar, basta realizar a consulta:

select name,password from sys.link$;

NAME            PASSWORD
-------------    --------------------------------------
DB_TESTE     SENHATESTE