Script para efetuar backup do Rman no Linux:
#!/bin/bash
export ORACLE_SID=orateste
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export DTHMS=$(date +"%Y%m%d%H%M%S")
export ORACLE_BACKUP=/backup/bkp_rman
#
# Dir backup
destino=$ORACLE_BACKUP
# Variavel para contar o numero de backups
contador=`cat $destino/contador`
#Quantidade de dias para manter
qtde=3
incluir=$(($contador+1))
excluir=$(($contador-$qtde))
# Incrementa Variavel do Contador
/bin/echo $incluir > $destino/contador
# Cria o novo diretorio
arquivoincluir=$DTHMS"_"$incluir
/bin/mkdir -p $destino/$arquivoincluir
#
# Script RMAN
#
echo run { > $destino/backup_RMAN.rman
echo CONFIGURE RETENTION POLICY TO REDUNDANCY 1';' >> $destino/backup_RMAN.rman
echo CONFIGURE CONTROLFILE AUTOBACKUP ON';' >> $destino/backup_RMAN.rman
echo CONFIGURE BACKUP OPTIMIZATION ON';' >> $destino/backup_RMAN.rman
echo CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK';' >> $destino/backup_RMAN.rman
echo CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1';' >> $destino/backup_RMAN.rman
echo CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 4400M';' >> $destino/backup_RMAN.rman
echo SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "'""$ORACLE_BACKUP/$arquivoincluir/AUTO_%F.cf_spf""'"';' >> $destino/backup_RMAN.rman
echo backup format "'""$ORACLE_BACKUP/$arquivoincluir/db_%d_%s_%p.bus""'" database';' >> $destino/backup_RMAN.rman
echo backup format "'""$ORACLE_BACKUP/$arquivoincluir/al_%d_%s_%p.bus""'" archivelog all delete all input';' >> $destino/backup_RMAN.rman
echo sql '"'"alter database backup controlfile to trace as ''$ORACLE_BACKUP/$arquivoincluir/TXT_"$ORACLE_SID"_CF.ctl''"'"'';' >> $destino/backup_RMAN.rman
echo sql '"'"create pfile=''$ORACLE_BACKUP/$arquivoincluir/TXT_"$ORACLE_SID"_PF.ora'' from spfile"'"'';' >> $destino/backup_RMAN.rman
echo } >> $destino/backup_RMAN.rman
echo run { >> $destino/backup_RMAN.rman
echo crosscheck archivelog all';' >> $destino/backup_RMAN.rman
echo crosscheck backup';' >> $destino/backup_RMAN.rman
echo delete noprompt expired backup';' >> $destino/backup_RMAN.rman
echo delete noprompt obsolete';' >> $destino/backup_RMAN.rman
echo } >> $destino/backup_RMAN.rman
#
$ORACLE_HOME/bin/rman target / nocatalog @$destino/backup_RMAN.rman > $ORACLE_BACKUP/$arquivoincluir/BACKUP_LOG_"$ORACLE_SID"_$arquivoincluir.log
# Exclui o diretorio de backup antigo
cd $destino
arquivoexcluir=*_$excluir
rm -rf $arquivoexcluir
Conteúdo do cotidiano e gratuito de tecnologia em Banco de dados, Servidores Windows, Linux, BSD e Desenvolvimento em PL/SQL.
sexta-feira, 18 de outubro de 2013
[ORACLE] - Script de Export Full do Oracle para Linux
Script de Export Full do Oracle para Linux:
#!/bin/bash
# Carrega variaveis do oracle
export ORACLE_SID=orateste
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
# Variavel para formatar data
data=`date "+%d-%m-%Y"`
# Configuracao de Usuario
sqluser="system"
sqlpass="teste"
expdp $sqluser/$sqlpass full=Y directory=exp_dir dumpfile=expdb_ora11g-$data.dmp logfile=expdb_ora11g-$data.log
Bom pessoal, espero ajudar com o script acima auxiliando a automatização do processo de Export Full.
#!/bin/bash
# Carrega variaveis do oracle
export ORACLE_SID=orateste
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
# Variavel para formatar data
data=`date "+%d-%m-%Y"`
# Configuracao de Usuario
sqluser="system"
sqlpass="teste"
expdp $sqluser/$sqlpass full=Y directory=exp_dir dumpfile=expdb_ora11g-$data.dmp logfile=expdb_ora11g-$data.log
Bom pessoal, espero ajudar com o script acima auxiliando a automatização do processo de Export Full.
[ORACLE] - Scripts de Export do Oracle para Linux para schema específico
Scripts de Export do Oracle para Linux:
#!/bin/bash
# Carrega variaveis do oracle
export ORACLE_SID=orateste
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
# Variavel para formatar data
data=`date "+%d-%m-%Y"`
# Configuracao de Usuario
sqluser="rm"
sqlpass="rm"
expdp $sqluser/$sqlpass directory=exp_dir dumpfile=exp_$sqluser-$data.dmp logfile=exp_$sqluser-$data.log schemas=$sqluser
Esse script é para fazer o DUMP de somente um usuário específico.
Espero ter ajudado!
quinta-feira, 17 de outubro de 2013
[MS SQL SERVER] - Verificar Arquivo do Banco de dados mais utilizado
Frequentemente precisamos monitorar a utilização de I/O e saber qual arquivo é o mais utilizado em uma base que possui vários arquivos é muito importante. Suponhamos que você isolou a tabela mais utilizada
em 3 arquivos diferentes. Agora para saber qual destes arquivos é o mais utilizado ficou um pouco mais difícil. Para facilitar, podemos utilizar o script abaixo:
SELECT DB_NAME(DB_ID()) AS [Database Name],[file_id], num_of_reads,
num_of_writes,
io_stall_read_ms, io_stall_write_ms,
CAST(100. * io_stall_read_ms/(io_stall_
DECIMAL(10,1)) AS [IO Stall Reads Pct],
CAST(100. * io_stall_write_ms/(io_stall_
AS DECIMAL(10,1)) AS [IO Stall Writes Pct],
(num_of_reads + num_of_writes) AS [Writes + Reads], num_of_bytes_read,
num_of_bytes_written,
CAST(100. * num_of_reads/(num_of_reads + num_of_writes) AS
DECIMAL(10,1)) AS [# Reads Pct],
CAST(100. * num_of_writes/(num_of_reads + num_of_writes) AS
DECIMAL(10,1)) AS [# Write Pct],
CAST(100. * num_of_bytes_read/(num_of_
num_of_bytes_written) AS DECIMAL(10,1)) AS [Read Bytes Pct],
CAST(100. * num_of_bytes_written/(num_of_
num_of_bytes_written) AS DECIMAL(10,1)) AS [Written Bytes Pct]
FROM sys.dm_io_virtual_file_stats(
[ORACLE] - Verificando a quantidade de I/O por Sessão
SELECT sess.SID, sess.username, sess.osuser, sess.program,
sess.machine, s.statistic#, NAME, VALUE
FROM v$sesstat s, v$statname n, v$session sess
WHERE n.statistic# = s.statistic#
AND sess.SID = s.SID
AND n.statistic# IN (9, 42)
Assinar:
Postagens (Atom)
