SQWareProduction:oracle:bin:sqwora DbmsStats.ksh
Contents
Presentation
Script $gvsqw_OraBin/sqwora_DbmsStats.ksh :
gather statistics avec DBMS_STATS
Online help
The online help is available for most scripts with the -h option.
Ex: $gvsqw_OraBin/sqwora_DbmsStats.ksh -h
Content of this assistance :
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... Usage: sqwora_DbmsStats.ksh [-h] -I <instance> [+ options] DESCRIPTION sqwora_DbmsStats.ksh gather statistics with DBMS_STATS SUPPORT Oracle supported versions: 9iR2 <= v <= 21c PARAMETERS -I instance : Target instance to gather statistics with DBMS_STATS. OPTIONS -h : Display the full usage. -s : Display samples of usage. -U Users : Schemas list (all without SYS by default), to gather statistics for SYS, it must be the only one in the list. -EU Users : Schemas list to exclude. -Pdb pdb_name : Set the name of pdb for multitenant. -NLS nls_numeric : Change the value for the SQL parameters NLS_NUMERIC_CHARACTERS (by default: ''). -PCT estimate_pct : Determines the percentage of rows to sample between 0.000001 and 100, you can use the constant DBMS_STATS.AUTO_SAMPLE_SIZE (by default: 10). -BSA block_sample : Determines the uses of random block sampling or random row sampling (by default: TRUE). -MOP method_opt : Set preference method 'FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]' (by default: FOR ALL INDEXED COLUMNS SIZE REPEAT), (for SYS FOR ALL COLUMNS SIZE SKEWONLY). -DEG degree : Determines the degree of parallelism used for gathering statistics, you can use the constant DBMS_STATS.DEFAULT_DEGREE (by default: 1). -GRA granularity : Granularity of statistics to collect, only pertinent if the table is partitioned (by default: ALL). -CAS cascade : Determines whether to collect index statistics as part of gathering table statistics, you can use the constant DBMS_STATS.AUTO_CASCADE (by default: TRUE). -OPT options : Specifies which objects require statistics to be gathered (by default: GATHER AUTO), (for SYS GATHER). -FRT return_code : Force return code value on error. -Dist : For distant connection to database (change $gvsqw_DbaUser to $gvsqw_DistDbaUser@$ORACLE_SID ). -AddMail email : Email address to add at 'pmexpdba@gmail.com'. -SendReport : Send execution log report. -NoMail : Deactivate sendmail on error to pmexpdba@gmail.com (by default, send on error). -Locale locale : Force Locale for help display (fr,en). -Exec : Gather statistics (by default, display generated commands).
Error management
Errors passing arguments
This type of message is generated:
Lack instance parameter, Usage: sqwora_DbmsStats.ksh [-h] -I <instance> [+ options] For full help : sqwora_DbmsStats.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).
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).
Usage examples
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... #Standard help for script sqwora_DbmsStats.ksh: $gvsqw_OraBin/sqwora_DbmsStats.ksh -h #Display online help for this script $gvsqw_OraBin/sqwora_DbmsStats.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_DbmsStats.ksh -s #Display usage examples for this script $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID #Generate commands but don't execute them ! $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -Exec #Gather statistics with DBMS_STATS on instance $ORACLE_SID $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -Dist -Exec #Gather statistics with DBMS_STATS on non-locale instance $ORACLE_SID with distant connection #You need to register credentials to use for distant connection to the instance (user and so on) in file $gvsqw_DistPasswdFile $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -NLS ', '-Exec #change the value for the SQL parameters NLS_NUMERIC_CHARACTERS to ", " : comma and space (by default is ".," managed by $NLS_NUMERIC_CHARACTERS) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -U <UserName> -Exec #Gather statistics with DBMS_STATS for the schemas listed in <UserName> (by default all without SYS, to collect SYS it must the one listed) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -U 'SYS' -Exec #Gather statistics with DBMS_STATS only for the schema SYS $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -EU 'repadmin' -Exec #Exclude the schema repadmin from the gathering statistics with DBMS_STATS $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -PCT '25'-Exec #Determines the percentage of rows to sample, use the constant DBMS_STATS.AUTO_SAMPLE_SIZE (dbsqware default is 10 managed by $gvsqw_Stat_estimate_percent) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -BSA 'FALSE' -Exec #Determines whether the database uses random block sampling TRUE or random row sampling FALSE (default is TRUE) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -MOP 'FOR ALL INDEXED COLUMNS SIZE AUTO' -Exec #Set preference on global, schema, database or dictionary level, by default : FOR ALL INDEXED COLUMNS SIZE REPEAT $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -DEG '2' -Exec #Determines the degree of parallelism used for gathering statistics (default is 1) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -GRA 'GLOBAL AND PARTITION' -Exec #Granularity of statistics to collect (only pertinent if the table is partitioned, default is ALL) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -CAS 'FALSE' -Exec #Determines whether to collect index statistics as part of gathering table statistics (default is TRUE) $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -OPT 'GATHER EMPTY' -Exec #Gathers statistics on objects that currently have no statistics (by default is GATHER AUTO or GATHER if -U 'SYS') $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -Pdb <pdb_name> -Exec #Specify pugable database name <pdb_name> for multitenant environnements $gvsqw_OraBin/sqwora_DbmsStats.ksh -I $ORACLE_SID -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec #Add the mail list to the default address managed by $gvsqw_GlobalMail $gvsqw_OraBin/sqwora_DbmsStats.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_DbmsStats.ksh -I $ORACLE_SID -NoMail -Exec #Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error) $gvsqw_OraBin/sqwora_DbmsStats.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_DbmsStats=<NumericValue> #in configuration file $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg