SQWareProduction:oracle:bin:sqwora ExpdpAllPDB.ksh

From Wiki_dbSQWare
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Presentation

Script $gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh :


Generate Oracle expdp for all PDB
Script makes purge of old generation automatically
You can also choose:

  • different retention policy
  • type of compression


- gzip
- bzip2
- compress
- none

  • different directory to put dump file
  • different directory to put log file
  • copy dump file



Online help

The online help is available for most scripts with the -h option.
Ex: $gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -h
Content of this assistance :

Sourcing sqwora_Global.lib v2025.10 SQWareProduction for Oracle (dbSQWare) ... 

Usage: sqwora_ExpdpAllPDB.ksh [-h] -I <instance> [+ options]

DESCRIPTION
   sqwora_ExpdpAllPDB.ksh expdp script
SUPPORT
   Oracle supported versions: 12c <= v <= 23ai

PARAMETERS
     -I  instance       : Target instance to expdp.
OPTIONS
     -h                 : Display the full usage.
     -s                 : Display samples of usage.
     -HI   nb_gen       : Number of generations to keep (by default: 1).
     -P    Nb threads   : Number of threads in parallel (by default 2).
     -IS   listpdb      : List of PDB to copy (by default all).
     -ES   listpdb      : List of PDB to exclude.
     -IL   likeclause   : Like clause to generate PDB list (example: 'pdb%').
     -EL   likeclause   : Like clause to exclude PDB (example: 'nopdb%').
     -AGR Nb_sec        : Nb of seconds between two runs (by default 1s).
     -AGE Nb_sec        : Nb of seconds between two checks of end (by default 10s).
     -PS Nb threads     : Number of PDB in parallel (by default 2).
     -Pdb pdb_name      : pdb_name list for multitenant (by default All).
     -OPT option        : Option to add to the expdp command.
     -ZIP extension     : Compressor extension gz,bz2,Z,none (by default: none).
     -FRT return_code   : Force return code value on error.
     -AddMail   email   : Email address to add at 'demo-sqwarebox@dbsqware.com'.
     -SendReport        : Send execution log report.
     -NoConsistent      : Remove 'flashback_time=systimestamp' option.
     -RD      directory : Expdp directory (by default /$(echo ${HOME}|cut -d/ -f2)/backup/${ORACLE_SID}/expdp).
     -PutInf  u@h:path  : user@host:path to push dump to distant host.
     -WCD  whereclause  : Where clause to generate PDB list.
     -NoMail            : Deactivate sendmail on error to demo-sqwarebox@dbsqware.com (by default, send on error).
     -Locale    locale  : Force Locale for help display (fr,en).
     -Exec              : Execute expdp (by default, display generated commands).

Note:
To be sure the aid is accurate, refer directly to the online help script -h option.


Error management

Errors passing arguments

This type of message is generated:

Lack instance parameter, Usage: sqwora_ExpdpAllPDB.ksh [-h] -I <instance> [+ options]
For full help : sqwora_ExpdpAllPDB.ksh -h

If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:

Not sending mail because you are in connected mode !!!
Lack instance parameter

If you are not connected to a terminal, the error message appears and is sent by mail to the address contained in the variable $gvsqw_GlobalMail (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_oracle : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Execution errors

Whether you are or not connected to a terminal, the error message appears and an email containing a summary of treatment errors is sent to the address contained in the variable $gvsqw_Mail_oracle (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_oracle : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Usage examples

Sourcing sqwora_Global.lib v2025.10 SQWareProduction for Oracle (dbSQWare) ... 

#Standard help for script sqwora_ExpdpAllPDB.ksh:


$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -h
#Display online help for this script

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -Locale en -h
#Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -s
#Display usage examples for this script

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID 
#Generate commands but don't execute them !

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -Exec
#Export all schema for all PDB on the instance $ORACLE_SID

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -IS 'thisone,thatone' -Exec
#List of schemas to include in the copy : thisone and thatone (by default all).

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -ES 'thisotherone,thatotherone' -Exec
#List of schemas to exclude in the copy : thisotherone and thatotherone

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -IL '%_PROD' -Exec
#Clause like to generate dynamic schemas list to include (example: 'sch%').

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -EL '%_TESTS' -Exec
#Clause like to generate dynamic schemas list to exclude (example: 'nosch%')."

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -WCD '<condition>' -Exec
#Clause where to generate dynamic schemas list to include (example: 'OPEN_MODE=MOUNTED')

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -DIR <DirExport> -ZIP <ZipExtension> -Exec
#Execute generated commands and use export directory <DirExport> and compress them (gz,bz2,Z,none)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -PutInf <user@host:path> -Exec
#Export all schema for all PDB of the instance $ORACLE_SID and copy dump files to the path <host:path>

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -Pdb <pdb_name> -Exec
#Specify pugable database name <pdb_name> for multitenant environnements

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -HI <NbGeneration> -Exec
#define the number of expdp version of data to keep for this job

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -AGR 20 -Exec
#Set the waiting time in seconds between two command run, 20s here (by default is 0 manage by $lvsqw_AggressivenessRun)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -AGE 40 -Exec
#Set the waiting time in seconds between two end checks, 40s here (by default is 5 manage by $lvsqw_AggressivenessCheckEnd)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -PS <NumericValue> -Exec
#Number of PDB to process in parallel, work only with Oracle Enterprise

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -P <NumericValue> -Exec
#Run sqwora_ExpdpAllPDB.ksh script with a parallel degree of '<NumericValue>'
#Use by default the variable gvsqw_NbThreadXXX in $gvsqw_OraBin/../etc/sqwora_GlobalVar.cfg
#You can change this default on all your environnement if you set this variable
#in configuration file $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -OPT '<options>' -Exec
#Add the option(s) <options> to the expdp job

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -sysdba -Exec
#Set the user as '/ as sysdba' for the expdp job for all PDB

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -NoConsistent -Exec
#Remove 'flashback_time=systimestamp' option (set by default)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec
#Add the mail list to the default address managed by the variable gvsqw_GlobalMail

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -SendReport -Exec
#Send the log by email at the end of the treatment even if there is no error

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -NoMail -Exec
#Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error)

$gvsqw_OraBin/sqwora_ExpdpAllPDB.ksh -I $ORACLE_SID -FRT <NumericValue> -Exec
#Force return code to '<NumericValue>' on error (if no error, "exit 0!")
#You can also force return code of this script on all your
#environnement if you set the variable: $gvsqw_ForcedReturnCodeScript_sqwora_ExpdpAllPDB=<NumericValue>
#in configuration file $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg
Note:
To be sure the examples are accurate, refer directly to the online help script -s option.