SlideShare a Scribd company logo
1 of 59
Download to read offline
IBM Connections
Administration
Keep your Systems Running The Right Way – Learn The Skills and Tricks
Let’s Say Thanks To Our Sponsor!
https://www.panagenda.com
Victor Toal
aka “Dr. Vic”
20+ Years of talking tech
IBM Connections, Sametime, WebSphere, DB2,
Notes and Domino
victor@toalsys.com
Twitter: @TheToal
Skype: victor_toal
4
What We’ll Cover …
• The Three Spheres of Administration
• IBM WebSphere Administration
• IBM Connections - UI based Administration
• IBM Connections – the Command Line
• Tips, Tricks and Must-Does
• Regular Tasks you need to do
• Wrap-up/Summary/Questions (you choose)
5
The Three Spheres of Administration
▪ 1 - IBM WebSphere Administration
The IBM Console
WebSphere commands – Command line Glory
▪ 2 - IBM Connections - UI based Administration
The UI – what can you do as an administrator?
▪ 3 - IBM Connections – the Command Line
Wsadmin commands and WebSphere commands - access to the guts
of Connections
6
What We’ll Cover …
• The Three Spheres of Administration
• IBM WebSphere Administration
• IBM Connections - UI based Administration
• IBM Connections – the Command Line
• Tips, Tricks and Must-Does
• Regular Tasks you need to do
• Wrap-up/Summary/Questions (you choose)
7
WebSphere – Lift the Veil of your new Bride ….
• What is WebSphere?
• The Lingo
• The IBM Console
• Some WebSphere Resources
8
▪ Why WebSphere and What is it?
▪ Simply put – if you want to administrate Connections you need to know WebSphere – it's where it all
begins.
WebSphere in Lay Terms
▪ WebSphere is both a brand and a technology. The WebSphere brand covers a whole host of
technologies that come together to create business solutions. For example, IBM Connections is
a business solution -- underneath the covers it uses WebSphere Application Server (WAS),
which is a runtime environment that Connections runs on.
▪ WAS provides a bunch of services (called J2EE) that Java applications use. Services like
database access, mail services and security services. Without an application WAS does nothing
– it has an administration interface but, unlike Domino you can't "do" anything with out of the
box without an application. Simply put, WebSphere runs Java (J2EE) programs.
WebSphere
9
▪ Some WAS Terminology:
▪ Node – an individual system, either physical or virtual
▪ Node Manager – the process controlling the individual node and all servers in all cells, it
executes the commands of the Deployment Manager
▪ Profile – a WebSphere entity similar to a node
▪ Application Server – a Java Virtual Machine process
▪ Application – a Java server application
▪ Cluster – a group of Servers, all running the same applications
▪ Cell – an administrative domain of one or more servers
▪ Deployment Manager (DM) – the administration application for a cell
WebSphere – The Lingo
10
How do all these pieces work together?
“Multiple Nodes in a Cell run Servers that
contain Applications. All pieces are controlled
via the Deployment Manager”
WebSphere: The short of it ...
11
▪ It's your Graphical Interface to control WebSphere
▪ In network deployments the only server running an IBM console is the Deployment
Manager
▪ The default administrator for WebSphere is called “wasadmin”, you need that account to
administrate through the Console and via the command line
▪ The IBM console runs ONLY on the DM, it is where all administration takes place
▪ The console is what stands between you and a whole bunch of XML and properties files
that would would have to edit manually otherwise . . .
The IBM Console
12
▪ Security comes first
▪ The first thing to do after you set up WebSphere:
▪ Create individual WebSphere administration accounts for all admins and assign them only the
roles they need
▪ Synch all the nodes BEFORE you take the next step
▪ Change the wasadmin password and keep it secret ….
▪ Synch the nodes once more
▪ Give each admin only the rights they need ….
▪ Take a backup before doing this, DELETE it after you verified everything works …. Or leave it
around forever, just have it when you need it!
WebSphere – your first tip ….
13
▪ Product Homepage
▪ http://www-01.ibm.com/software/websphere/
▪ Websphere 8.5 Infocenter
▪ http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/as_ditamaps/was855_welcome_ndmp.html
▪ IBM Developerworks – WebSphere
▪ http://www.ibm.com/developerworks/websphere/
▪ WebSphere Related WIKIS:
▪ https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/public?sort=updated&tag=websphere
▪ Websphere Forums and Community:
▪ http://www.ibm.com/developerworks/websphere/community/
Useful WebSphere Resources
14
What We’ll Cover …
• The Three Spheres of Administration
• IBM WebSphere Administration
• IBM Connections - UI based Administration
• IBM Connections – the Command Line
• Tips, Tricks and Must-Does
• Regular Tasks you need to do
• Wrap-up/Summary/Questions (you choose)
15
▪ Being an Admin of Connections Features lets you
Homepage
▪ Add/remove Widgets
Metrics
▪ Review global system Metrics
Blogs
▪ Basic settings, theme settings, administrate individual users' blogs
Communities
▪ Add sources to catalog crawler
IBM Connections – The UI
16
▪ ….. continued
Activities
▪ Access to public trash
Mobile / MobileAdmin
▪ Access via https://<connectionsurl>/mobileAdmin/login
▪ Devise security, settings, users, wipe commands,
WIKIS
▪ Some special rights in individual WIKIS, even those you do not own (version control,
etc.)
IBM Connections – The UI
17
What We’ll Cover …
• The Three Spheres of Administration
• IBM WebSphere Administration
• IBM Connections - UI based Administration
• IBM Connections – the Command Line
• Tips, Tricks and Must-Does
• Regular Tasks you need to do
• Wrap-up/Summary/Questions (you choose)
18
Command Line Commands come in two Flavors:
wsadmin commands
▪ Works through WebSphere with Connections internal data and settings
WebSphere Command Line tools
▪ Works with WebSphere settings and capabilities, not directly related to Connections data –
mainly batch files
IBM Connections – the Command Line
19
wsadmin – what is it?
▪ A command shell to administrate aspects of a WebSphere Application Server Cell
▪ Can invoked to execute scripts written in JACL or JYTHON
▪ Can execute almost all actions of the IBM Console and many that the console is not able to
▪ We will concentrate on Connections specific wsadmin commands today
▪ Note: ALLWAYS execute wsadmin commands on the Deployment Manager (DM) and
only in the DM's /bin directory – be careful if you run a managed node on the same
server as the DM!
Command Line - wsadmin
20
You have three options how to initiate wsadmin and call Jython scripts to
then execute a Connections Commands:
3-Steps: By The Book / WIKI:
▪ ")
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -port 8879
▪ execfile ("connectionsConfig.py")
▪ LCConfigService.checkOutConfig("/opt/IBM/connectexport/xml","vthome302Cell01
2-Steps: Launch a Profile:
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile
connectionsConfig.py
▪ LCConfigService.checkOutConfig("/opt/IBM/connectexport/xml","vthome302Cell01")
wsadmin recap – choose how you want to run it
21
1-Step: The “All-in-One” Option
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile
connectionsConfig.py -c
"LCConfigService.checkOutConfig('/opt/IBM/connectexport/xml','vthome302Cell0
1')"
Wsadmin recap … continued
This is the option you want to use to create
batch files and scripts to chain wsadmin
commands!
Note: Sometimes you have to experiment with the order of
the [“] and ['] in the command. Also depends on the OS you run it on
22
What We’ll Cover …
• The Three Spheres of Administration
• IBM WebSphere Administration
• IBM Connections - UI based Administration
• IBM Connections – the Command Line
• Tips, Tricks and Must-Does
• Regular Tasks you need to do
• Wrap-up/Summary/Questions (you choose)
23
▪ Dr. Vic's basic rules - 'Thou Shalt':
▪ Create separate IBM console admins accounts for all staff - INCLUDING YOURSELF
(covered earlier) – Keep the wasadmin account separate and don't mess with it.
▪ All wsadmin commands MUST be run on the DM, or they will not work and will create
allot of errors
▪ Learn command line basics for WebSphere, do not rely on ONLY the graphical interface,
allot of settings cannot be done there or not with the same detailed variables – and
sometimes setting “stay behind”
▪ Take frequent back-ups when making system or security level changes, you will regret it
otherwise
Tips, Tricks and Must-Does … The Beginning
24
▪ More of Dr. Vic's rules:
▪ Clean up after yourself and don't litter the WebSphere server with endless variants of
back-up’d/saved versions of configuration files. (i.e 'files-config.xml.bak.thisis
mysafebackup', etc.) sometimes WebSphere picks them up and you have no clue as to
why a change did not work …. and it just looks untidy! Yuck!
▪ Build a test/Dev system – you need a safe place to test changes in. Don't be the “I do all
my test on live systems” guy/girl . . .
▪ Keep records of ALL changes you make – even the small ones – you will need to back-
track your steps OFTEN
'Thou shalt' … continued
25
Exporting Connections Configuration Files
▪ DO NOT make a habit of copying/ftp Connections configuration xml files up-and-
down from servers – export and then import them
▪ Ensures you always have the CORRECT active version
▪ Import checks for formatting errors and kicks them back at you (important for
UNIX environments especially!!)
▪ Makes sure you have a back-up of the ORIGINAL xml files from the install
BEFORE you first worked on them … you might need to know what the default
setting is at some time.
Tips/Tricks – Connections Config Files
Another Dr. Vic rule:
Allways have an original
version backup!
26
Export command – always have a default location on your DM to export/import files (for me
'/opt/IBM/connectexport/xml')
Check-out:
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py -c
"LCConfigService.checkOutConfig('/opt/IBM/connectexport/xml','vthome302Cell01')"
Check-in:
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py -c
"LCConfigService.checkInConfig('/opt/IBM/connectexport/xml','vthome302Cell01')“
Alternatively use a text editor that has XML formatting checking built in, such as Notepad++
Connections Config Files … continued
27
▪ You need to know this – EAR files are all-mighty
▪ Ear files are not specific to any one WebSphere environment, they can be exported on one
environment and imported into another one WITHOUT any problem
▪ Only become environment specific if YOU put specific customizations into it
▪ This is a combination of WAS specific wsadmin commands AND WebSphere native scripts!
▪ The commands contain the path to specific local folders, be sure they exist and DO NOT
CHANGE THEM - it is important that all back-ups etc. are contained in one location so you do
not have to hunt all over the file system for them.
▪ [ /opt/IBM/connectexport/ear] – my default location to export all ear files to
▪ [/opt/IBM/connectexport/ear/exp-xxx] separate folder for each expanded feature/ear file
(create manually if it does not exist)
▪ All commands must be executed wile residing in the DM /bin, otherwise the the wsadmin
commands will fail with cryptic errors
Import / Export Ear Files
28
▪ Example using COMMUNITIES
▪ Export ear file
▪ ./wsadmin.sh -user wasadmin -password **** -c '$AdminApp export Communities
/opt/IBM/connectexport/ear/communities.ear'
▪ Expand Ear file (so you can work on it)
▪ ./EARExpander.sh -ear /opt/IBM/connectexport/ear/communities.ear -operationDir
/opt/IBM/connectexport/ear/exp-communities -operation expand
▪ Collapse/Repack ear file
▪ ./EARExpander.sh -ear /opt/IBM/connectexport/ear/communities.ear -operationDir
/opt/IBM/connectexport/ear/exp-communities -operation collapse
▪ Install / re-import into WAS after change
▪ ./wsadmin.sh -user wasadmin -password **** -c '$AdminApp install
/opt/IBM/connectexport/ear/communities.ear {-update -appname Communities}'
Import / Export Ear Files … continued
29
▪ Sync commands help keep the feature dB user entries synchronized with LDAP /
Profiles
▪ Decide on specific days to run them – or whenever user errors appear in the log files
… I often run them 1 – 3 times a week
▪ Can be run for each feature individually or as a batch file – I always run batch files
and synchronize ALL features
▪ Note: not all features have individual synch commands as several features share
databases (News, Homepage, etc.)
▪ If you have clustered WebSphere servers that are all running, you will need to be
there to respond to the system prompts!
▪ Different ways of synchronizing are possible – review the batch files in the end of the
presentation
Sync Features with LDAP / Profiles
30
Example how to synch Communities Users with Profiles
▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMemberExtIds()“
▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ Run all commands one after another, but leave some time between them – and then run them all once
more!
▪ Do not run the commands simultaneously on separate cluster members → BIG PROBLEM!
▪ Create batch files and run them to avoid the tedious copy-and-paste
Sync Features … continued
31
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c "FilesMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c
"ActivitiesMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c
"BlogsMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c
"DogearMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c
"ForumsMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c
"NewsMemberService.syncAllMemberExtIds()“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c
"WikisMemberService.syncAllMemberExtIds()"
Sync Features … Syncscript 1
32
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c
"WikisMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c
"NewsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c
"ForumsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c
"FilesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c
"DogearMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c
"BlogsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c
"ActivitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})"
Sync Features … Syncscript 2
33
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c
"WikisMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c
"NewsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c
"ForumsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c
"FilesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c
"CommunitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c
"DogearMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c
"BlogsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“
▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c
"ActivitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})"
Sync Features … Syncscript 3
34
When the synch command in the GUI just do not appear to get the job done ...
./syncNode.sh [IP or FQHN] 8879 -conntype SOAP -username wasadmin -password ****
syncNode.bat [IP or FQHN] 8879 -conntype SOAP -username wasadmin -password ****
▪ Replace the [IP or FQHN] with either an IP or a fully qualified DNS name – do not include the square brackets
▪ Requires the Nodemanager to be stopped, but the DM MUST be running
▪ If the node and DM share the same physical server you can enter LOCALAHOST as an address
▪ Remove all files in the /opt/IBM/WebSphere/Appserver/profiles/AppServ01/wstemp first
Command Line Node Syncronization
35
▪ All Features have scheduled tasks that update data or run clean-ups
▪ Clear these lists when actions are not happening or if you see issues with
upgrades
▪ They are recreated the next time the feature is restarted
Tip1:
I remove ALL scheduled tasks prior to ANY iFix installs or CR upgrades
Tip2:
If you are upgrading Connections to a new version, remove all tasks prior to
shutting down for the dB migration. Run it once more AFTER starting the
upgraded system and restart your system once more.
Scheduled Tasks
36
Initialize wsadmin and call the Connections config script:
▪ ./wsadmin.sh -lang jython -user wasadmin -password ***** -port 8879
▪ execfile ("connectionsConfig.py")
List all Scheduled Tasks:
▪ Scheduler.listAllTasks()
Clear all Scheduled Tasks:
▪ Scheduler.clearAllTasks()
Scheduled Tasks … continued
You can delete the tasks while
your servers
Are running, just restart the
clusters to
Recreate the tasks
37
Nodemanager commands
Stop Nodemanager AND all running servers simultaneously
▪ ./stopNode.sh -stopservers -username wasadmin -password ****
Check status of ALL servers (incl. DM and nodemanagers)
▪ ./serverStatus.sh -all -username wasadmin -password ****
Check status of a single server (incl. DM or nodemanagers)
▪ ./serverStatus.sh [servername] -username wasadmin -password ****
WebSphere Server command line utilties
38
▪ Now something JUST for Windows
▪ WASServicecmd.exe is a front-end utility for the native WebSphere WASServcice.exe
▪ It can add AND remove WebSphere servers/nodemanagers/DMs as Windows services
Add a WAS Service to Windows – the quick way
http://www-01.ibm.com/support/docview.wss?uid=swg21397335
Best practices suggests NOT to add Servers, but only
nodemanagers and the DM as a service!
39
Update / Change Profiles data
▪ /wsadmin.sh -lang jython -user wasadmin -password **** -profile profilesAdmin.py
Edit BACKGROUND data in Profile
▪ ProfilesService.updateExperience("ann_jones@company.com","This is new text that will be entered into the Background field for Ann.“)
Edit "ABOUT ME" data of Profile:
▪ ProfilesService.updateDescription("ann_jones@company.com","This is new text that will be entered into the About Me tab for Ann.")
Delete Photo in Profile
▪ ProfilesService.deletePhoto("john_doe@company.com")
Lets change some Connections data . . . .
40
Update / Change Communities data
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile communitiesAdmin.py
Change name of a Community
▪ CommunitiesService.updateCommunityName("Community NAME or UUID", "New Name")
Edit "Description" of Community Profile:
▪ CommunitiesService.updateCommunityDescription("Community NAME or UUID", "New description.")
Delete Bookmarks in Community
▪ This requires a two step process:
▪ removeurl= ["http://valid1.url.com", "http://valid2.url.com", "http://valid3.url.com"]
▪ CommunitiesService.removeReferencesByUri("Community NAME or UUID",removeurl)
Changing more Connections data . . . .
41
Update / Change BLOGS data
▪ /wsadmin.sh -lang jython -user wasadmin -password **** -profile profilesAdmin.py
Edit Blog handle
▪ BlogsAdminService.renameWeblogHandle("<old_handle>", "<new_handle>")
Change the URL or blogs (system wide):
▪ This is necessary if you change the base URL of the Connections system
▪ BlogsAdminService.fixBrokenUrls(<replacePattern>, <replaceValue>)
Lets change some Connections data . . . .
42
▪ Report on Libraries … all them files!!
Get list of all orphaned personal file libraries:
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesPrintService.saveToFile(FilesLibraryService.browsePersonalOrphan("size",
"false", 1, 100000), "/opt/IBM/PersonalLibraries-Orphans.csv")'
List of All Community Libraries
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesPrintService.saveToFile(FilesLibraryService.browseCommunity("size", "false", 1,
100000), "/opt/IBM/CommunityLibraries.csv")'
Lets Report on some settings and data . . . .
43
▪ Report on Libraries … more and more
List of All User Libraries
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesPrintService.saveToFile(FilesLibraryService.browsePersonal("size", "false", 1,
100000), "/opt/IBM/PersonalLibraries.csv")'
List of File/Libraries Policies
▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesPrintService.saveToFile(FilesPolicyService.browse("title", "true", 1,
25),"/opt/IBM/LibraryPolicies.csv")'
Lets Report on some settings and data . . . .
continued
44
Find and move all orphaned files to a separate location
./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesDataIntegrityService.checkFiles("/opt/IBM/files_orphaned")'
This can happen after dB crashes or Connections server failures – or after a migration.
You will have to review the files manually and “just figure it out”
Files … do you have Orphans?
45
List all your Library Policies – personal and community based
./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c
'FilesPrintService.saveToFile(FilesPolicyService.browse("title", "true", 1, 25),"/opt/IBM/LibraryPolicies.csv")'
Or display it in the console
wsadmin>FilesPolicyService.browse("title", "true", 1, 25)
[{maximumSize=2147483648, title=!Default for Community Files, id=00000000-0000-0000-0000-000000000001},
{maximumSize=524288000, title=!Default for Community Wikis, id=00000000-0000-0000-0000-000000000003},
{maximumSize=524288000, title=!Default for Non-Community Wikis, id=00000000-0000-0000-0000-000000000002},
{maximumSize=10737418240, title=!Default for Personal Files, id=00000000-0000-0000-0000-000000000000}]
Files … What are your Policies for Libraries?
Optimize DB2 Configuration
▪ The IBM Connections Wizard will create all the databases for you, alternatively
you can create them manually using the scripts included in the wizard subfolders
▪ But to have an optimally functioning DB2 server that supports online back-up with
automatic retention/removal of old back-ups, minimizes i/o and “Just works better”
you need to go beyond the base setup.
DB2 Maintenance
▪ DB2 requires regular RUNSTATS and REORGS to be run to rebuild and optimize
tables spaces and indexes.
▪ IBM supplies the base runstat/reorg sql files with the dB wizard, but only for the
core feature databases (Profiles, Communities, etc.). If you have other
applications (DOCS, Surveys, CCM, third party application dBs etc.) then there
are no special sql command files for them.
▪ You can use the script on the next page to run: runstat – reorg – runstat (in that
order!!) for ANY DB2 database
YOU HAVE TO SHUT DOWN CONNECTIONS TO DO THIS! NO DB ACCESS IS
ALLOWED
DB2 Maintenance
Log into the DB2 server as the db2admin and open an Administrator Command Prompt:
db2 connect to [database name]
db2 -x "SELECT 'RUNSTATS ON TABLE ' || TRIM(TABSCHEMA) || '.' || TRIM(TABNAME) || ' AND INDEXES
ALL;' FROM SYSCAT.TABLES WHERE TYPE = 'T' AND TABSCHEMA NOT LIKE 'SYS%' ORDER BY
TABSCHEMA, TABNAME" > db2_runstats.sql.out
db2 -tvf db2_runstats.sql.out
db2 -x "SELECT 'REORG TABLE ' || TRIM(TABSCHEMA) || '.' || TRIM(TABNAME) || ';' FROM SYSCAT.TABLES
WHERE TYPE = 'T' AND TABSCHEMA NOT LIKE 'SYS%' ORDER BY TABSCHEMA, TABNAME" >
db2_reorg.sql.out
db2 -tvf db2_reorg.sql.out
db2 -tvf db2_runstats.sql.out
DB2 Maintenance
▪ Like any database system, DB2 will accumulate whitespace and that needs
reclaiming to regain disk space and make the dB run faster and more efficiently
▪ This is most important for the HOMEPAGE database, but also PEOPLEDB and
ACTIVIES and BLOGS can really benefit from it
▪ Not all types of tablespaces are reclaimable, you will experience errors when
trying to reclaim space in some databases s– that is normal, temp tablespace and
system tablespaces are not made to be reclaimed
▪ It is a multistep process, commands to follow ….
YOU HAVE TO SHUT DOWN CONNECTIONS TO DO THIS! NO DB ACCESS IS
ALLOWED
DB2 Maintenance
Start a DB2 command line and connect to HOMAPAGE
connect to HOMEPAGE
Lower the High Water Mark
ALTER TABLESPACE BOARD16TABSPACE LOWER HIGH WATER MARK
ALTER TABLESPACE BRD32TABSPACE LOWER HIGH WATER MARK
ALTER TABLESPACE HOMEPAGETABSPACE LOWER HIGH WATER MARK
ALTER TABLESPACE HPNT16TABSPACE LOWER HIGH WATER MARK
ALTER TABLESPACE NEWS4TABSPACE LOWER HIGH WATER MARK
ALTER TABLESPACE NEWSTABSPACE LOWER HIGH WATER MARK
DB2 Maintenance
Review the Reclaimable Tablespace output, you need that number to then actually reclaim the space in
the third step. Run each command individually and note the TBSP_RECLAIMABLE_MB number
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('BOARD16TABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('BRD32TABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('HOMEPAGETABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('HPNT16TABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('NEWS32TABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('NEWS4TABSPACE', NULL))
select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from
table(MON_GET_TABLESPACE('NEWSTABSPACE', NULL))
DB2 Maintenance
▪ The results of that command will look something like this:
TBSP_NAME TBSP_FREE_PAGES TBSP_RECLAIMABLE_MB
------------------------------------------------------------------------------- -------------------- --------------------
BOARD16TABSPACE 11584 181
DB2 Maintenance
▪ Substitute the ### with the reclaimable MB number (minus some MB for
overhead) and execute the command
ALTER TABLESPACE BOARD16TABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE BRD32TABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE HOMEPAGETABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE HPNT16TABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE NEWS32TABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE NEWS4TABSPACE REDUCE (ALL CONTAINERS ### M)
ALTER TABLESPACE NEWSTABSPACE REDUCE (ALL CONTAINERS ### M)
DB2 additional DB Configuration
▪ LOGARCHMETH1 – archival logging, allows online backups
▪ LOGARCHCOMPR1 – archive log compression
▪ auto_del_rec_obj – auto deletion of recovery objects
▪ rec_his_retentn – recovery history retention period
▪ num_db_backups – number of back-ups retained
These settings impact each other and are dependent on each other - they need to be
adjusted correctly or they will not give you the expected results
Typical Database Setting And Backup
▪ db2 update db cfg for BLOGS using LOGARCHMETH1
disk:D:DB2-Logging
▪ db2 update db cfg for BLOGS using auto_del_rec_obj ON
▪ db2 update db cfg for BLOGS using rec_his_retentn
▪ db2 15update db cfg for BLOGS using num_db_backups 3
▪ Db2 update db cfg for BLOGS using LOGARCHCOMPR1 on
▪ update db cfg for BLOGS using LOGFILSIZ 8196
▪ Turn on db2 archival logging and write the log files to
the folder [D:DB2-Logging]
▪ Turn on automatic log file deletion
▪ Turn on automatic log file retention
▪ Retain the last 15 days of log files (and then auto-
delete), retain the last 3 back-ups (and then auto-
delete),
▪ Compress any archived log files.
▪ Configure log files to be 8 MB large (default is 4 MB)
Now all you have to do is to run regular (=min. 1/day!) online db2 back-ups and then do a file level back
up the back-ups and db2 log files
System Logs Review
▪ We all hate it … but we have to do it if we want to catch stuff.
▪ If you can, get a log file aggregator tool – here you can look at and search all log
files of all your systems simultaneously.
▪ Paid Product: SPLUNK
▪ Open Source: ELK
▪ You can also bring in logs from Domino, Windows, other OS files, router and FW
logs …
Logs Review
▪ What are the files you need to look at?
WebSphere:SystemOut.log
▪ [WASinstall]profiles[profilename]logs[servername]SystemOut.log
▪ Example:
▪ D:IBMWebSphereAppServerprofilesAppSrv01logsAppCluster_Server1SystemOut.log – xxx.trace.log, etc.
▪ /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/AppCluster_Server1/SystemOut.log – trace.log, etc.
DB2: db2diag.log
▪ Example: C:ProgramDataIBMDB2DB2COPY1DB2DIAG0000db2diag.log
Logs Review
▪ Other important logs:
TDI Sync logs
▪ Require frequent review to find accounts that are not syncing or are giving you errors
▪ Changes to LDAP or data in them can cause the synchronization for large numbers of users to stop:
▪ employee.updates, employee.adds, employee.delete, employee.error, employee.skip ..
▪ Most important: logsibmdi.log
▪ Will give you the most info on WHY things went bad. Is very large …..
59
▪ My Blog:
▪ http://notesbusters.com
▪ Great WebSphere resource / Blog: Steve Robinson
▪ http://www.themiddlewareshop.com
▪ WebSphere WIKI
▪ http://www.bertucci.org
Additional Resources

More Related Content

What's hot

What's hot (20)

Our take on Domino 10 - a Ytria webinar
Our take on Domino 10 - a Ytria webinarOur take on Domino 10 - a Ytria webinar
Our take on Domino 10 - a Ytria webinar
 
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...
 
IBM Verse On-premises
IBM Verse On-premisesIBM Verse On-premises
IBM Verse On-premises
 
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
 
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
 
Connect2016 - 1172 Shipping domino
Connect2016 - 1172 Shipping dominoConnect2016 - 1172 Shipping domino
Connect2016 - 1172 Shipping domino
 
engage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVEengage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVE
 
Linux webmin
Linux webminLinux webmin
Linux webmin
 
AdminCamp2019 - We love Domino V10 - 15 neue Domino-Admin-Features
AdminCamp2019 - We love Domino V10 - 15 neue Domino-Admin-FeaturesAdminCamp2019 - We love Domino V10 - 15 neue Domino-Admin-Features
AdminCamp2019 - We love Domino V10 - 15 neue Domino-Admin-Features
 
engage 2019 Workshop - Dirty Secrets of the Notes Client
engage 2019 Workshop - Dirty Secrets of the Notes Clientengage 2019 Workshop - Dirty Secrets of the Notes Client
engage 2019 Workshop - Dirty Secrets of the Notes Client
 
IBM Connections Adminblast - Connect17 (DEV 1268)
IBM Connections Adminblast - Connect17 (DEV 1268)IBM Connections Adminblast - Connect17 (DEV 1268)
IBM Connections Adminblast - Connect17 (DEV 1268)
 
Connections Directory Integration: A Tour Through Best Practices for Directo...
Connections Directory Integration:  A Tour Through Best Practices for Directo...Connections Directory Integration:  A Tour Through Best Practices for Directo...
Connections Directory Integration: A Tour Through Best Practices for Directo...
 
DNUG - Workshop: Alles was Du schon immer über den IBM Notes-Client wissen wo...
DNUG - Workshop: Alles was Du schon immer über den IBM Notes-Client wissen wo...DNUG - Workshop: Alles was Du schon immer über den IBM Notes-Client wissen wo...
DNUG - Workshop: Alles was Du schon immer über den IBM Notes-Client wissen wo...
 
engage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Businessengage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Business
 
IBM Connections adoption seminar
IBM Connections adoption seminarIBM Connections adoption seminar
IBM Connections adoption seminar
 
Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10
 
Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Installing community surveys in connections 5.5
Installing community surveys in connections 5.5
 
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
 
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope...
BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope...
 
AdminCamp 2018 - IBM Notes V10 Performance Boost
AdminCamp 2018 - IBM Notes V10 Performance BoostAdminCamp 2018 - IBM Notes V10 Performance Boost
AdminCamp 2018 - IBM Notes V10 Performance Boost
 

Viewers also liked

Exam maths-2009
Exam maths-2009Exam maths-2009
Exam maths-2009
hassan1488
 
Projeto Grupo Mídias Sociais
Projeto Grupo Mídias SociaisProjeto Grupo Mídias Sociais
Projeto Grupo Mídias Sociais
tecampinasoeste
 
Flyff 24hrs form
Flyff 24hrs formFlyff 24hrs form
Flyff 24hrs form
tanin6975
 
Cancer cervi la vacuna una posible solucion
Cancer cervi la vacuna una posible solucionCancer cervi la vacuna una posible solucion
Cancer cervi la vacuna una posible solucion
danielantoniocruz
 
26.05.11 - Infodent
26.05.11 - Infodent26.05.11 - Infodent
26.05.11 - Infodent
Biorepair
 
Youtube Bruno e Ricardo 9ºa
Youtube Bruno e Ricardo 9ºaYoutube Bruno e Ricardo 9ºa
Youtube Bruno e Ricardo 9ºa
bruno2012
 

Viewers also liked (17)

Slide 12 As Smart Object 1
Slide 12 As Smart Object 1Slide 12 As Smart Object 1
Slide 12 As Smart Object 1
 
Exam maths-2009
Exam maths-2009Exam maths-2009
Exam maths-2009
 
Presentación1
Presentación1Presentación1
Presentación1
 
Nivedanmmmmmmmm
NivedanmmmmmmmmNivedanmmmmmmmm
Nivedanmmmmmmmm
 
Ünnepi köszöntés 2011
Ünnepi köszöntés 2011Ünnepi köszöntés 2011
Ünnepi köszöntés 2011
 
Auto play media estudio
Auto play media estudioAuto play media estudio
Auto play media estudio
 
Linux vs windows
Linux vs windowsLinux vs windows
Linux vs windows
 
Projeto Grupo Mídias Sociais
Projeto Grupo Mídias SociaisProjeto Grupo Mídias Sociais
Projeto Grupo Mídias Sociais
 
Flyff 24hrs form
Flyff 24hrs formFlyff 24hrs form
Flyff 24hrs form
 
AFICHE Y BROCHURE
AFICHE Y BROCHUREAFICHE Y BROCHURE
AFICHE Y BROCHURE
 
Cancer cervi la vacuna una posible solucion
Cancer cervi la vacuna una posible solucionCancer cervi la vacuna una posible solucion
Cancer cervi la vacuna una posible solucion
 
26.05.11 - Infodent
26.05.11 - Infodent26.05.11 - Infodent
26.05.11 - Infodent
 
Youtube Bruno e Ricardo 9ºa
Youtube Bruno e Ricardo 9ºaYoutube Bruno e Ricardo 9ºa
Youtube Bruno e Ricardo 9ºa
 
7 0359
7 03597 0359
7 0359
 
7 0508
7 05087 0508
7 0508
 
Encuentro entre 2 generaciones
Encuentro entre 2 generacionesEncuentro entre 2 generaciones
Encuentro entre 2 generaciones
 
IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...
IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...
IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...
 

Similar to IconUS 2016 conference - Connections Administration Skills

Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
Sharon James
 

Similar to IconUS 2016 conference - Connections Administration Skills (20)

MWLug 2013 - IBM Connections Basic Skills
MWLug 2013 - IBM Connections Basic SkillsMWLug 2013 - IBM Connections Basic Skills
MWLug 2013 - IBM Connections Basic Skills
 
IamLUG2013 Connections Administration
IamLUG2013 Connections AdministrationIamLUG2013 Connections Administration
IamLUG2013 Connections Administration
 
Victor Toal - IBM Connections: So you have it installed – now what?
Victor Toal - IBM Connections: So you have it installed – now what?Victor Toal - IBM Connections: So you have it installed – now what?
Victor Toal - IBM Connections: So you have it installed – now what?
 
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWareAdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
 
Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10
 
A Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM ConnectionsA Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM Connections
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
 
Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726
 
CollabSphere2018 - Virtual, Faster, Better! How to virtualize IBM Notes V10
CollabSphere2018 - Virtual, Faster, Better! How to virtualize IBM Notes V10CollabSphere2018 - Virtual, Faster, Better! How to virtualize IBM Notes V10
CollabSphere2018 - Virtual, Faster, Better! How to virtualize IBM Notes V10
 
IBM Sametime 9 Installation Woes and Proactive Repairs by Keith Brooks
IBM Sametime 9 Installation Woes and Proactive Repairs by Keith BrooksIBM Sametime 9 Installation Woes and Proactive Repairs by Keith Brooks
IBM Sametime 9 Installation Woes and Proactive Repairs by Keith Brooks
 
The Silence of the Installers
The Silence of the InstallersThe Silence of the Installers
The Silence of the Installers
 
Christoph Stoettner - Save my time using scripts
Christoph Stoettner - Save my time using scriptsChristoph Stoettner - Save my time using scripts
Christoph Stoettner - Save my time using scripts
 
ICONUK 2018 - IBM Notes V10 Performance Boost
ICONUK 2018 - IBM Notes V10 Performance BoostICONUK 2018 - IBM Notes V10 Performance Boost
ICONUK 2018 - IBM Notes V10 Performance Boost
 
Automating That "Other" OS
Automating That "Other" OSAutomating That "Other" OS
Automating That "Other" OS
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators lite
 
The Joy of Vim
The Joy of VimThe Joy of Vim
The Joy of Vim
 
Adm02. IBM Connections Adminblast
Adm02. IBM Connections AdminblastAdm02. IBM Connections Adminblast
Adm02. IBM Connections Adminblast
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

IconUS 2016 conference - Connections Administration Skills

  • 1. IBM Connections Administration Keep your Systems Running The Right Way – Learn The Skills and Tricks
  • 2. Let’s Say Thanks To Our Sponsor! https://www.panagenda.com
  • 3. Victor Toal aka “Dr. Vic” 20+ Years of talking tech IBM Connections, Sametime, WebSphere, DB2, Notes and Domino victor@toalsys.com Twitter: @TheToal Skype: victor_toal
  • 4. 4 What We’ll Cover … • The Three Spheres of Administration • IBM WebSphere Administration • IBM Connections - UI based Administration • IBM Connections – the Command Line • Tips, Tricks and Must-Does • Regular Tasks you need to do • Wrap-up/Summary/Questions (you choose)
  • 5. 5 The Three Spheres of Administration ▪ 1 - IBM WebSphere Administration The IBM Console WebSphere commands – Command line Glory ▪ 2 - IBM Connections - UI based Administration The UI – what can you do as an administrator? ▪ 3 - IBM Connections – the Command Line Wsadmin commands and WebSphere commands - access to the guts of Connections
  • 6. 6 What We’ll Cover … • The Three Spheres of Administration • IBM WebSphere Administration • IBM Connections - UI based Administration • IBM Connections – the Command Line • Tips, Tricks and Must-Does • Regular Tasks you need to do • Wrap-up/Summary/Questions (you choose)
  • 7. 7 WebSphere – Lift the Veil of your new Bride …. • What is WebSphere? • The Lingo • The IBM Console • Some WebSphere Resources
  • 8. 8 ▪ Why WebSphere and What is it? ▪ Simply put – if you want to administrate Connections you need to know WebSphere – it's where it all begins. WebSphere in Lay Terms ▪ WebSphere is both a brand and a technology. The WebSphere brand covers a whole host of technologies that come together to create business solutions. For example, IBM Connections is a business solution -- underneath the covers it uses WebSphere Application Server (WAS), which is a runtime environment that Connections runs on. ▪ WAS provides a bunch of services (called J2EE) that Java applications use. Services like database access, mail services and security services. Without an application WAS does nothing – it has an administration interface but, unlike Domino you can't "do" anything with out of the box without an application. Simply put, WebSphere runs Java (J2EE) programs. WebSphere
  • 9. 9 ▪ Some WAS Terminology: ▪ Node – an individual system, either physical or virtual ▪ Node Manager – the process controlling the individual node and all servers in all cells, it executes the commands of the Deployment Manager ▪ Profile – a WebSphere entity similar to a node ▪ Application Server – a Java Virtual Machine process ▪ Application – a Java server application ▪ Cluster – a group of Servers, all running the same applications ▪ Cell – an administrative domain of one or more servers ▪ Deployment Manager (DM) – the administration application for a cell WebSphere – The Lingo
  • 10. 10 How do all these pieces work together? “Multiple Nodes in a Cell run Servers that contain Applications. All pieces are controlled via the Deployment Manager” WebSphere: The short of it ...
  • 11. 11 ▪ It's your Graphical Interface to control WebSphere ▪ In network deployments the only server running an IBM console is the Deployment Manager ▪ The default administrator for WebSphere is called “wasadmin”, you need that account to administrate through the Console and via the command line ▪ The IBM console runs ONLY on the DM, it is where all administration takes place ▪ The console is what stands between you and a whole bunch of XML and properties files that would would have to edit manually otherwise . . . The IBM Console
  • 12. 12 ▪ Security comes first ▪ The first thing to do after you set up WebSphere: ▪ Create individual WebSphere administration accounts for all admins and assign them only the roles they need ▪ Synch all the nodes BEFORE you take the next step ▪ Change the wasadmin password and keep it secret …. ▪ Synch the nodes once more ▪ Give each admin only the rights they need …. ▪ Take a backup before doing this, DELETE it after you verified everything works …. Or leave it around forever, just have it when you need it! WebSphere – your first tip ….
  • 13. 13 ▪ Product Homepage ▪ http://www-01.ibm.com/software/websphere/ ▪ Websphere 8.5 Infocenter ▪ http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/as_ditamaps/was855_welcome_ndmp.html ▪ IBM Developerworks – WebSphere ▪ http://www.ibm.com/developerworks/websphere/ ▪ WebSphere Related WIKIS: ▪ https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/public?sort=updated&tag=websphere ▪ Websphere Forums and Community: ▪ http://www.ibm.com/developerworks/websphere/community/ Useful WebSphere Resources
  • 14. 14 What We’ll Cover … • The Three Spheres of Administration • IBM WebSphere Administration • IBM Connections - UI based Administration • IBM Connections – the Command Line • Tips, Tricks and Must-Does • Regular Tasks you need to do • Wrap-up/Summary/Questions (you choose)
  • 15. 15 ▪ Being an Admin of Connections Features lets you Homepage ▪ Add/remove Widgets Metrics ▪ Review global system Metrics Blogs ▪ Basic settings, theme settings, administrate individual users' blogs Communities ▪ Add sources to catalog crawler IBM Connections – The UI
  • 16. 16 ▪ ….. continued Activities ▪ Access to public trash Mobile / MobileAdmin ▪ Access via https://<connectionsurl>/mobileAdmin/login ▪ Devise security, settings, users, wipe commands, WIKIS ▪ Some special rights in individual WIKIS, even those you do not own (version control, etc.) IBM Connections – The UI
  • 17. 17 What We’ll Cover … • The Three Spheres of Administration • IBM WebSphere Administration • IBM Connections - UI based Administration • IBM Connections – the Command Line • Tips, Tricks and Must-Does • Regular Tasks you need to do • Wrap-up/Summary/Questions (you choose)
  • 18. 18 Command Line Commands come in two Flavors: wsadmin commands ▪ Works through WebSphere with Connections internal data and settings WebSphere Command Line tools ▪ Works with WebSphere settings and capabilities, not directly related to Connections data – mainly batch files IBM Connections – the Command Line
  • 19. 19 wsadmin – what is it? ▪ A command shell to administrate aspects of a WebSphere Application Server Cell ▪ Can invoked to execute scripts written in JACL or JYTHON ▪ Can execute almost all actions of the IBM Console and many that the console is not able to ▪ We will concentrate on Connections specific wsadmin commands today ▪ Note: ALLWAYS execute wsadmin commands on the Deployment Manager (DM) and only in the DM's /bin directory – be careful if you run a managed node on the same server as the DM! Command Line - wsadmin
  • 20. 20 You have three options how to initiate wsadmin and call Jython scripts to then execute a Connections Commands: 3-Steps: By The Book / WIKI: ▪ ") ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -port 8879 ▪ execfile ("connectionsConfig.py") ▪ LCConfigService.checkOutConfig("/opt/IBM/connectexport/xml","vthome302Cell01 2-Steps: Launch a Profile: ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py ▪ LCConfigService.checkOutConfig("/opt/IBM/connectexport/xml","vthome302Cell01") wsadmin recap – choose how you want to run it
  • 21. 21 1-Step: The “All-in-One” Option ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py -c "LCConfigService.checkOutConfig('/opt/IBM/connectexport/xml','vthome302Cell0 1')" Wsadmin recap … continued This is the option you want to use to create batch files and scripts to chain wsadmin commands! Note: Sometimes you have to experiment with the order of the [“] and ['] in the command. Also depends on the OS you run it on
  • 22. 22 What We’ll Cover … • The Three Spheres of Administration • IBM WebSphere Administration • IBM Connections - UI based Administration • IBM Connections – the Command Line • Tips, Tricks and Must-Does • Regular Tasks you need to do • Wrap-up/Summary/Questions (you choose)
  • 23. 23 ▪ Dr. Vic's basic rules - 'Thou Shalt': ▪ Create separate IBM console admins accounts for all staff - INCLUDING YOURSELF (covered earlier) – Keep the wasadmin account separate and don't mess with it. ▪ All wsadmin commands MUST be run on the DM, or they will not work and will create allot of errors ▪ Learn command line basics for WebSphere, do not rely on ONLY the graphical interface, allot of settings cannot be done there or not with the same detailed variables – and sometimes setting “stay behind” ▪ Take frequent back-ups when making system or security level changes, you will regret it otherwise Tips, Tricks and Must-Does … The Beginning
  • 24. 24 ▪ More of Dr. Vic's rules: ▪ Clean up after yourself and don't litter the WebSphere server with endless variants of back-up’d/saved versions of configuration files. (i.e 'files-config.xml.bak.thisis mysafebackup', etc.) sometimes WebSphere picks them up and you have no clue as to why a change did not work …. and it just looks untidy! Yuck! ▪ Build a test/Dev system – you need a safe place to test changes in. Don't be the “I do all my test on live systems” guy/girl . . . ▪ Keep records of ALL changes you make – even the small ones – you will need to back- track your steps OFTEN 'Thou shalt' … continued
  • 25. 25 Exporting Connections Configuration Files ▪ DO NOT make a habit of copying/ftp Connections configuration xml files up-and- down from servers – export and then import them ▪ Ensures you always have the CORRECT active version ▪ Import checks for formatting errors and kicks them back at you (important for UNIX environments especially!!) ▪ Makes sure you have a back-up of the ORIGINAL xml files from the install BEFORE you first worked on them … you might need to know what the default setting is at some time. Tips/Tricks – Connections Config Files Another Dr. Vic rule: Allways have an original version backup!
  • 26. 26 Export command – always have a default location on your DM to export/import files (for me '/opt/IBM/connectexport/xml') Check-out: ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py -c "LCConfigService.checkOutConfig('/opt/IBM/connectexport/xml','vthome302Cell01')" Check-in: ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile connectionsConfig.py -c "LCConfigService.checkInConfig('/opt/IBM/connectexport/xml','vthome302Cell01')“ Alternatively use a text editor that has XML formatting checking built in, such as Notepad++ Connections Config Files … continued
  • 27. 27 ▪ You need to know this – EAR files are all-mighty ▪ Ear files are not specific to any one WebSphere environment, they can be exported on one environment and imported into another one WITHOUT any problem ▪ Only become environment specific if YOU put specific customizations into it ▪ This is a combination of WAS specific wsadmin commands AND WebSphere native scripts! ▪ The commands contain the path to specific local folders, be sure they exist and DO NOT CHANGE THEM - it is important that all back-ups etc. are contained in one location so you do not have to hunt all over the file system for them. ▪ [ /opt/IBM/connectexport/ear] – my default location to export all ear files to ▪ [/opt/IBM/connectexport/ear/exp-xxx] separate folder for each expanded feature/ear file (create manually if it does not exist) ▪ All commands must be executed wile residing in the DM /bin, otherwise the the wsadmin commands will fail with cryptic errors Import / Export Ear Files
  • 28. 28 ▪ Example using COMMUNITIES ▪ Export ear file ▪ ./wsadmin.sh -user wasadmin -password **** -c '$AdminApp export Communities /opt/IBM/connectexport/ear/communities.ear' ▪ Expand Ear file (so you can work on it) ▪ ./EARExpander.sh -ear /opt/IBM/connectexport/ear/communities.ear -operationDir /opt/IBM/connectexport/ear/exp-communities -operation expand ▪ Collapse/Repack ear file ▪ ./EARExpander.sh -ear /opt/IBM/connectexport/ear/communities.ear -operationDir /opt/IBM/connectexport/ear/exp-communities -operation collapse ▪ Install / re-import into WAS after change ▪ ./wsadmin.sh -user wasadmin -password **** -c '$AdminApp install /opt/IBM/connectexport/ear/communities.ear {-update -appname Communities}' Import / Export Ear Files … continued
  • 29. 29 ▪ Sync commands help keep the feature dB user entries synchronized with LDAP / Profiles ▪ Decide on specific days to run them – or whenever user errors appear in the log files … I often run them 1 – 3 times a week ▪ Can be run for each feature individually or as a batch file – I always run batch files and synchronize ALL features ▪ Note: not all features have individual synch commands as several features share databases (News, Homepage, etc.) ▪ If you have clustered WebSphere servers that are all running, you will need to be there to respond to the system prompts! ▪ Different ways of synchronizing are possible – review the batch files in the end of the presentation Sync Features with LDAP / Profiles
  • 30. 30 Example how to synch Communities Users with Profiles ▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMemberExtIds()“ ▪ wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ Run all commands one after another, but leave some time between them – and then run them all once more! ▪ Do not run the commands simultaneously on separate cluster members → BIG PROBLEM! ▪ Create batch files and run them to avoid the tedious copy-and-paste Sync Features … continued
  • 31. 31 ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c "FilesMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c "ActivitiesMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c "BlogsMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c "DogearMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c "ForumsMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c "NewsMemberService.syncAllMemberExtIds()“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c "WikisMemberService.syncAllMemberExtIds()" Sync Features … Syncscript 1
  • 32. 32 ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c "WikisMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c "NewsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c "ForumsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c "FilesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c "DogearMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c "BlogsMemberService.syncAllMemberExtIds({'allowInactivate':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c "ActivitiesMemberService.syncAllMemberExtIds({'allowInactivate':'true'})" Sync Features … Syncscript 2
  • 33. 33 ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile wikisAdmin.py -c "WikisMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile newsAdmin.py -c "NewsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile forumsAdmin.py -c "ForumsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile filesAdmin.py -c "FilesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile communitiesAdmin.py -c "CommunitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile dogearAdmin.py -c "DogearMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile blogsAdmin.py -c "BlogsMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})“ ▪ call wsadmin.bat -lang jython -user wasadmin -password ***** -profile activitiesAdmin.py -c "ActivitiesMemberService.syncAllMembersByExtId({'updateOnEmailLoginMatch':'true'})" Sync Features … Syncscript 3
  • 34. 34 When the synch command in the GUI just do not appear to get the job done ... ./syncNode.sh [IP or FQHN] 8879 -conntype SOAP -username wasadmin -password **** syncNode.bat [IP or FQHN] 8879 -conntype SOAP -username wasadmin -password **** ▪ Replace the [IP or FQHN] with either an IP or a fully qualified DNS name – do not include the square brackets ▪ Requires the Nodemanager to be stopped, but the DM MUST be running ▪ If the node and DM share the same physical server you can enter LOCALAHOST as an address ▪ Remove all files in the /opt/IBM/WebSphere/Appserver/profiles/AppServ01/wstemp first Command Line Node Syncronization
  • 35. 35 ▪ All Features have scheduled tasks that update data or run clean-ups ▪ Clear these lists when actions are not happening or if you see issues with upgrades ▪ They are recreated the next time the feature is restarted Tip1: I remove ALL scheduled tasks prior to ANY iFix installs or CR upgrades Tip2: If you are upgrading Connections to a new version, remove all tasks prior to shutting down for the dB migration. Run it once more AFTER starting the upgraded system and restart your system once more. Scheduled Tasks
  • 36. 36 Initialize wsadmin and call the Connections config script: ▪ ./wsadmin.sh -lang jython -user wasadmin -password ***** -port 8879 ▪ execfile ("connectionsConfig.py") List all Scheduled Tasks: ▪ Scheduler.listAllTasks() Clear all Scheduled Tasks: ▪ Scheduler.clearAllTasks() Scheduled Tasks … continued You can delete the tasks while your servers Are running, just restart the clusters to Recreate the tasks
  • 37. 37 Nodemanager commands Stop Nodemanager AND all running servers simultaneously ▪ ./stopNode.sh -stopservers -username wasadmin -password **** Check status of ALL servers (incl. DM and nodemanagers) ▪ ./serverStatus.sh -all -username wasadmin -password **** Check status of a single server (incl. DM or nodemanagers) ▪ ./serverStatus.sh [servername] -username wasadmin -password **** WebSphere Server command line utilties
  • 38. 38 ▪ Now something JUST for Windows ▪ WASServicecmd.exe is a front-end utility for the native WebSphere WASServcice.exe ▪ It can add AND remove WebSphere servers/nodemanagers/DMs as Windows services Add a WAS Service to Windows – the quick way http://www-01.ibm.com/support/docview.wss?uid=swg21397335 Best practices suggests NOT to add Servers, but only nodemanagers and the DM as a service!
  • 39. 39 Update / Change Profiles data ▪ /wsadmin.sh -lang jython -user wasadmin -password **** -profile profilesAdmin.py Edit BACKGROUND data in Profile ▪ ProfilesService.updateExperience("ann_jones@company.com","This is new text that will be entered into the Background field for Ann.“) Edit "ABOUT ME" data of Profile: ▪ ProfilesService.updateDescription("ann_jones@company.com","This is new text that will be entered into the About Me tab for Ann.") Delete Photo in Profile ▪ ProfilesService.deletePhoto("john_doe@company.com") Lets change some Connections data . . . .
  • 40. 40 Update / Change Communities data ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile communitiesAdmin.py Change name of a Community ▪ CommunitiesService.updateCommunityName("Community NAME or UUID", "New Name") Edit "Description" of Community Profile: ▪ CommunitiesService.updateCommunityDescription("Community NAME or UUID", "New description.") Delete Bookmarks in Community ▪ This requires a two step process: ▪ removeurl= ["http://valid1.url.com", "http://valid2.url.com", "http://valid3.url.com"] ▪ CommunitiesService.removeReferencesByUri("Community NAME or UUID",removeurl) Changing more Connections data . . . .
  • 41. 41 Update / Change BLOGS data ▪ /wsadmin.sh -lang jython -user wasadmin -password **** -profile profilesAdmin.py Edit Blog handle ▪ BlogsAdminService.renameWeblogHandle("<old_handle>", "<new_handle>") Change the URL or blogs (system wide): ▪ This is necessary if you change the base URL of the Connections system ▪ BlogsAdminService.fixBrokenUrls(<replacePattern>, <replaceValue>) Lets change some Connections data . . . .
  • 42. 42 ▪ Report on Libraries … all them files!! Get list of all orphaned personal file libraries: ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesPrintService.saveToFile(FilesLibraryService.browsePersonalOrphan("size", "false", 1, 100000), "/opt/IBM/PersonalLibraries-Orphans.csv")' List of All Community Libraries ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesPrintService.saveToFile(FilesLibraryService.browseCommunity("size", "false", 1, 100000), "/opt/IBM/CommunityLibraries.csv")' Lets Report on some settings and data . . . .
  • 43. 43 ▪ Report on Libraries … more and more List of All User Libraries ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesPrintService.saveToFile(FilesLibraryService.browsePersonal("size", "false", 1, 100000), "/opt/IBM/PersonalLibraries.csv")' List of File/Libraries Policies ▪ ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesPrintService.saveToFile(FilesPolicyService.browse("title", "true", 1, 25),"/opt/IBM/LibraryPolicies.csv")' Lets Report on some settings and data . . . . continued
  • 44. 44 Find and move all orphaned files to a separate location ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesDataIntegrityService.checkFiles("/opt/IBM/files_orphaned")' This can happen after dB crashes or Connections server failures – or after a migration. You will have to review the files manually and “just figure it out” Files … do you have Orphans?
  • 45. 45 List all your Library Policies – personal and community based ./wsadmin.sh -lang jython -user wasadmin -password **** -profile filesAdmin.py -c 'FilesPrintService.saveToFile(FilesPolicyService.browse("title", "true", 1, 25),"/opt/IBM/LibraryPolicies.csv")' Or display it in the console wsadmin>FilesPolicyService.browse("title", "true", 1, 25) [{maximumSize=2147483648, title=!Default for Community Files, id=00000000-0000-0000-0000-000000000001}, {maximumSize=524288000, title=!Default for Community Wikis, id=00000000-0000-0000-0000-000000000003}, {maximumSize=524288000, title=!Default for Non-Community Wikis, id=00000000-0000-0000-0000-000000000002}, {maximumSize=10737418240, title=!Default for Personal Files, id=00000000-0000-0000-0000-000000000000}] Files … What are your Policies for Libraries?
  • 46. Optimize DB2 Configuration ▪ The IBM Connections Wizard will create all the databases for you, alternatively you can create them manually using the scripts included in the wizard subfolders ▪ But to have an optimally functioning DB2 server that supports online back-up with automatic retention/removal of old back-ups, minimizes i/o and “Just works better” you need to go beyond the base setup.
  • 47. DB2 Maintenance ▪ DB2 requires regular RUNSTATS and REORGS to be run to rebuild and optimize tables spaces and indexes. ▪ IBM supplies the base runstat/reorg sql files with the dB wizard, but only for the core feature databases (Profiles, Communities, etc.). If you have other applications (DOCS, Surveys, CCM, third party application dBs etc.) then there are no special sql command files for them. ▪ You can use the script on the next page to run: runstat – reorg – runstat (in that order!!) for ANY DB2 database YOU HAVE TO SHUT DOWN CONNECTIONS TO DO THIS! NO DB ACCESS IS ALLOWED
  • 48. DB2 Maintenance Log into the DB2 server as the db2admin and open an Administrator Command Prompt: db2 connect to [database name] db2 -x "SELECT 'RUNSTATS ON TABLE ' || TRIM(TABSCHEMA) || '.' || TRIM(TABNAME) || ' AND INDEXES ALL;' FROM SYSCAT.TABLES WHERE TYPE = 'T' AND TABSCHEMA NOT LIKE 'SYS%' ORDER BY TABSCHEMA, TABNAME" > db2_runstats.sql.out db2 -tvf db2_runstats.sql.out db2 -x "SELECT 'REORG TABLE ' || TRIM(TABSCHEMA) || '.' || TRIM(TABNAME) || ';' FROM SYSCAT.TABLES WHERE TYPE = 'T' AND TABSCHEMA NOT LIKE 'SYS%' ORDER BY TABSCHEMA, TABNAME" > db2_reorg.sql.out db2 -tvf db2_reorg.sql.out db2 -tvf db2_runstats.sql.out
  • 49. DB2 Maintenance ▪ Like any database system, DB2 will accumulate whitespace and that needs reclaiming to regain disk space and make the dB run faster and more efficiently ▪ This is most important for the HOMEPAGE database, but also PEOPLEDB and ACTIVIES and BLOGS can really benefit from it ▪ Not all types of tablespaces are reclaimable, you will experience errors when trying to reclaim space in some databases s– that is normal, temp tablespace and system tablespaces are not made to be reclaimed ▪ It is a multistep process, commands to follow …. YOU HAVE TO SHUT DOWN CONNECTIONS TO DO THIS! NO DB ACCESS IS ALLOWED
  • 50. DB2 Maintenance Start a DB2 command line and connect to HOMAPAGE connect to HOMEPAGE Lower the High Water Mark ALTER TABLESPACE BOARD16TABSPACE LOWER HIGH WATER MARK ALTER TABLESPACE BRD32TABSPACE LOWER HIGH WATER MARK ALTER TABLESPACE HOMEPAGETABSPACE LOWER HIGH WATER MARK ALTER TABLESPACE HPNT16TABSPACE LOWER HIGH WATER MARK ALTER TABLESPACE NEWS4TABSPACE LOWER HIGH WATER MARK ALTER TABLESPACE NEWSTABSPACE LOWER HIGH WATER MARK
  • 51. DB2 Maintenance Review the Reclaimable Tablespace output, you need that number to then actually reclaim the space in the third step. Run each command individually and note the TBSP_RECLAIMABLE_MB number select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('BOARD16TABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('BRD32TABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('HOMEPAGETABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('HPNT16TABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('NEWS32TABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('NEWS4TABSPACE', NULL)) select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('NEWSTABSPACE', NULL))
  • 52. DB2 Maintenance ▪ The results of that command will look something like this: TBSP_NAME TBSP_FREE_PAGES TBSP_RECLAIMABLE_MB ------------------------------------------------------------------------------- -------------------- -------------------- BOARD16TABSPACE 11584 181
  • 53. DB2 Maintenance ▪ Substitute the ### with the reclaimable MB number (minus some MB for overhead) and execute the command ALTER TABLESPACE BOARD16TABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE BRD32TABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE HOMEPAGETABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE HPNT16TABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE NEWS32TABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE NEWS4TABSPACE REDUCE (ALL CONTAINERS ### M) ALTER TABLESPACE NEWSTABSPACE REDUCE (ALL CONTAINERS ### M)
  • 54. DB2 additional DB Configuration ▪ LOGARCHMETH1 – archival logging, allows online backups ▪ LOGARCHCOMPR1 – archive log compression ▪ auto_del_rec_obj – auto deletion of recovery objects ▪ rec_his_retentn – recovery history retention period ▪ num_db_backups – number of back-ups retained These settings impact each other and are dependent on each other - they need to be adjusted correctly or they will not give you the expected results
  • 55. Typical Database Setting And Backup ▪ db2 update db cfg for BLOGS using LOGARCHMETH1 disk:D:DB2-Logging ▪ db2 update db cfg for BLOGS using auto_del_rec_obj ON ▪ db2 update db cfg for BLOGS using rec_his_retentn ▪ db2 15update db cfg for BLOGS using num_db_backups 3 ▪ Db2 update db cfg for BLOGS using LOGARCHCOMPR1 on ▪ update db cfg for BLOGS using LOGFILSIZ 8196 ▪ Turn on db2 archival logging and write the log files to the folder [D:DB2-Logging] ▪ Turn on automatic log file deletion ▪ Turn on automatic log file retention ▪ Retain the last 15 days of log files (and then auto- delete), retain the last 3 back-ups (and then auto- delete), ▪ Compress any archived log files. ▪ Configure log files to be 8 MB large (default is 4 MB) Now all you have to do is to run regular (=min. 1/day!) online db2 back-ups and then do a file level back up the back-ups and db2 log files
  • 56. System Logs Review ▪ We all hate it … but we have to do it if we want to catch stuff. ▪ If you can, get a log file aggregator tool – here you can look at and search all log files of all your systems simultaneously. ▪ Paid Product: SPLUNK ▪ Open Source: ELK ▪ You can also bring in logs from Domino, Windows, other OS files, router and FW logs …
  • 57. Logs Review ▪ What are the files you need to look at? WebSphere:SystemOut.log ▪ [WASinstall]profiles[profilename]logs[servername]SystemOut.log ▪ Example: ▪ D:IBMWebSphereAppServerprofilesAppSrv01logsAppCluster_Server1SystemOut.log – xxx.trace.log, etc. ▪ /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/AppCluster_Server1/SystemOut.log – trace.log, etc. DB2: db2diag.log ▪ Example: C:ProgramDataIBMDB2DB2COPY1DB2DIAG0000db2diag.log
  • 58. Logs Review ▪ Other important logs: TDI Sync logs ▪ Require frequent review to find accounts that are not syncing or are giving you errors ▪ Changes to LDAP or data in them can cause the synchronization for large numbers of users to stop: ▪ employee.updates, employee.adds, employee.delete, employee.error, employee.skip .. ▪ Most important: logsibmdi.log ▪ Will give you the most info on WHY things went bad. Is very large …..
  • 59. 59 ▪ My Blog: ▪ http://notesbusters.com ▪ Great WebSphere resource / Blog: Steve Robinson ▪ http://www.themiddlewareshop.com ▪ WebSphere WIKI ▪ http://www.bertucci.org Additional Resources