SQWareProduction:mysql

From Wiki_dbSQWare
Revision as of 20:03, 18 December 2010 by Exploit (talk | contribs) (Updated by Expdbtools)
Jump to: navigation, search

Presentation

Usage

It's the module locally operating of mysql.
It is entirely written in ksh and sql.
It allows to manage the operation for mysql.
Example uses of the tool:

  • Backup
  • Recovery
  • Compute statistics
  • Indicators collection to store in referential database SQWareRepository
  • Rotate logs
  • ....

This module is deployed locally on the machine hosting the authorities to manage, in order to avoid any points of weakness related to an NFS mount or whatever. The deployment is done through a simple command SQWareCentral module using inventory located in SQWareRepository !
Installation guide for SQWareProduction for mysql

Explanation of directories

Directories located in $gvsqw_MysBin:

  • bin : Directory containing standard scripts
  • bin_cust : Directory containing customs 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)
  • help : Directory containing the standard files of help
  • help_cust : Directory containing the customs files of help for your environnement
  • lib : Directory containing the generic shell function librairies
  • lib_cust : Directory containing the generic shell function librairies (overload standards)
  • spm : Contain sql query toolkit
  • tools : Directory containing the standard scripts used on an ad hoc
  • tools_cust : Directory containing the customs scripts used on an ad hoc for your environnement
  • menu : Directory containing the standard menus
  • menu_cust : Directory containing the custom menus 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.


Naming convention of files

The majority of files are named with suffixes:

  • *.ksh : for scripts
  • *.cfg : for configuration files
  • *.lib : for function librairies
  • *.hlp : for help files
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.


Naming convention in scripts

In general, the following naming convention is used in all scripts of SQWareProduction:

  • gvsqw_ {} : global variable initialized by the environment and / or generic library
  • lvsqw_ {} : local variable initialized by the script and / or a specific library
  • gfsqw_ {} : function defined by a generic library
  • lfsqw_ {} : function defined by the script and / or a specific library

bin

sqwmys_AnalyzeAllDatabases.ksh

Script $gvsqw_MysBin/bin/sqwmys_AnalyzeAllDatabases.ksh:

Run of sqwmys_AnalyzeDatabase.ksh in parallel mode
You can choose:

  • The parallel degree
  • Aggressiveness of run (number of seconds between two runs)
  • Aggressiveness of check end (number of seconds between two checks of end)


Filters to generate database list (you can mix all off them):

  • Include list of database
  • Exclude list of database
  • Include like clause
  • Exclude like clause
  • Where clause

See the detailed help for sqwmys_AnalyzeAllDatabases.ksh

sqwmys_AnalyzeDatabase.ksh

Script $gvsqw_MysBin/bin/sqwmys_AnalyzeDatabase.ksh:

Analyze of all tables for the database
Use command: analyse local table <TableName> See the detailed help for sqwmys_AnalyzeDatabase.ksh

sqwmys_CheckIndicators.ksh

Script $gvsqw_MysBin/bin/sqwmys_CheckIndicators.ksh:

Checks the indicators collected by sqwmys_GatherIndicators.ksh
indicators are stored in SQWareRepository
generates email in html format with links to SQWareWeb
Standards checks:

  • Instances without indicators
  • Usage rate of FS
  • Instances without backup succeed since ${gvsqw_NbDaysFull} days
  • Databases without backup full succeed since ${gvsqw_NbDaysFull} days

See the detailed help for sqwmys_CheckIndicators.ksh

sqwmys_DumpAllDatabases.ksh

Script $gvsqw_MysBin/bin/sqwmys_DumpAllDatabases.ksh:

Run of sqwmys_DumpDatabase.ksh in parallel mode
You can choose:

  • The parallel degree
  • Aggressiveness of run (number of seconds between two runs)
  • Aggressiveness of check end (number of seconds between two checks of end)


Filters to generate database list (you can mix all off them):

  • Include list of database
  • Exclude list of database
  • Include like clause
  • Exclude like clause
  • Where clause

See the detailed help for sqwmys_DumpAllDatabases.ksh

sqwmys_DumpDatabase.ksh

Script $gvsqw_MysBin/bin/sqwmys_DumpDatabase.ksh:

Generate mysqlDump of database compressed by pipe
Script makes purge of old generation automatically
You can also choose:

  • different retention policy
  • add option to mysqlDump command
  • make Dump in consistent mode

See the detailed help for sqwmys_DumpDatabase.ksh

sqwmys_GatherIndicators.ksh

Script $gvsqw_MysBin/bin/sqwmys_GatherIndicators.ksh:

Gather MySql indicators and put them in SQWareRepository
Summary of collection:

  • Volumetry of instance
  • Volumetry of databases
  • Volumetry (use, free) of FS
  • Version, options, configuration, ... of instance

See the detailed help for sqwmys_GatherIndicators.ksh

sqwmys_OptimizeAllDatabases.ksh

Script $gvsqw_MysBin/bin/sqwmys_OptimizeAllDatabases.ksh:

Run of sqwmys_OptimizeDatabase.ksh in parallel mode
You can choose:

  • The parallel degree
  • Aggressiveness of run (number of seconds between two runs)
  • Aggressiveness of check end (number of seconds between two checks of end)


Filters to generate database list (you can mix all off them):

  • Include list of database
  • Exclude list of database
  • Include like clause
  • Exclude like clause
  • Where clause

See the detailed help for sqwmys_OptimizeAllDatabases.ksh

sqwmys_OptimizeDatabase.ksh

Script $gvsqw_MysBin/bin/sqwmys_OptimizeDatabase.ksh:

Reorganize of all tables for the database
Use command: optimize local table <TableName> See the detailed help for sqwmys_OptimizeDatabase.ksh

sqwmys_ParallelRun.ksh

Script $gvsqw_MysBin/bin/sqwmys_ParallelRun.ksh:

Manages the execution of unix commands in parallel mode
Takes in parameter file with unix command to execute
You can choose:

  • The parallel degree
  • Aggressiveness of run (number of seconds between two runs)
  • Aggressiveness of check end (number of seconds between two checks of end)


See the detailed help for sqwmys_ParallelRun.ksh

sqwmys_PurgeAlert.ksh

Script $gvsqw_MysBin/bin/sqwmys_PurgeAlert.ksh:

Rotate error log of instance
Archive and purge See the detailed help for sqwmys_PurgeAlert.ksh

sqwmys_RotateLogSlowQuery.ksh

Script $gvsqw_MysBin/bin/sqwmys_RotateLogSlowQuery.ksh:

Rotate slow_query_log_file
Archive, purge and copy to SQWareWeb
You can choose to not copy to SQWareWeb See the detailed help for sqwmys_RotateLogSlowQuery.ksh

sqwmys_RunJob.ksh

Script $gvsqw_MysBin/bin/sqwmys_RunJob.ksh:

Run MySQL scripts and generate log and error file
based on $gvsqw_RootCfg/sqwmys_Jobs.cfg configuration file
compress and purge oldest log files See the detailed help for sqwmys_RunJob.ksh


etc

CrontabRef

Configuration file $gvsqw_MysBin/../etc/CrontabRef:


Nuvola apps information.png
Note:
You can replace file $gvsqw_MysBin/../etc/CrontabRef

by $gvsqw_MysBin/../etc_cust/CrontabRef for all your environnement
or by $HOME/edtConfig/CrontabRef specifically for this user..

See the detailed help for CrontabRef

sqwmys_DbRefVar.cfg

Configuration file $gvsqw_MysBin/../etc/sqwmys_DbRefVar.cfg:
Global var for indicators
It contains the operating variables of SQWareProduction.

Nuvola apps information.png
Note:
You can overload variables contain in $gvsqw_MysBin/../etc/sqwmys_DbRefVar.cfg

by the same variables in $gvsqw_MysBin/../etc_cust/sqwmys_DbRefVar.cfg for all your environnement
or in $HOME/sqwConfig/sqwmys_DbRefVar.cfg specifically for this user.

See the detailed help for sqwmys_DbRefVar.cfg

sqwmys_GlobalVar.cfg

Configuration file $gvsqw_MysBin/../etc/sqwmys_GlobalVar.cfg:
Global var for Mysql
It contains the operating variables of SQWareProduction.

Nuvola apps information.png
Note:
You can overload variables contain in $gvsqw_MysBin/../etc/sqwmys_GlobalVar.cfg

by the same variables in $gvsqw_MysBin/../etc_cust/sqwmys_GlobalVar.cfg for all your environnement
or in $HOME/sqwConfig/sqwmys_GlobalVar.cfg specifically for this user.

See the detailed help for sqwmys_GlobalVar.cfg

sqwmys_IndicatorsVar.cfg

Configuration file $gvsqw_MysBin/../etc/sqwmys_IndicatorsVar.cfg:
Global var for indicators scripts
It contains the operating variables of SQWareProduction.

Nuvola apps information.png
Note:
You can replace file $gvsqw_MysBin/../etc/sqwmys_IndicatorsVar.cfg

by $gvsqw_MysBin/../etc_cust/sqwmys_IndicatorsVar.cfg for all your environnement
or by $HOME/edtConfig/sqwmys_IndicatorsVar.cfg specifically for this user..

See the detailed help for sqwmys_IndicatorsVar.cfg

sqwmys_Jobs.cfg

Configuration file $gvsqw_MysBin/../etc/sqwmys_Jobs.cfg:


Nuvola apps information.png
Note:
You can replace file $gvsqw_MysBin/../etc/sqwmys_Jobs.cfg

by $gvsqw_MysBin/../etc_cust/sqwmys_Jobs.cfg for all your environnement
or by $HOME/edtConfig/sqwmys_Jobs.cfg specifically for this user..

See the detailed help for sqwmys_Jobs.cfg

my.cnf

Configuration file $gvsqw_MysBin/../etc/my.cnf:


Nuvola apps information.png
Note:
You can replace file $gvsqw_MysBin/../etc/my.cnf

by $gvsqw_MysBin/../etc_cust/my.cnf for all your environnement
or by $HOME/edtConfig/my.cnf specifically for this user..

See the detailed help for my.cnf

.profile

Sample file for .profile $gvsqw_MysBin/../etc/.profile:
Sample of lines to add to .profile of mysql users.
See the detailed help for .profile

.profile_confort

File to put aliases $gvsqw_MysBin/../etc/.profile_confort:
Contains confort aliases of SQWareProduction for RDBMS mysql.

Nuvola apps information.png
Note:
You can overload confort environnement $gvsqw_MysBin/../etc/.profile_confort

with $gvsqw_MysBin/../etc_cust/.profile_confort for all your environnement
or with $HOME/edtConfig/.profile_confort specifically for this user .


See the detailed help for .profile_confort


lib

sqwmys_CheckIndicators.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_CheckIndicators.lib:
lib for sqwmys_CheckIndicators.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_CheckIndicators.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_CheckIndicators.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_CheckIndicators.lib specifically for this user .


See the detailed help for sqwmys_CheckIndicators.lib

sqwmys_CheckIndicators_Overload.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_CheckIndicators_Overload.lib:
temple lib for overload sqwmys_CheckIndicators.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_CheckIndicators_Overload.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_CheckIndicators_Overload.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_CheckIndicators_Overload.lib specifically for this user .


See the detailed help for sqwmys_CheckIndicators_Overload.lib

sqwmys_DumpDatabase.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_DumpDatabase.lib:
lib for sqwmys_DumpDatabase.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_DumpDatabase.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_DumpDatabase.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_DumpDatabase.lib specifically for this user .


See the detailed help for sqwmys_DumpDatabase.lib

sqwmys_GatherIndicators.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_GatherIndicators.lib:
lib for sqwmys_GatherIndicators.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_GatherIndicators.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_GatherIndicators.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_GatherIndicators.lib specifically for this user .


See the detailed help for sqwmys_GatherIndicators.lib

sqwmys_GatherIndicators_Overload.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_GatherIndicators_Overload.lib:
lib for overLoad sqwmys_GatherIndicators.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_GatherIndicators_Overload.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_GatherIndicators_Overload.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_GatherIndicators_Overload.lib specifically for this user .


See the detailed help for sqwmys_GatherIndicators_Overload.lib

sqwmys_Global.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_Global.lib:
central lib of generic fonctions for mysql

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_Global.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_Global.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_Global.lib specifically for this user .


See the detailed help for sqwmys_Global.lib

sqwmys_InsertIndicators.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_InsertIndicators.lib:
generic fonctions to insert into referential

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_InsertIndicators.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_InsertIndicators.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_InsertIndicators.lib specifically for this user .


See the detailed help for sqwmys_InsertIndicators.lib

sqwmys_OptimizeDatabase.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_OptimizeDatabase.lib:
lib for sqwmys_OptimizeDatabase.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_OptimizeDatabase.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_OptimizeDatabase.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_OptimizeDatabase.lib specifically for this user .


See the detailed help for sqwmys_OptimizeDatabase.lib

sqwmys_RotateLogSlowQuery.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_RotateLogSlowQuery.lib:
lib for sqwmys_RotateLogSlowQuery.ksh

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_RotateLogSlowQuery.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_RotateLogSlowQuery.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_RotateLogSlowQuery.lib specifically for this user .


See the detailed help for sqwmys_RotateLogSlowQuery.lib

sqwmys_SetEnv.lib

shell functions librairy $gvsqw_MysBin/../lib/sqwmys_SetEnv.lib:
fonction to set env for $MYSQL_SID

Nuvola apps information.png
Note:
You can overload functions contained in $gvsqw_MysBin/../lib/sqwmys_SetEnv.lib

by function with same name in $gvsqw_MysBin/../lib_cust/sqwmys_SetEnv.lib for all your environnement
or by $HOME/sqwConfig/sqwmys_SetEnv.lib specifically for this user .


See the detailed help for sqwmys_SetEnv.lib


menu


tools

sqwmys_ConnectMsg.ksh

Script $gvsqw_MysBin/../tools/sqwmys_ConnectMsg.ksh:
startup message See the detailed help for sqwmys_ConnectMsg.ksh

sqwmys_MonitorAgentAdmin.ksh

Script $gvsqw_MysBin/../tools/sqwmys_MonitorAgentAdmin.ksh:
Mysql monitor agent services See the detailed help for sqwmys_MonitorAgentAdmin.ksh

sqwmys_MysqlAdmin.ksh

Script $gvsqw_MysBin/../tools/sqwmys_MysqlAdmin.ksh:
stop/start of mysql services See the detailed help for sqwmys_MysqlAdmin.ksh

sqwmys_SetEnv.ksh

Script $gvsqw_MysBin/../tools/sqwmys_SetEnv.ksh:
set env for $MYSQL_SID

Nuvola apps information.png
Note:
You can replace the file in $gvsqw_MysBin/../tools/sqwmys_SetEnv.ksh

by $gvsqw_MysBin/../tools_cust/sqwmys_SetEnv.ksh for all your environnement
or by $HOME/edtConfig/sqwmys_SetEnv.ksh specifically for this user .

See the detailed help for sqwmys_SetEnv.ksh


help

Contains help files for -s option of bin scripts.


spm

SQL query toolkit
See the detailed help for spm