Difference between revisions of "SQWareCentral:oracle"

From Wiki_dbSQWare
Jump to: navigation, search
Line 1: Line 1:
== présentation ==
+
{{SQWareCentralPresSgbd|oracle}}
=== utilisation ===
 
Cette arborescence est utilisée pour les actions centrales du sgbd oracle.<br>
 
Exemples d'utilisation:
 
*Déploiement des scripts de expdbTools
 
*Collecte des indicateurs oracle
 
*Reprise de la collecte
 
*Lancement de n'importe quel type d'action sur une liste
 
*...
 
<br>
 
=== explication de l'arborescence ===
 
Arborescences se trouvant dans $gvsqw_RootexpdbCentral/action/oracle/prod:
 
*auto : Répertoire contenant les scripts d'action standard
 
*auto_cust : Répertoire contenant les scripts d'action custom à votre environnement (remplacent les standards)
 
*etc : Répertoire contenant les fichiers de configuration standard
 
*etc_cust : Répertoire contenant les fichiers de configuration custom à votre environnement (surchangent les standards)
 
*lst : Répertoire contenant les scripts de génération de listes standard
 
*lst_cust : Répertoire contenant les scripts de génération de listes custom à votre environnement (remplacent les standards)
 
{{Warning_custom}}
 
<br>
 
  
 
== auto ==
 
== auto ==

Revision as of 14:28, 14 July 2010

Presentation

Usage

This directory is used for central actions of oracle RDBMS.
Usage examples:

  • Deployment scripts of SQWareProduction™ for each RDBMS managed
  • Collection of oracle indicators
  • Repeat of collection oracle
  • Execute any type of action on a list
  • ...

Download the latest stable versions

Explanation of directories

Directories located in $gvsqw_RootexpdbCentral/action/oracle/prod:

  • auto : Directory containing standard action scripts
  • auto_cust : Directory containing customs action scripts for your environnement
  • etc : Directory containing the standard files of configuration
  • etc_cust : Directory containing the customs files of configuration for your environnement (overload standards)
  • lst : Directory containing the standard generators of lists
  • lst_cust : Directory containing the customs generators of lists for your environnement
Nuvola apps important.png
Warning:
Do not change the standard scripts and configuration files of dbSQWare.

Use directories *_cust for customizations. This will facilitate version upgrades.


auto

sqwora_CheckInstance.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_CheckInstance.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_CheckInstance.ksh.
Verifie le parametrage et la securite

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName lvsqw_Instance
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName $lvsqw_Instance${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH &
. ./.profile $lvsqw_Instance
$gvsqw_RootSQWareProductionOracle/$gvsqw_VersSQWareProductionOracle/bin/sqwora_RunJob.ksh -I $lvsqw_Instance -A CheckInstance
EOFSSH
sleep 1
done <$gvsqw_TmpFile.lst
jobs
wait
}


sqwora_DeplScripts.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_DeplScripts.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_DeplScripts.ksh.
Deploiement de SQWareProduction pour Oracle

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH
mkdir -p $gvsqw_RootSQWareProductionOracle/$gvsqw_VersDeplSQWareProductionOracle
cd $gvsqw_RootSQWareProductionOracle
ln -sf $gvsqw_VersDeplSQWareProductionOracle $gvsqw_VersSQWareProductionOracle
EOFSSH
rsync -aHv $gvsqw_RsyncPathOracle --delete $gvsqw_RootSQWareProduction/oracle/$gvsqw_VersDeplSQWareProductionOracle $lvsqw_UserName@$lvsqw_HostName:$gvsqw_RootSQWareProductionOracle/.
done <$gvsqw_TmpFile.lst
}


sqwora_GatherIndicators.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_GatherIndicators.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_GatherIndicators.ksh.
Collecte des indicateurs Oracle

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName lvsqw_Instance
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName $lvsqw_Instance${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH &
. ./.profile $lvsqw_Instance
$gvsqw_RootSQWareProductionOracle/$gvsqw_VersSQWareProductionOracle/bin/sqwora_RunJob.ksh -I $lvsqw_Instance -A IndicDba
EOFSSH
sleep 1
done <$gvsqw_TmpFile.lst
jobs
wait
}


sqwora_GenerateAwr.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_GenerateAwr.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_GenerateAwr.ksh.
collecte des rapports AWR

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName lvsqw_Instance
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName $lvsqw_Instance${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH &
. ./.profile $lvsqw_Instance
$gvsqw_RootSQWareProductionOracle/$gvsqw_VersSQWareProductionOracle/bin/sqwora_RunJob.ksh -I $lvsqw_Instance -A GenAwr
EOFSSH
sleep 10
done <$gvsqw_TmpFile.lst
jobs
wait
}


sqwora_RmanFull.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_RmanFull.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_RmanFull.ksh.
Backup full avec RMAN (incremental level 0)

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName lvsqw_Instance
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName $lvsqw_Instance${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH &
. ./.profile $lvsqw_Instance
$gvsqw_RootSQWareProductionOracle/$gvsqw_VersSQWareProductionOracle/bin/sqwora_RunJob.ksh -I $lvsqw_Instance -A RmanFull
EOFSSH
sleep 30
done <$gvsqw_TmpFile.lst
jobs
wait
}


sqwora_RmanInc.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_RmanInc.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_RmanInc.ksh.
Backup inc avec RMAN (incremental level 2)

Requête utilisée:

lfsqw_Action()
{
while read lvsqw_HostName lvsqw_UserName lvsqw_Instance
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName $lvsqw_Instance${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH &
. ./.profile $lvsqw_Instance
$gvsqw_RootSQWareProductionOracle/$gvsqw_VersSQWareProductionOracle/bin/sqwora_RunJob.ksh -I $lvsqw_Instance -A RmanInc
EOFSSH
sleep 30
done <$gvsqw_TmpFile.lst
jobs
wait
}


sqwora_StartedInstances.ksh

Script d'action $gvsqw_RootexpdbCentral/action/oracle/auto/sqwora_StartedInstances.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/auto_cust/sqwora_StartedInstances.ksh.
collecte des instances actives

Requête utilisée:

lfsqw_Action()
{
>$gvsqw_TmpFile
while read lvsqw_HostName lvsqw_UserName
do
echo "${c_info}$lvsqw_UserName@$lvsqw_HostName${c_normal}"
ssh -T $lvsqw_UserName@$lvsqw_HostName <<EOFSSH>>$gvsqw_TmpFile
ps -edf |grep 'pmon_[a-zA-Z][a-zA-Z]*'|grep -v grep|awk '{print "indic $lvsqw_HostName",\$1,\$NF}'|sed 's,ora_pmon_,,'
EOFSSH
done <$gvsqw_TmpFile.lst

grep '^indic ' $gvsqw_TmpFile >$gvsqw_TmpFile.bis
echo "delete tsqw_StartedInstances;">$gvsqw_TmpFile.sql
while read lvsqw_Tmp lvsqw_Host lvsqw_User lvsqw_Instance
do
	echo "insert into tsqw_StartedInstances (ORACLE_SID,GATHER_DATE,HOST_NAME,USERNAME) values ('$lvsqw_Instance',trunc(sysdate),'$lvsqw_Host','$lvsqw_User');">>$gvsqw_TmpFile.sql
done <$gvsqw_TmpFile.bis
echo "commit;" >>$gvsqw_TmpFile.sql
sqlplus -s -L /nolog <<EOFSQL|grep -iv 'Connected'
conn $gvsqw_DbRefUser_oracle/$gvsqw_DbRefPass_oracle@$gvsqw_DbRefInstance_oracle
@$gvsqw_TmpFile.sql
EOFSQL
}




etc

sqwc_DbRefVar.cfg

Fichier de configuration $gvsqw_RootexpdbCentral/action/oracle/etc/sqwc_DbRefVar.cfg:
Il contient les variables de fonctionnement de SQWareCentral pour le SGBD oracle.
Les variables que l'on veut modifier sont à placer dans $gvsqw_RootexpdbCentral/action/oracle/etc_cust/sqwc_DbRefVar.cfg.

Nuvola apps information.png
Note:
Vous dévez forcément adapter ce fichier à votre environnement.
gvsqw_DbRefDatabase_oracle => Database du referentiel [par défaut: 'DatabaseInstanceNameForOracle']
gvsqw_DbRefInstance_oracle => Instance du referentiel [par défaut: 'InstanceNameForOracle']
gvsqw_DbRefPass_oracle => Mot de passe de connexion au referentiel [par défaut: 'ConnexionPassForOracle']
gvsqw_DbRefPort_oracle => Port du referentiel [par défaut: 'InstancePortForOracle']
gvsqw_DbRefType_oracle => Type de referentiel [par défaut: 'oracle']
gvsqw_DbRefUser_oracle => User de connexion au referentiel [par défaut: 'ConnexionUserForOracle']


sqwc_ExpVar.cfg

Fichier de configuration $gvsqw_RootexpdbCentral/action/oracle/etc/sqwc_ExpVar.cfg:
Il contient les variables de fonctionnement de SQWareCentral pour le SGBD oracle.
Les variables que l'on veut modifier sont à placer dans $gvsqw_RootexpdbCentral/action/oracle/etc_cust/sqwc_ExpVar.cfg.

gvsqw_MailMsg_oracle => message de début de sujet de mail [par défaut: 'TrtOraAuto']
gvsqw_Mail_oracle => adresse pour envoi des mails [par défaut: 'dba']
gvsqw_RootSQWareProductionOracle => Répertoire de déploiement de SQWareProduction [par défaut: "~$gvsqw_UserUniqueOracle/SQWareProduction/oracle"]
gvsqw_VersDeplSQWareProductionOracle => Version de SQWareProduction à déployer  [par défaut: 'v1.1']
gvsqw_VersSQWareProductionOracle => Lien utilisé pour la version courante [par défaut: 'prod']


sqwc_GlobalVar.cfg

Fichier de configuration $gvsqw_RootexpdbCentral/action/oracle/etc/sqwc_GlobalVar.cfg:
Il contient les variables de fonctionnement de SQWareCentral pour le SGBD oracle.
Les variables que l'on veut modifier sont à placer dans $gvsqw_RootexpdbCentral/action/oracle/etc_cust/sqwc_GlobalVar.cfg.

gvsqw_UserUniqueOracle => User Unix generique (unique) de deploiement [par défaut: 'sysdba']


.profile_confort

Fichier de positionnement d'alias $gvsqw_RootexpdbCentral/action/oracle/etc/.profile_confort:
Il contient les alias de confort de SQWareCentral pour le SGBD oracle.
Peut-être surchargé par $gvsqw_RootexpdbCentral/action/oracle/etc_cust/.profile_confort.

act_ora => 'cd $gvsqw_RootexpdbCentral/action/oracle/prod;ls -al'
depl_ora => '$gvsqw_RootexpdbCentral/bin/sqwc_TrtAuto.ksh oracle sqwora_DeplScripts.ksh sqwora_GenLstUnique.ksh NOLOG CONFIRM'
gen_ora => '$gvsqw_RootexpdbCentral/action/oracle/lst/sqwc_GenRefOracle.ksh'
repind_ora => '$gvsqw_RootexpdbCentral/bin/sqwc_TrtAuto.ksh oracle sqwora_GatherIndicators.ksh sqwora_GenLstRepind.ksh NOLOG'



lst

sqwc_GenRefDbOracle.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwc_GenRefDbOracle.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwc_GenRefDbOracle.ksh.
Génére le fichier de référence schéma Oracle automatiquement à partir du référentiel contenu en bdd.
En savoir plus sur le référentiel dbb.
En savoir plus sur le référentiel dbb oracle.
Le fichier de référence se trouvent dans $gvsqw_RootexpdbCentral/etc_cust/RefDb_oracle.txt.

Requête utilisée:

select 'ORA;' || vol.ORACLE_SID || ';' || vol.OWNER || ';' || ref.Env || ';' ||
  hist.Version || ';' || hist.maj_version || ';' || to_char(round(vol.size_sch/1024,0)) || ';' ||
  ref.Comments || ';' || ref.VIRT_HOST_NAME || ';' || ref.HOST_NAME || ';' || to_char(vol.GATHER_DATE,'DD/MM/YYYY')
from tsqw_Repository ref, tsqw_VolSchema vol, tsqw_GenHisto hist
where hist.MONTH=trunc(sysdate,'MM')
    and ref.ORACLE_SID = hist.ORACLE_SID
    and hist.ORACLE_SID = vol.ORACLE_SID
    and hist.GATHER_DATE = vol.GATHER_DATE
    and ref.STATUS!='OFF'
    and vol.OWNER not in ('SYSTEM','SYSMAN','OTLN')
    and vol.OWNER not like 'OPS$%'
order by vol.OWNER, vol.ORACLE_SID
;


sqwc_GenRefOracle.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwc_GenRefOracle.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwc_GenRefOracle.ksh.
Génére le fichier de référence Oracle automatiquement à partir du référentiel contenu en bdd.
En savoir plus sur le référentiel dbb.
En savoir plus sur le référentiel dbb oracle.
Le fichier de référence se trouvent dans $gvsqw_RootexpdbCentral/etc_cust/Ref_oracle.txt.

Requête utilisée:

col vip_ for a22               head "VirtHost" trunc
col uni_ for a12        head "Host"     trunc
col usr_ for a12        head "User"     trunc
col bas_ for a8         head "Base"     trunc
col pot_ for 9999       head "Port"
col sta_ for a5         head "Stat"     trunc
col env_ for a3         head "Env"      trunc
col com_ for a30        head "Description"      trunc
col con_ for a20        head "Contact"  trunc
col cli_ for a8         head "Client"   trunc
select virt_host_name vip_, host_name uni_, username usr_, oracle_sid bas_,
port pot_, status sta_, env env_, comments com_, contact con_, client cli_
from tsqw_Repository r
union
select virt_host_name vip_, host_name uni_, username usr_, oracle_sid bas_,
port pot_, status sta_, env env_, comments com_, contact con_, client cli_
from tsqw_RepositoryOther r
order by 2,1,3,4;


sqwora_GenLstAwr.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstAwr.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstAwr.ksh.
Generation de la liste des instances Oracle >= 10g (tsqw_Repository/tsqw_GenHisto)

Requête utilisée:

select ref.VIRT_HOST_NAME||' '||ref.USERNAME||' '||ref.ORACLE_SID
from tsqw_Repository ref
where ref.STATUS = 'ON'
and exists ( select 1 from tsqw_GenHisto inf
where inf.GATHER_DATE = trunc(sysdate)
order by 1;


sqwora_GenLstInstance.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstInstance.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstInstance.ksh.
Generation de la liste des instances Oracle (tsqw_Repository)

Requête utilisée:

select VIRT_HOST_NAME||' '||USERNAME||' '||ORACLE_SID
from tsqw_Repository
where STATUS = 'ON'
order by VIRT_HOST_NAME, USERNAME;


sqwora_GenLstRepBckFull.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstRepBckFull.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstRepBckFull.ksh.
Generation de la liste pour reprise des backups full (tsqw_Repository/tsqw_VolBackups)

Requête utilisée:

select ref.VIRT_HOST_NAME||' '||ref.USERNAME||' '||ref.ORACLE_SID
from tsqw_Repository ref
where not exists ( select 1 from tsqw_VolBackups inf
                    where inf.BEGINNING >= sysdate-$gvsqw_NbDaysFull
and not exists ( select 1 from tsqw_VolBackupsExclude ecl
                    where ref.ORACLE_SID = ecl.ORACLE_SID)
order by 1;


sqwora_GenLstRepBckInc.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstRepBckInc.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstRepBckInc.ksh.
Generation de la liste pour reprise des backups inc (tsqw_Repository/tsqw_VolBackups)

Requête utilisée:

select ref.VIRT_HOST_NAME||' '||ref.USERNAME||' '||ref.ORACLE_SID
from tsqw_Repository ref
where not exists ( select 1 from tsqw_VolBackups inf
                    where inf.BEGINNING >= sysdate-$gvsqw_NbDaysInc
and not exists ( select 1 from tsqw_VolBackupsExclude ecl
                    where ref.ORACLE_SID = ecl.ORACLE_SID)
order by 1;


sqwora_GenLstRepind.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstRepind.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstRepind.ksh.
Generation de la liste pour reprise des indicateurs (tsqw_Repository/tsqw_GenHisto)

Requête utilisée:

select ref.VIRT_HOST_NAME||' '||ref.USERNAME||' '||ref.ORACLE_SID
from tsqw_Repository ref
where ref.STATUS = 'ON'
and not exists ( select 1 from tsqw_GenHisto inf
where inf.GATHER_DATE = trunc(sysdate)
order by VIRT_HOST_NAME, ref.USERNAME;


sqwora_GenLstUnique.ksh

Script de génération de liste $gvsqw_RootexpdbCentral/action/oracle/lst/sqwora_GenLstUnique.ksh:
Peut-être remplacé par $gvsqw_RootexpdbCentral/action/oracle/lst_cust/sqwora_GenLstUnique.ksh.
Generation liste user unique (tsqw_Repository/tsqw_RepositoryOther)

Requête utilisée:

select distinct HOST_NAME||' $gvsqw_UserUniqueOracle'
from tsqw_Repository
where STATUS = 'ON'
select distinct HOST_NAME||' $gvsqw_UserUniqueOracle'
from tsqw_RepositoryOther
order by 1;