Pular para o conteúdo principal

Configurar Tamanho de UNDO e tempo de RETENÇÃO (UNDO_RETENTION)

-- Tamanho Undo Atual
SELECT SUM(a.bytes) "UNDO_SIZE"
FROM v$datafile a,
v$tablespace b,
dba_tablespaces c
WHERE c.contents = 'UNDO'
AND c.status = 'ONLINE'
AND b.name = c.tablespace_name
AND a.ts# = b.ts#;

-- Blocos de UNDO por Seg.
SELECT MAX(undoblks/((end_time-begin_time)*3600*24))
"UNDO_BLOCK_PER_SEC"
FROM v$undostat;


--Tamanho do Bloco
SELECT TO_NUMBER(value) "DB_BLOCK_SIZE [KByte]"
FROM v$parameter
WHERE name = 'db_block_size';


-- Select calcula UNDO RETENTION
SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]",
SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]",
ROUND((d.undo_size / (to_number(f.value) *
g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION [Sec]"
FROM (
SELECT SUM(a.bytes) undo_size
FROM v$datafile a,
v$tablespace b,
dba_tablespaces c
WHERE c.contents = 'UNDO'
AND c.status = 'ONLINE'
AND b.name = c.tablespace_name
AND a.ts# = b.ts#
) d,
v$parameter e,
v$parameter f,
(
SELECT MAX(undoblks/((end_time-begin_time)*3600*24))
undo_block_per_sec
FROM v$undostat
) g
WHERE e.name = 'undo_retention'
AND f.name = 'db_block_size'



-- Select Calcula tamanho UNDO ideal
SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]",
SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]",
(TO_NUMBER(e.value) * TO_NUMBER(f.value) *
g.undo_block_per_sec) / (1024*1024)
"NEEDED UNDO SIZE [MByte]"
FROM (
SELECT SUM(a.bytes) undo_size
FROM v$datafile a,
v$tablespace b,
dba_tablespaces c
WHERE c.contents = 'UNDO'
AND c.status = 'ONLINE'
AND b.name = c.tablespace_name
AND a.ts# = b.ts#
) d,
v$parameter e,
v$parameter f,
(
SELECT MAX(undoblks/((end_time-begin_time)*3600*24))
undo_block_per_sec
FROM v$undostat
) g
WHERE e.name = 'undo_retention'
AND f.name = 'db_block_size'

Comentários

  1. A partir do 9 já tem gerenciamento automático, UNDO_RETENTION é somente uma dica, pois o oracle irá dimensionar undo sozinho, salvo vc deixe de usar o gerenciamento automático.
    Execute as cargas máximas em seu ambiente que o oracle irá dimensionar baseado em estatísticas o undo e use advisors.
    Rodar estas consultas em qualquer horário não servirá de nada.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Recompile JSP EBS - R12.2

1. Backup $ cd $EBS_APPS_DEPLOYMENT_DIR/oacore/html/WEB-INF/classes/ $ mv _pages _pages_old 2. Stop services cd $ADMIN_SCCRIPTS_HOME ./adapcctl.sh stop ./admanagedsrvctl.sh stop oafm_server1 ./admanagedsrvctl.sh stop oacore_server1 3. Compile the jsps manually  cd $FND_TOP/patch/115/bin/ perl $FND_TOP/patch/115/bin/ojspCompile.pl --compile --flush -p             4. Checking $ cd $EBS_APPS_DEPLOYMENT_DIR/oacore/html/WEB-INF/classes/_pages $ ls -ltr  5. Start services cd $ADMIN_SCCRIPTS_HOME ./admanagedsrvctl.sh start oacore_server1 ./admanagedsrvctl.sh start oafm_server1 ./adapcctl.sh start 6. Clear your web browser cache

How to Disable WebLogic Server Diagnostic Framework (WLDF)

[weblogic@yourhost ]$ cd $MW_HOME/oracle_common/common/bin/ [weblogic@yourhost bin]$ ./wlst.sh Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline> connect('weblogic','password','t3://host_ip:port') Connecting to t3://xx.xx.xx.xx:7001 with userid weblogic ... Successfully connected to Admin Server "AdminServer" that belongs to domain "WeblogicDomain". Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. wls:/WeblogiDomain/serverConfig/> edit() Location changed to edit tree. This is a writable tree with DomainMBean as the root. To make changes you will need to start an edit session via startEdit(). For more help, use help('edit'). wls:/WeblogiDomain/edit/> startEdit() Starting an edit session ... Started edit session, be sure...

How to recreate oraInventory in ebs R12

Edit the oraInst.loc file: vi /etc/oraInst.loc Change the inventory_loc to a new location: inventory_loc=/prod/oraInventory_new Create the new directory: mkdir /prod/oraInventory_new Give permissions to the new directory: chmod -R 777 /prod/oraInventory_new -- Add the 10.1.3 Oracle Home to the new created oraInventory: cd $INST_TOP/ora/10.1.3 . ./APP .env Go to the $ORACLE_HOME: cd $ORACLE_HOME Edit the oraInst.loc and point it to the same location ad done in step 1: inventory_loc=/prod/oraInventory_new Add the 10.1.3 Oracle Home to the new oraInventory location: cd $ORACLE_HOME/appsutil/clone ./ouicli.pl Verify if the 10.1.3 is added to the new oraInventory directory: cd /prod/oraInventory_new/ContentsXML cat inventory.xml If it's not added, check the /prod/oraInventory_new/logs file. Verify the oraInventory has the information about the 10.1.3 Oracle Home: export PATH=$ORACLE_HOME/OPatch:$PATH opatch lsinventory -detail -- Add the 10.1.2 Oracle Home to the new created oraInvento...