

Migrate CCM application from one server machine to another with the same database server in Enterprise deployment topology using WASHow to migrate a CCM application from one server machine to another with the same database server in Enterprise deployment topology using WebSphere Application Server (WAS). Stan
Example: A distributed environment where we have 5 server machines. 1st server machine for IHS, 2nd server machine for the database, 3rd server machine for DCC + RS, 4th server machine for JTS+RM+CCM and 5th server machine for LQE.
Expectation: CCM and RM are in the same server machine. How to move the CCM application to a new server machine? Please find the procedure below referencing with the above scope of the requirement as an example.
1) Backup Conf Back 2) Install RTC in New Server Inte
Depl Stan
4) Restore the conf Back
5) Re-configure IHS for new RTC server. Reve
6) Make sure you have the right JVM configured for the RTC applications. Note: Two applications sharing the same JVM, needs more JVM to be set.
7) Set the new path to the indices folder in the team
Any feedback or suggestion based on specific scenario and your experience is appreciated.
Tags:  move ccm was rtc ibm-blog migration server another |
Enabling the RepoDebug service for JTS and RTC WAS liberty application server
Enabling the RepoDebug service for Jazz Team Server (JTS) and Rational Team Concert (RTC) WebSphere Application Server (WAS) Liberty application server
The debug service is a general-purpose service that serves as the central location for finding various REST APIs that are useful for debugging. It was introduced into Jazz Foundation in v4.0.6 and is available for all JAF-based web applications.
Steps:
Please refer the RepoDebug wiki for more details.
Tags:  jts rational-team-concert ibm-iot server videos iot-support rtc ibm-blog was supce repodebug liberty application |
IBM TRIRIGA Microsoft SQL Server database Best Practice recommendations to be reviewed by MS SQL Server DBAPurposeProvide suggestions and recommendations for the IBM TRIRIGA MS SQL Server database environment. Also, provide monitoring and trouble resolution steps to quickly discover and prevent performance and instability degradation. DerivationThis document is in response to performance related issues occurring in the installation of the TRIRIGA Application. Key areas to address:-
ConsiderationsMS SQL Server performance problems can be difficult to pinpoint and require inspection into many aspects of the environment. There is no magic button or specific step by step actions to locate every performance issue. What exist are guidelines for diagnosing and troubleshooting common performance problems. The purpose of this document will be to provide a general methodology for diagnosing and troubleshooting MS SQL Server database instability & performance problems in common scenarios.
Configuration, tuning and sizing issues for MS SQL Server may lead to various instability and performance issues from database end. The instructions listed below are to be reviewed, confirmed and applied by customer’s DBA whenever necessary.
TRIRIGA Customer Typical findingsThere are basic best practices that should be implemented on a production MS SQL Servers.
SQL Server Best Practices
SQL Service: The account that runs the SQL Server Service should be included in the two Local Security Policy Groups below:
“Lock Pages in Memory” – Prevents SQL Server allocated memory from being swapped to disk. “Perform volume maintenance tasks” - Enables Instant File Initialization, the system will not initialize storage it allocates. Instead, the storage will remain uninitialized until SQL Server writes data to it. Preventing the server from zero-filling storage.
1. Click Start. 2. Go to Administrative tools | Local Security Policy. 3. Click Local Policies Click User Rights Assignment. 4. Scroll down to “Lock pages in memory”, and double-click it. 5. Click Add User or Group, and enter the SQL Server service account name. 6. Scroll down to “Perform volume maintenance tasks”, and double-click it. 7. Click Add User or Group, and enter the SQL Server service account name.
Server Memory: Change “Max Server Memory” to coincide with the chart below. This setting controls how much memory can be used by the SQL Server Buffer Pool. If you don’t set an upper limit for this value, other parts of SQL Server, and the operating system can be starved for memory, which can cause instability and performance problems. These settings are for x64, on a dedicated database server, only running the DB engine, Physical RA “Max Degree Parallelism”: Set to 4. Currently set at 0, unlimited parallelism. Takes effect immediately. This will limit parallelism to 4 threads and decrease CXPACKET waits.
EXEC dbo.sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXEC dbo.sp_configure 'max degree of parallelism', 4; GO RECONFIGURE WITH OVERRIDE; GO
TempDB: Add data Files to match number of cores. Running with a single tempdb data file can create unacceptable latch contention and I/O performance bottlenecks. To mitigate these problems, allocate one tempdb data file per processor core. (This is different than the practice for user-defined database files, where the recommendation is 0.5 to 1 data file per core.) Change Growth rate to a fixed increment. Turn on AutoStats.
--Simple script to generate Temp file SQL, change for your path. Creates 2GB files with 512MB Growth. (Generate results as text, copy, paste run. Takes affect after SQL restart)
use master go set nocount on declare @filename int select @filename = '1' while @filename <= 32 begin Select 'ALTER DATABASE [tempdb] ADD FILE ( NAME = N''tempdev' + conv go' Select @filename = @filename + 1 end go
Network Settings: In Windows 2008, networking should be set for “Maximize settings for networked applications”.
Database Best Practices
Autogrow: Change Autogrow on data and log files, increase growth amount to 500MB+ per file depending on rate of growth. Auto Update Stats: Change to Async. Prevents SQL from waiting on stats to update. The optimizer will initiate a statistics update operation when about 20% of the rows in an index have changed. Normally, whatever query was being optimized at the time will then have to wait until the statistics are updated before it can finish the optimization phase and begin executing. With the 'async' option, a separate thread will update the stats, and the query that was being optimized will continue and use the older stats when its plan is generated. Update Statistics: Consider running on a nightly or weekly basis with fullscan.
IBM TRIRIGA specific recommendationsTriData database:
Increase Tridata data files to 0.5 to 1 data file per core. All files to be exact same size and growth settings. Suggestion to equalize the current server: Create a new filegroup and add 4-8 files large enough to hold the largest table in Tridata. Rebuild the table clustered index on the new filegroup with drop existing. This would allow SQL to stripe the table data and indexes across the newly created files without having to unload and load the database. Repeat as needed for similar groupings. Maybe another group for reference and configuration tables and so on until the Primary filegroup can be reduced.
Snapshot Isolation to reduce blocking:
http http
Consider testing with Snapshot_isolation and read
ALTER DATABASE << My Database >> SET ALLO ALTER DATABASE << My Database >> SET READ
With READ
Example:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT BEGIN TRANSACTION SELECT EmployeeID, LastName, FirstName, Title FROM Employees
Indexing:
Keep a close watch on unused indexes and missing indexes.
Missing Indexes:
SELECT sys.objects.name , (avg , 'CREATE NONCLUSTERED INDEX ix_IndexName ON ' + sys.objects.name COLLATE DATABASE_DEFAULT + ' ( ' + IsNu THEN '' ELSE CASE WHEN mid. THEN '' ELSE ',' END + mid. THEN '' ELSE 'INCLUDE (' + mid. , mid. , mid. , mid. FROM sys. INNER JOIN sys. INNER JOIN sys. INNER JOIN sys.objects WITH (nolock) ON mid.OBJECT_ID = sys. WHERE (migs.group_handle IN ( SELECT TOP (500) group_handle FROM sys. ORDER BY (avg AND OBJE ORDER BY 2 DESC , 3 DESC
Unused Indexes:
SELECT o.name, indexname=i.name, i.index_id , reads=user_seeks + user_scans + user_lookups , writes = user_updates , rows = (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id) , CASE WHEN s.user_updates < 1 THEN 100 ELSE 1.00 * (s.user_seeks + s.user_scans + s.user_lookups) / s.user_updates END AS reads_per_write , 'DROP INDEX ' + QUOTENAME(i.name) + ' ON ' + QUOTENAME(c.name) + '.' + QUOT FROM sys. INNER JOIN sys.indexes i ON i.index_id = s.index_id AND s.object_id = i.object_id INNER JOIN sys.objects o on s.object_id = o.object_id INNER JOIN sys.schemas c on o.schema_id = c.schema_id WHERE OBJE AND s.database_id = DB_ID() AND i.type_desc = 'nonclustered' AND i.is_primary_key = 0 AND i.is AND (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id) > 10000 ORDER BY reads SQL Server MonitoringManagement Data WarehouseThe management data warehouse should be turned on for monitoring sql. This tool will provide baseline information and allow for timeline snapshots of performance data. Near Real-time performance reporting and query history.http
|