Question, I'm cleaning up my SOI-LAB environment but do not want to wipe the entire DB. I stopped all connectors and removed them but the Tenant0 entry still exists and in the SOI Modeler it has 200+ entries still? How do you remove or clean up this connector?
tenant0 is the local SOI Manager and should not be removed.
You can delete its entries by:
- checking in the table ConnectorConfiguration which ID this connector has
- purging all CIs from the CIStaging table with this connector ID
You should also run soitoolbox with the --purgeDBInconsistencies option.
This cleans up orphans and other "inconsistent" items.
A while ago I posted an entry on the community to cleanup tables which no other process does.
Have a look there as well: Additional Cleanup in the SOI Database
Why don' you want to rebuild the DB (using soitoolbox --reinitializeDB and --rebuildIndexes)?
It will give you a clean environment, but keep the configuration (such as email server, etc.) intact.
Hi Michael, thanks for the info.
I've never used the soitoolbox command to rebuild the SOI db. I always just used CA\SOI\SAMStore\SAMStoreRebuild.exe.
Does the soitoolbox.exe db clean up options keep all the Users within each group untouched afterwards? Also all my AEP and Actions I need to leave alone as well.
--reinitializeDB ... Empties the whole SOI database - deletes data from all tables (use it to recreate a clean state after a fresh installation)
--rebuildIndexes ... Rebuilds database indexes
Integrator's toolbox for CA SOI 3.x
Version v. 0.19.5
soitoolbox [--machine=<localhost> | -m <localhost>]
[--dbName=<SAMStore> | -d <SAMStore>]
[--dbUsername=<sa> | -u <sa>]
[--dbPassword=<> | -p <>]
[--mUsername=<Administrator> | -n <Administrator>]
[--mPassword=<> | -w <>]
[--credentials=<> | -x]
[--verbose | -v]
[--beSmart | -s]
[--timeout=<> | -t <>]
[--dbConnectionTimeout=<30> | -b <30>]
[--quiet | -q]
[--stopAllServices | --startAllServices | --restartAllServices
[--startConnector [--connector=<*> | -c <*>]]
[--stopConnector [--connector=<*> | -c <*>]]
[--getStatisticalData [--connector=<*> | -c <*>]]
[--cleanImportedData [--connector=<*> | -c <*>]]
--help ... prints this help page
-m, --machine ... Specifies the machine to connect to. It runs the SOI DB(default: localhost). This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
-n, --mUsername ... Specifies the Windows user with privileges to access 'machine' over network (default: Administrator) (has no effect when machine=localhost). This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
-w, --mPassword ... Specifies the password in plain text for the Windows user (has no effect when machine=localhost). This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
-d, --dbName ... Specifies SOI database name (default: SAMStore) This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
-u, --dbUsername ... Specifies the user with privileges to access SOI database (default: sa). This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
-p, --dbPassword ... Specifies the password in plain text (if not specified, utility asks for it during runtime) This is for single machine SOI installation ONLY! Use -x for distributed SOI installation.
--dbArchiveName ... Specifies the archive database name (default:SOIArchiveDB). This name is used by --archiveHistoryData or --restoreHistoryData action commands
-x ... Equivalent for --credentials=soitoolbox.cfg
--credentials ... Specifies the name of the file containing credentials (user name & password) for all machines which run SOI components. This is needed when working with distributed SOI installations. If the specified configuration file does not exist, the utility creates a default one that needs to be edited manually.
-q, --quiet ... Specifies that the user is not alerted before running destructive(delete) operations
-t, --timeout ... Sets the generic timeout to a given value(in seconds) The timeout is used differently by particular Action Commands (e.g. for DB operations, it defines the value of a query timeout). Note: For Action Commands which modify the DB, the default value is set to 7200 seconds and for service operations the default is 60 sec.
-b, --dbConnectionTimeout Specifies the timeout (in seconds) to wait time for the initial DB connection open (default: 20)
-c, --connector ... Specifies the connector(s) which will be taken into an account by action commands. It expects a comma separated list of connector names. (the default value is '*' which means all connectors in the system)
-v, --verbose ... Turns on more detailed output for some of the action commands.
-s, --beSmart ... Changes the way the utility turns off particular SOI components. The default behavior is to stop all SOI services on all machines. This option forces the utility to stop only components(services, connectors) which are affected by or may affect a given action command. (see below) This option requires --credentials to be specified
** Services related **
--stopAllServices ... Stops all Windows services which form SOI system
--startAllServices ... Starts all Windows services which form SOI system (services are started in recommended order)
--restartAllServices ... Restarts (stops and starts again) all Windows services which form SOI system
--getServiceStatus ... Prints status of all Windows services which form SOI system
** Connectors related **
--startConnector ... Starts connector(s) specified by the --connector parameter. This command must be used with the --credentials parameter. (Note: The SOI UI Server has to be running, otherwise the command fails)
--stopConnector ... Stops connector(s) specified by the --connector parameter. This command has to be used with the --credentials parameter. (Note: The SOI UI Server has to be running otherwise this command fails)
--getConnectorStatus ... Prints the status of all connectors (including system connectors) in SOI
--getAvailableConnectors Lists the names of all connectors present in the system (excluding system ones). These connector names can be passed to --connector option
** Info **
--getStatisticalData ... Displays statistical data of the SOI database (e.g. how many CIs, Alerts, Services there are) Output is influenced by -c option.
** DB cleanup related **
--cleanHistoryData ... Deletes all historical data older than specified number of days from SOI database <olderThanXDays> specifies point in time which is used to decide whether data is eligible for the clean operation
(Note: 0 days ~ current day at 00:00 AM. It means it does not cover data created within that particular day. Use asterisk '*' to cover all data created up to "now")
--cleanImportedData ... Deletes all data which came from selected connector(s) (see -c option) (it does not delete any user created data, such as manually created services)
--cleanSecurityData ... Deletes all service access rights (i.e. which users/groups can access which services)
--cleanData ... It is equivalent to: "--cleanHistoryData=* --cleanSecurityData --cleanImportedData --connector=*"
--purgeClearedAlerts ... Deletes all cleared alerts from the database based on defined filter parameter <olderThanXDays> specifies point in time which is used to decide whether an alert is eligible for the purge operation. (Note: 0 days ~ current day
at 00:00 AM. It means it does not cover data created within that particular day. Use asterisk '*' to cover all data created up to "now")
--archiveHistoryData ... Moves all historical data older than specified number of days to the backup database called 'SOIArchiveDB' (Note: 0 days ~ current day at 00:00 AM. It means it does not cover data created within that particular day. Use asterisk '*' to cover all data created up to "now")
--restoreHistoryData ... Copies historical data newer than specified number of days from the backup database 'SOIArchiveDB' to the main database
--encryptPassword ... Encrypts a password to be used in the configuration file
sorry for the late reply, but I wanted to make sure I am answering this correctly, because it is a critical area.
My tests confirmed:
After using the --reinitializeDB option, the following parts are still intact:
The following parts are deleted:
If you are interested in more details or other areas, let me know. I can perform more tests.