Saturday, July 13, 2024

Configuring logging for the HCL Commerce - V9

 

Steps to enable Logging in Non-prod envs or Lower Environments of HCL Servers for debugging Issues.


1. Access the WebSphere Application Server Administrative Console.

http://hostname:9060/ibm/console

or

https://hostname:9043/ibm/console
2. Expand Troubleshooting > Logs and Trace. The Logging and Tracing page displays in the workspace on the right.

3. Click the server for which you want to enable the tracing (such as 'server1'). The window refreshes to display the logging and tracing options for the server.

4. Click Diagnostic Trace. The Diagnostic Trace Service window displays in the workspace.

5. Click the Configuration or Runtime tab.
Changes made to Configuration are stored on the file system and applied when the server starts. You must restart the server to pick up any changes. This is required for finding issues that originate or occur when the server is initiated. Modifications to Runtime are applied immediately and are lost after the server is restarted.

6.
Optional: Select Change Log Detail Levels to modify tracing configurations for components or packages.
  • For component-based traces, use the component names. For a list of component-based traces, see Trace strings.
  • For package-based loggers, find the package or class name and determine the appropriate logger name to use. Consider the following SolrSearchConfigurationRegistry class as an example,

com.ibm.commerce.foundation.internal.server.services.search.config.solr.SolrSearchConfigurationRegistry

Set the following trace specification:

For class-level tracing, use the exact match to the package and class name. For example,
com.ibm.commerce.foundation.internal.server.services.search.config.solr.SolrSearchConfigurationRegistry=all


If you are tracing multiple log detail levels, separate the traces with a colon. For example:


com.ibm.websphere.commerce.WC_SERVER=all:com.ibm.websphere.commerce.WC_ORDER=all

Tracking all helps in diagnosing problems so that multiple traces can be avoided. As an alternative to all, classes can also use warning and info traces, where info contains the least trace impact.

7. Click Apply > OK to apply the changes to your server. If you selected to change the log details levels on the Configuration tab, restart your server.

8. you should now be able to see traces in the console or log files..


Below are some of the components and their trace strings please refer.

ComponentTrace string
Promotion
com.ibm.websphere.commerce.WC_ORDER=all:
com.ibm.websphere.commerce.WC_CALCULATION=all:
com.ibm.commerce.marketing.promotion.*=all:
com.ibm.commerce.promotion.*=all
com.ibm.commerce.foundation.logging.*=all
Marketing
com.ibm.websphere.commerce.WC_MARKETING=all:
com.ibm.commerce.marketing.*=all:
com.ibm.commerce.foundation.*=all:
com.ibm.commerce.content.*=all:
com.ibm.commerce.membergroup.*=all:
com.ibm.websphere.commerce.WC_USER=all
com.ibm.commerce.marketing.cache.*=all
com.ibm.commerce.store.marketing.*=all
com.ibm.commerce.foundation.logging.*=all
Orders
com.ibm.websphere.commerce.WC_ORDER=all:
com.ibm.websphere.commerce.WC_CALCULATION=all:
com.ibm.websphere.commerce.WC_EDP=all:
com.ibm.websphere.commerce.WC_PPC=all:
com.ibm.websphere.commerce.WC_INVENTORY=all
com.ibm.commerce.foundation.logging.*=all
Catalog
com.ibm.websphere.commerce.WC_CATALOG=all: 
com.ibm.commerce.foundation.*=all: 
com.ibm.websphere.commerce.WC_SERVER=all:
com.ibm.commerce.foundation.client.lobtools.*=all:
com.ibm.commerce.catalog.*=all
Attribute Dictionary
com.ibm.commerce.tools.*=all: 
com.ibm.commerce.catalog.*=all:
com.ibm.commerce.foundation.*=all:
com.ibm.websphere.commerce.WC_SERVER=all
Price rules
com.ibm.commerce.foundation.*=all:
com.ibm.commerce.price.*=all:
com.ibm.websphere.commerce.WC_CONTRACT=all: 
com.ibm.websphere.commerce.WC_ORDER=all:
com.ibm.commerce.catalog.*=all
Catalog filters
com.ibm.commerce.catalog.*=all: 
com.ibm.commerce.catalogentry.*=all:
com.ibm.commerce.contract.*=all:
com.ibm.commerce.foundation.*=all: 
com.ibm.websphere.commerce.WC_CATALOG=all:
com.ibm.websphere.commerce.WC_CONTRACT=all
Management Center
com.ibm.commerce.foundation.client.lobtools.*=all
com.ibm.commerce.foundation.logging.*=all
User registration and login
com.ibm.websphere.commerce.WC_SERVER=all:
com.ibm.websphere.commerce.WC_USER=all:
com.ibm.websphere.commerce.WC_ACCESSCONTROL=all
com.ibm.commerce.foundation.logging.*=all
Calculation framework (orders)
com.ibm.websphere.commerce.WC_ORDER=all:
com.ibm.websphere.commerce.WC_CALCULATION=all:
com.ibm.websphere.commerce.WC_MARKETING=all
com.ibm.commerce.foundation.logging.*=all
Dynamic Cache

The following strings are useful for diagnosing cache-related problems on the Transaction server. The trace strings are listed from the highest-level and most important tracing to the most detailed.

Each trace string creates some extra logging and can impact performance. If you need to reduce the performance impact, remove the trace strings beginning from the end of the list, unless a particular string is required for diagnosing the initial issue.
com.ibm.commerce.dynacache.commands.*=all
com.ibm.commerce.foundation.logging.*=all
com.ibm.commerce.datatype.*=all
com.ibm.websphere.commerce.WC_CACHE=all
com.ibm.ws.cache.*=all
Session Management
com.ibm.websphere.commerce.WC_SERVER=all:
com.ibm.websphere.commerce.WC_BUSINESSCONTEXT=all:
com.ibm.websphere.commerce.WC_USER=all: 
com.ibm.websphere.commerce.WC_SESSIONMANAGEMENT=all:
com.ibm.commerce.foundation.*=all:
Search scheduled job for update index
com.ibm.commerce.foundation.dataimport.*=all
com.ibm.commerce.foundation.logging.*=all
Search build index
*=info:com.ibm.commerce.foundation.*=all:
com.ibm.commerce.rest.*=all:
com.ibm.commerce.catalog.facade.server.*=finest
Search health check
*=info:com.ibm.commerce.rest.*=finest
Search rules
:*=info:com.ibm.commerce.rest.*=all:
com.ibm.commerce.marketing.*=all:
com.ibm.commerce.foundation.*=all:
com.ibm.commerce.catalog.*=finest
Search Rules Based Sales Categories
*=info:com.ibm.commerce.rest.*=all:
com.ibm.commerce.marketing.*=all:
com.ibm.commerce.foundation.*=all
Access control
com.ibm.websphere.commerce.WC_SERVER=all:
com.ibm.websphere.commerce.WC_USER=all:
com.ibm.websphere.commerce.WC_ACCESSCONTROL=all
com.ibm.commerce.foundation.logging.*=all
 
Cross site protection
com.ibm.websphere.commerce.WC_SERVER=all
com.ibm.commerce.foundation.logging.*=all
SEO
*=info:
com.ibm.commerce.seo.*=all
com.ibm.commerce.foundation.logging.*=all
Commerce Composer
*=info: 
com.ibm.commerce.foundation.logging.*=all
com.ibm.commerce.pagelayout.*=all
Data load
  • Data load framework trace
    com.ibm.commerce.foundation.dataload.*=all.
  • Catalog data load:
    com.ibm.commerce.catalog.dataload.*=all
  • Promotion data load
    com.ibm.commerce.promotion.dataload.*=all
  • Marketing data load
    com.ibm.commerce.marketing.dataload.*=all
  • Price data load
    com.ibm.commerce.price.dataload.*=all


Reference Links:

https://help.hcltechsw.com/commerce/9.0.0/admin/tasks/tlslogging_txn_dev.html


Thanks for reading my blog!!

Sharing Is Caring!!!!!!

Wednesday, September 30, 2020

Creating a new entity bean or EJB in IBM WCS

The best source for this task is the info center so refer below link:

https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.tutorial.doc/tutorial/ttd18.html

I will share some points on this for each step that will help in completing this task while referring to Infocenter.

Most Important: 

Before starting EJB Creation finalize the table structure and data model as some steps cannot be corrected rather have to restart the complete process of EJB Creation.

Note:  Every step below please save your changes without fail. 


Step-1: Start the server in normal mode or debug mode. 

Step-2: Creating Table structure 

  • Create a table as per your requirement, define the data model finalize the table structure.
  • Use SQL client or the db.jsp to run the new table creation Query        

Step-3, 4: Creating table in the Database

Enter and Execute/Run the query, commit the changes in SQL client or db.jsp

Step-5: Creating BEAN and its CMP fields 

In this follow info center till steps d.

- Create all the primary keys if your table has multiple primary keys and for all primary key cmp creation select Key Field checkbox, all other checkboxes by default will be disabled.

- Select corresponding datatypes accordingly.

-  For fields other than primary keys, select Access with getter and setter methods checkbox.

- Clear the Promote getter and setter methods to remote interface checkbox, select only if it's applicable only in your case. refer info center for an explanation.

- Create all the fields as per your table defined (refer screenshot).

- Creating optcounter field is optional but preferred.

- Follow this step 'E' as is.

- The four files must be created  as shown in the below screenshot, if not then something is messed while creating and saving. Restart the EJB creation process in the fresh workspace (else it may lead to conflicts).

Step-6, 7, 8, 9: Follow steps as mentioned in the info center, those are pretty straightforward.

Step-10: Creating/Generating the getters
-
In this step, we should create or add the getters for all the primary key fields

- Create getters to all the primary key fields, can create getters manually or by generating the code.

- To generate the code right-click in the bean class, and choose the option as shown below


- Select fields for which you need the getters and select only getter methods.

Step-11: Creating finders

- Follow all the steps until step 'F'.

- In step f, if the table would have multiple rows for the field whose finder is being created then should select the return type as "java.util.Enumeration".

Refer Detailed info center link on how to create finders:

https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.doc/tasks/tdecreateentitybean_6.html

- Follow other steps as is.

Step-12: Creating new ejbCreate and ejbPostCreate methods

- The initial ejbCreate() method that gets generated might not initialize all non-nullable fields so write a custom overridden method with all the non-nullable fields.

- ejbCreate() is for creating the row in DB with all necessary parameters/fields.

- If any modifications in ejbCreate() after promoting it to the home interface, then we should demote make changes and promote it again.

Detailed link on Creating ejbCreate method:

https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.doc/tasks/tdecreateentitybean_7.html

- All other steps should be followed as mentioned in the info center.

Step-13: Adding getOwner() and fulfills() methods

- Add these methods only if the table is independent and has no foreign key reference

- If the table has a foreign key reference then these two methods are not needed still they get autogenerated in the access bean after it is generated.

- If still need to add these methods then as in the shown example just create the methods following the info center steps.


Step-14: Creating a database and table definition

- In This, The info center steps 'A' till 'F' are not needed if the Schema was already created (follow info center steps to create the schema if not present).

- Follow the step 'G' to navigate to data models

- Don't have to follow step 'H' if the Schema was already created rather select the schema.

- Follow steps 'I' and 'J' as in from the info center.

- In Step 'J', The table fields/parameters while creating the table should match with the database table field names else it fails. 

Step-15: Mapping table fields and java fields

- This step is crucial to map the java fields and DB fields (Created in step 14) that were created above.

- Follow the steps as is, if the backend folder is already there then you just select it and proceed.

-Here while mapping can use any type of mapping such that match by type or match by name, preferable is match by type as this would map most of the fields.

- Once it has mapped cross-check if the mapping is right if not drag-drop and match the fields appropriately and save the file.

Step-16: Enabling Optimistic Locking

- Follow the steps as is in the info center

Step-17: Set the optimistic predicate value of the optcounter field

- Follow the steps as is in the info center

Step-18: Editing methods to call optimistic locking classes.

- Follow the steps as is in the info center.

- In Step C, for adding the below code
 BonusKey myNewKey = new BonusKey();
 this.initializeOptCounter(myNewKey);

- In the above reference instead of the memberId, pass all the primary keys.

- If you have one primary key pass that or if you have multiple then pass those all in the right order, for the order check the beanKey class.

Step-19: Creating an access bean

- Just follow the steps in the info center

Step-20: Generating the deploy code

- Just follow the steps in the info center

Step-21: Generating the Access Bean

- Just follow the steps in the info center

References:

Creating Entity Beans infocenter link:
https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.tutorial.doc/tutorial/ttd18.html

Details reference for creating finders:
https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.doc/tasks/tdecreateentitybean_6.html

Detailed link on Creating ejbCreate method:

https://help.hcltechsw.com/commerce/7.0.0/com.ibm.commerce.developer.doc/tasks/tdecreateentitybean_7.html 

Datatype mapping reference:

Which Files to commit after creating entity bean?



Thanks for reading my blog!!

Sharing Is Caring!!!!!!

Friday, September 25, 2020

Creating a new Registry to cache data from particular Table in WCS

Creating a new Registry to cache data from particular Table in WCS

Let's consider a Scenario:
We have a Table from which the data (data is not being changed frequently) is being fetched an enormous amount of time which leads to too many DB hits.

For this scenario/requirement, we can create a WCS registry which has the complete table data cached to the registry we are about to create.

In our case, 
Let's consider a table X_SHIPPINGPRICEEXCEPTION which has the shipping price of some items/products, The shipping price of these products is fixed (products shipping is not variable based on weight) and it is persisted in this X_SHIPPINGPRICEEXCEPTION table.

This table has only two fields ie PARTNUMBER and PRICE.

The requirement was to store the complete details of this table to the newly created REGISTRY and The data can be retrieved from this registry to avoid the DB Hits.

The registry name I have chosen will be XXXXShippingExceptionRegistry and the registry classname be XShippingExceptionRegistry.

Let's start creating a Registry class.

Create a Registry class (XShippingExceptionRegistry) that implements interface com.ibm.commerce.registry.Registry

The Registry class has below listed methods which we override and write our logic based on the requirements:
initialize() -- gets called when the server starts.
refresh() -- Gets called when user or admin tries to clear/refres/update the registry from admin console
Which imports to import?

import com.ibm.commerce.registry.Registry;
import com.ibm.commerce.registry.RegistryManager;

In my case the methods look like below: 

private Map mappingData ;
public Map getMappingData() {
    return mappingData;
}

@Override public void initialize() throws Exception { 
RegistryManager.singleton().addRegistry("XShippingExceptionRegistry", this); 
//This is the Custom method that is used to get the table contents using 
JDBC Helper loadContents(); 

private void loadContents() {
if(mappingData == null){ 
mappingData = new HashMap<>(); 
ServerJDBCHelperAccessBean jdbcHelper = new ServerJDBCHelperAccessBean();
List shippingExceptionPriceInfoList =null;
String getShippingExceptionPriceSql = "SELECT PARTNUMBER, PRICE FROM X_SHIPPINGPRICEEXCEPTION";
try {
shippingExceptionPriceInfoList = jdbcHelper.executeQuery(getShippingExceptionPriceSql); 
} catch (RemoteException | NamingException | SQLException | CreateException e) { 
//Add loggers here
}
processSqlResult(shippingExceptionPriceDBList); 
}

private void processSqlResult(List shippingExceptionPriceDBList) {
if (shippingExceptionPriceDBList != null && !shippingExceptionPriceDBList.isEmpty()) {
java.util.Iterator shipPriceIterator = shippingExceptionPriceDBList.iterator(); 
String skunumber = null; 
String shipExceptionPrice = null; 
while (shipPriceIterator.hasNext()) {
List vObj = (List) shipPriceIterator.next(); 
if (vObj.get(0) != null) { 
skunumber = vObj.get(0).toString();

if (vObj.get(1) != null) { 
shipExceptionPrice = vObj.get(1).toString(); 
if (skunumber != null && shipExceptionPrice != null) { 
mappingData.put(skunumber, shipExceptionPrice); 

//Add Logger to print the size of the list if required: "Populating registry is completed for total count : "+ mappingData.size()" 
}

The refresh method would look like below which clears and populates the data to the registry. @Override 
public void refresh() throws Exception { 
mappingData.clear(); 
loadContents();

We need to add entry in WC-server.xml for the Registry.

<Registries>
<registry name="XXXXShippingExceptionRegistry" regClassName="com.academy.commerce.shipping.registry.XShippingExceptionRegistry"/>
</Registries>

How to clear the registry or the cached data?

If we have to clear or refresh the Registry data, we can do it from the admin console with "registry refresh" option -> select the registry -> update the registry.

How to use this registry to retrive the data from shipping registry and use it?

XShippingExceptionRegistry XShippingExceptionRegistry = (XShippingExceptionRegistry) RegistryManager.singleton().getRegistry("XXXXShippingExceptionRegistry"); 
Map shippingExceptionMapping = academyXShippingExceptionRegistry.getMappingData(); 
xShippingExceptionPrice = new BigDecimal(shippingExceptionMapping.get(partnumber));


Thanks a lot for reading my Blog. 

Sharing Is Caring!!!!!!

Tuesday, September 10, 2019

Enable/disable the optimization of large shopping cart order commands


Enabling/disabling the optimization of large shopping cart order commands


How to Enable and disable the optimized large shopping cart order commands


This will help you to improving the large shopping carts, you can optimize for the following commands commands
  • OrderItemAdd
  • OrderItemUpdate
  • OrderItemDisplay
  • OrderCalculate commands.


Steps

To enable the optimized code path


1. Edit the WebSphere Commerce configuration file (wc-server.xml).

2. Add the following element in the <InstanceProperties> element:

<OrderCommandOptimization com.ibm.commerce.orderitems.commands.OrderItemBaseCmdImpl="true"/>

3. Propagate the changes to the Web Sphere Commerce configuration file (wc-server.xml).

4. Restart the WebSphere Commerce instance.


To disable the optimized code path


1. Edit the WebSphere Commerce configuration file.

2. Add the following element in the <InstanceProperties> element

<OrderCommandOptimization com.ibm.commerce.orderitems.commands.OrderItemBaseCmdImpl="false"/>

3. Propagate the changes to the Web Sphere Commerce configuration file (wc-server.xml).

4. Restart the WebSphere Commerce instance.

Reference:

https://www.ibm.com/support/knowledgecenter/en/SSZLC2_8.0.0/com.ibm.commerce.admin.doc/tasks/tosedshpcartordcmd_dup.htm

Updated HCL infocenter Link:
https://help.hcltechsw.com/commerce/8.0.0/developer/tasks/tosedshpcartordcmd.html

Sharing Is Caring!!!!!!

Saturday, July 14, 2018

IBM WCS ACPLOAD Command Execution Steps

Acpload command
To run the access control policies you need to use acpload.bat in  \bin directory with in you WebSphere Commerce Developer installation directory (M:\IBM\WCDE80\bin).

To run acpload if you are using default WCD (Derby DB)

  • Open command prompt and go to bin directory 
  • Run acpload ACPolicyfilename.xml

To run acpload if you are using DB2 or Oracle

  • Open command prompt and go to bin directory 
  • Run acpload <your database name> <your Db user name>  <your Db user password>   <ACPolicyfilename.xml >  <DB schema name (normally it will be same as  your database user name)>

acpload.bat WCSDB db2admin db2admin D:\IBM\WCDE80\xml\policies\xml\ACPPolicy.XML WCSADMIN

  • check the acpload.logs and make sure there is no errors. 


Sharing Is Caring!!!!!!

Thursday, October 27, 2016

SOlr configuration steps

SOlr configuration steps


The Following Steps should be followed to configure (Commands are case-sensitive)

1 Stop the server 

2 Go To Db2Console/CMD Prompt then click on the database and search for the store table and check the STORE_ID (DEFAULT IS 10001)

3 Then go to DB2CMD or CMD

4 Go to path "C:\IBM\WCDE_ENT70\components\foundation\subcomponents\search\bin"

5 And Run the following command(Without Quotes)
 "setupSearchIndex.bat -masterCatalogId 10001"

6 10001 is the STORE_ID

7 Start the Server now

8 Now again go to the path "C:\IBM\WCDE_ENT70\bin"

9 Execute the command (Without Quotes)
"di-preprocess.bat c:\IBM\WCDE_ENT70\search\pre-
processConfig\MC_10001\DB2"

10 Execute the command (Without Quotes)
"di-buildindex.bat -masterCatalogId 10001"

Note:
The exit code should be '0' for both the Commands or Batch processes... 

If the Exit code is '3' then Re-Run the command with the parameter "-force true" which means run this forcebily even if there is any other scheduled Preprocess/buildindex is running. Refer the below links for more information.

Reference Links:
Preprocessing:
http://www.ibm.com/support/knowledgecenter/SSZLC2_8.0.0/com.ibm.commerce.search.doc/tasks/tsdsearchbuildpre.htm


BuildIndex:
http://www.ibm.com/support/knowledgecenter/en/SSZLC2_8.0.0/com.ibm.commerce.search.doc/tasks/tsdsearchbuildindex.htm


Cheers!!!! You have completed the Preprocessing and Reindexing.


Sharing is Caring!!!!


WCS IBM Issue Fix: PricePending Issue even after the Di-preprocess and Di-build Index

If facing any Price Pending issue in the store front its normally because of the Di-preprocess and Di-buildIndex, But if its same even after performing the Di-preprocess and Di-buildIndex then it seems to be the issue because your currency is not being mentioned in the XML's and its taking the default/OOB currencies and your currency is not mentioned in the XML's.

Steps to fix this:
1. First select a currency that you feel you are not going to use it in the future for this project and search for it in the below mentioned three files and replace it with the currency you want to use.
2. Navigate to the below location>Open below files in any Text editor like Notepad++
  • For Solr:
          C:\IBM\WCDE80\search\solr\home\MC_10001\en_US\CatalogEntry\conf\wc-data-config.xml
  • For pre-processConfig:
          C:\IBM\WCDE80\search\pre-processConfig\MC_10001\DB2\wc-dataimport-preprocess-listprice.xml
          C:\IBM\WCDE80\search\pre-processConfig\MC_10001\DB2\wc-dataimport-preprocess-offerprice.xml

Eg:
    ILS is Israel Currency and i'm not going to use it in the future and i Need AUD currency which is Australian Dollar. 

3. Search for the Text "ILS" and Replace all of its OCCURANCES with "AUD"
Repeat the step for all the Three above mentioned Files and make sure you save Them.

4. Then Perform Di-Preprocess and Di-Build Index or Click here to Refer the Blog

 Cheers!!!! You have Done and It should work if the Issue is related to Currency...



Sharing is Caring!!!!



Thursday, October 13, 2016

Script to Reset the wcsadmin password in WCS IBM

To Reset the wcsadmin password in WCS IBM follow the below steps:

Step-1
Open the Db2 console center or any other db2 client to run sql's and go to query editor.

Step-2
Copy and paste the below queries one by one or together and execute them.

update userreg set logonpassword = x'74434f61354f51593862415655304d5268424e54723865685653356151374a2b353163506c4261363730633d202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020' where logonid='wcsadmin';

update userreg set salt = 'hsdbacehyoyn' where logonid='wcsadmin';

update userreg set status = 1 where logonid='wcsadmin';


update userreg set passwordexpired = 0 where logonid='wcsadmin';


Step-3 
The above scripts reset's the password of the wcsadmin user to "wcsadmin"

Navigate to the store in the browser and login to the site using the user name "wcsadmin" and password "wcsadmin".

After successful login change the password as required.



Sharing is Caring!!!!

Thursday, September 29, 2016

Database Backup Steps and commands for IBM WCS

Steps:
  • Go to Start and type "run" and open.
  • In the Run console type "db2cmd" and the window will open.
Execute the below commands in the given order.
  • CONNECT TO DBNAME user USERNAME using PASSWORD
  • QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
  • CONNECT RESET
  • DEACTIVATE DATABASE DBNAME
  • BACKUP DATABASE DBNAME TO "C:\CASE STUDY DB BACKUP" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS  WITHOUT PROMPTING
  • ACTIVATE DATABASE DBNAME
  • CONNECT TO DBNAME
  • UNQUIESCE DATABASE
  • CONNECT RESET
Note: 
         -Replace the word DBNAME with the name of your Database.
         -USERNAME is databse admin name and PASSWORD is Databse admin password.
         -Example commands are given below.
         -For each command the "db2" should be pre-fixed before executing as given below.

Example of script:

db2 CONNECT TO AURORADB user db2admin using passme!23
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
db2 CONNECT RESET
db2 DEACTIVATE DATABASE AURORADB
db2 BACKUP DATABASE AURORADB TO "C:\CASE STUDY DB BACKUP" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS  WITHOUT PROMPTING
db2 ACTIVATE DATABASE AURORADB
db2 CONNECT TO AURORADB
db2 UNQUIESCE DATABASE
db2 CONNECT RESET


In the above the AURORADB is the Database name used, db2admin is database admin name and passme!23 is the password for the admin.

Please try and any doubts or queries comment down..

Sharing is Caring!!!!







Wednesday, September 7, 2016

Adding/Importing the SSL or Signer certificates in IBM WCS

     To Add a Signer certificate.

  1.  Open Server Admin console from RAD.
  2.  Navigate to Secutity and Expand it.
  3.  Then click on  SSL certificate and key management.
  4.  in the console check on Right Side for more options and click on Key stores and certificates
  5.  In that there should be a lot of NODES select for NodeDefaultTrustStore  click on it.
  6.  on the right side check for Additional Properties and in that click on the Signer certificates.
  7.  The Navigated Path should look like this "SSL certificate and key management > Key stores and certificates > NodeDefaultTrustStore > Signer certificates"
  8.  Next to add and delete button find the retrieve from port button
  9.  now gotta fill the mandatory fields  like Host, Port and Alias.
  10.  Host can be for eg "developer.authorize.net" and port try 443 and Alias give any meaning ful name to recognise it. 
  11. Then click on Retrieve Signer Information and wait for the certificate import.
  12. Then apply and save it with out fail.
  13. Restart the server and test.

Important Note:

If you get the error as "ErrorReceived fatal alert: handshake_failure" while adding the certificate follow below steps as a Fix.
  1. Navigate to SSL certificate and key management.
  2. In the Related Items and click on SSL Configurations.
  3. Then click on NodeDefaultSSLSettings.
  4. Find the Additional Properties and click on Quality of protection (QoP) settings.
  5. Here by Default SSL_TLS might be selected.
  6. Change it to  TLSv1.2 or SSL_TLSv2.
  7. It will solve the issue.