Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
ATG Launch Checklist

ATG Launch Checklist

Ratings: (0)|Views: 538|Likes:
Published by Sajith Mathew Babu
Checklist for production live site configurations
Checklist for production live site configurations

More info:

Published by: Sajith Mathew Babu on Apr 25, 2013
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





Ensure that liveconfig has been enabled by looking for the string "LIVECONFIG=true" in thestartup log. It's best to enable it on when calling runAssembler 
Consider enabling liveconfig in all remote pre-production environments
The EAR should be deployed to all remote pre-production environments in standalone mode(look at server startup for "standalone=true")
Verify that all of the data source components (for instance, /atg/dynamo/service/JTDataSource)have a class of atg.nucleus.JNDIReference or atg.service.jdbc.WatcherDataSource. If atg.service.jdbc.WatcherDataSource is used, logging should be disabled. The classatg.service.jdbc.MonitoredDataSource should never be used
Ensure that loggingDebug is disabled for all components. After a load test, search the logs for "**** debug"
Check that SQLRepositoryEventServer starts up properly if distributed caching is being used.Look at the startup log
Ensure thatselective cache invalidationis properly enabled. Test it thoroughly
Ensure that ServerLockManager is not running on an instance that also uses DAF.Deployment(for instance CA, or Search Admin). To find out which modules are running, look at the "Running Applications" page on /dyn/admin. To see if ServerLockManager is running, grep the startup logs for "ServerLockManager"
If locked caching is enabled, ensure that two ServerLockManagers are running per commercecluster - a primary and a backup. All instances in the cluster should point to the same twoServerLockManagers
Verify that URL rewriting is being handled. All links (including document.location.href) should beappended with ;jsessionid=x for cookieless users. This is called URL rewriting. <dsp:a tagsautomatically append jsessionid. Standard <a href tags do not. If URL rewriting is not done properlyfor all links, cookieless users should be prevented from accessing the site. Search engine bots,which do not use cookies, will end up creating hundreds of thousands of sessions with eachcrawling
Check that at least two global scenario server (GSS) instances are running per environment.The number of GSS instances is highly dependent on the number and profile of global scenarios.These GSS instances should ideally not be running on an instance that handles end-user sessions.Larger environments (> 100 instances) only need a handful of GSS instances
Ensure that all important/relevant patches, fixpacks and hotfixes have been applied. Log in tosupport.oracle.com, click on the "Patches & Updates" tab, click on the "Product or Family(Advanced)" sub-tab, enter "Oracle ATG Web Commerce" in the box, select your major productversion below (e.g. 10.x, 10.1.x, etc) and hit the "Search" button
Ensure that only one process editor server (PES) is running per cluster. If a second processeditor starts up, it could replace all of the currently running scenarios with the new ones (if there areany - sometimes there aren't). This can cause major problems. Run the query "select distincts.machine from v$session s where s.USERNAME = '<CORE_SCHEMA>'" against your Oracle DBto find all boxes connected. Run "select count(*) from v$session s where s.USERNAME='<CORE_SCHEMA>' and MACHINE='<HOST>';" for each result to count how many ATG instancesare connected. On each host, run "ps -ef | grep java | grep atg" to find each ATG process. Go to/dyn/admin/nucleus/atg/scenario/ScenarioManager on each instance. The processEditorServer flagshould be false on all but one instance
If repository items are imported, be sure to reset the seeds of the affected idspacesappropriately (das_id_generator.seed and das_secure_id_gen.seed). There should be no risk of theID generators handing out an ID that's already in the database
Check through logs from load tests looking for poor transaction demarcation (grep the logs for "atg.dtm.TransactionDemarcationException"). If poor transaction demarcation is found, it needs tobe fixed
Ensure that nobody changed the $class of /atg/dynamo/transaction/TransactionManager unlessthere was a good reason to do so. ATG sets this automatically and it should generally not beoverwritten
When using BigEars (where you provide -Datg.dynamo.modules=x to the JVM), ensure that allmodules are started in order from more generic (left) to more specific (right). Verify usingthis JSP
Ensure that static 404, 500, etc pages have been created and are working. Enter jibberish URLs(when connected through the load balancer) and see what happens
Verify that the default passwords have been changed for all accounts in das_account
Verify that the default passwords for all users in /atg/userprofiling/InternalProfileRepository havebeen changed
Check that $DYNAMO_HOME/localconfig and $DYNAMO_HOME/home/servers/*/localconfigare empty and non-writable to developers. Developers on a dev box can add seemingly innocuoussettings here that end up resulting in major issues later because these directories are rolled up intoEARs that get deployed to all environments
Verify that startup logs are clean. There shouldn't be errors
Make sure that the ATG performance monitor has been enabled during load tests (and onlyduring load tests) and its output studied
Ensure that the proper ATG repository cache modes are being used.Seehttp://docs.oracle.com/cd/E23095_01/Platform.93/RepositoryGuide/html/s1003cachingmodes01.html.Avoid using locked caching where possible. Consider having someone from Oracle reviewthe settings
Ensure that ATG repository cache size tuning has been performed. If the caches are full, theheap should not be full. Seethis documentfor more information
Verify that adminPort, drpPort, httpPort, rmiPort, siteHttpServerName, siteHttpServerPortproperties of /atg/dynamo/Configuration have been properly set on an instance-by-instance basis.Each JVM should have its own unique ATG server (-Datg.dynamo.server.name=X where X =/export/stor07/Oracle/Middleware/user_projects/domains/customer_domain/ATG-Data/servers/X)
Ensure that the catalog maintenance service (CMS) is running on one instance in the commercecluster. The unessential functions should be removed.Seehttp://docs.oracle.com/cd/E23095_01/Platform.93/ATGCommProgGuide/html/s0502batchservices01.html
Ensure that all System.out.println statements are removed from the Java code. Be careful whenremoving them, as code could break (e.g. Iterator.next() calls)
Check that the ScenarioManager, WorkflowProcessManager (in CA, CSC, Search Admin etc),InternalScenarioManager (in CA, CSC, Search Admin, etc) all start up properly. A successful startupmessage looks like "22:00:17,250 INFO [ScenarioManager] Initializing Process Editor Server X:20150." If you see a message like "Initializing individual process server X:8851. Currentconfigured Process Editor Server is set to X:8851", ensure that the value configured in <server-name> for scenarioManager.xml on all cluster instances is equal to the value of /atg/dynamo/service/ServerName.serverName on the designated PES/WPM/ISM instance andrestart
If price lists are being used and the number of lists == 1, consider setting/atg/commerce/pricing/priceLists/PriceListManager.usePriceCache=false
If custom catalogs are used, ensure that DCS.DynamicCustomCatalogs is not running on theagent-side. Verify using the "Running Applications" page on /dyn/admin
If internationalized content is stored in repositories backed by Oracle, make sure that all suchrepositories have useSetUnicodeStream=true. Don't forget the _production and _stagingrepositories. Put in GLOBAL.properties
If using SQLServer, ensure that useSetUnicodeStream=false for all repositories. Put inGLOBAL.properties
Look through log files for sensitive data. For instance, make sure nobody printed out a user'scredit card number, expiration date, and CVV2 number in a logInfo(). There should be no personallyidentifiable information contained in logs, with the exception of session IDs
Verify that "<distributable>" has been added to the web.xml of each web app using sessionfailover or that -distributable is being passed to runAssembler 
Ensure that the taglibs (specifically the DSP taglib) in the custom web apps match the patchlevel that ATG is at. When applying ATG patches, the taglibs in the custom web apps often have tobe manually updated

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->