
Este script foi desenvolvido para simplificar a criação dos arquivos PFILE de todos os databases configurados em um mesmo servidor, abrangendo todas as instâncias disponíveis.
Em alguns ambientes, possuo servidores com varios databases, e gerar esses arquivos manualmente pode ser um processo demorado e repetitivo.
Pensando nisso, criei este shell script para automatizar a criação dos PFILEs e tornar a administração mais prática e eficiente.
Não configure variáveis de ambiente, todos os bancos de dados devem conter uma entrada no arquivo oratab, a criação do pfile será no /home/oracle/scripts/.
DATABASES
#!/bin/bash
export HOJE=`date +%Y%m%d%H%M%S`
server=`hostname`
for ORACLE_SID in `ps -e -o "cmd" | grep smon|grep -v grep|awk '!/ASM/'| awk -F "_" '{print$3}'`
do
ORAENV_ASK=NO
export ORAENV_ASK
export ORACLE_SID
echo $ORACLE_SID
. /usr/local/bin/oraenv >/dev/null 2>&1
#echo SID=$ORACLE_SID
sqlplus -S / as sysdba <<< "
SET TIMING OFF
set heading off feedback off pagesize 0
create pfile='/home/oracle/scripts/pfile_${server}_${ORACLE_SID}_${HOJE}.txt' from spfile;
create pfile='/home/oracle/scripts/pfile_${server}_${ORACLE_SID}_${HOJE}_memoty.txt' from memory;
exit;
"
doneGRID
export HOJE=`date +%Y%m%d%H%M%S`
for ORACLE_SID in `ps -e -o "cmd" | grep smon|grep -v grep|awk '/ASM/'| awk -F "_" '{print$3}'`
do
ORAENV_ASK=NO
export ORAENV_ASK
export ORACLE_SID
echo $ORACLE_SID
. /usr/local/bin/oraenv >/dev/null 2>&1
#echo SID=$ORACLE_SID
sqlplus -S / as sysasm <<< "
SET TIMING OFF
set heading off feedback off pagesize 0
create pfile='/home/grid/scripts/pfile_${ORACLE_SID}_${HOJE}.txt' from spfile;
create pfile='/home/grid/scripts/pfile_${ORACLE_SID}_${HOJE}_memoty.txt' from memory;
exit;
"
doneOutput
[root@vrddbadm01vm01 ~]# ls -lart /home/oracle/scripts/*pfile*
-rw-r--r-- 1 oracle asmadmin 3178 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd231_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 6269 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd231_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 2431 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl111_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 5856 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl111_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 1989 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl031_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 5223 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl031_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 2007 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd021_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 5221 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd021_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 2496 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl121_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 5733 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl121_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 1462 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd011_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 7378 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oraprd011_20251101091641_memoty.txt
-rw-r--r-- 1 oracle asmadmin 2986 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl131_20251101091641.txt
-rw-r--r-- 1 oracle asmadmin 6359 Nov 1 09:16 /home/oracle/scripts/pfile_vrddbadm01vm01_oragbl131_20251101091641_memoty.txt