SQWareProduction:oracle:bin:sqwora DbmsStats.ksh

From Wiki_dbSQWare
Revision as of 18:35, 8 March 2020 by BatchUser (talk | contribs) (Updated by BatchUser)
Jump to: navigation, search

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).

Nuvola apps information.png
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_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).

Nuvola apps information.png
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).

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


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
Nuvola apps information.png
Note:
To be sure the examples are accurate, refer directly to the online help script -s option.