Oracle Commerce MAA Configuration Best Practices

Oracle Commerce MAA Configuration Best Practices
Oracle Commerce MAA
Configuration Best Practices
ORACLE WHITE PAPER
|
JULY 2015
Table of Contents
Executive Overview
7
Introduction
8
Primary Site Creation
9
Install and Configure Exadata
9
Install and Configure Grid Home and Database Home
9
Install Exalogic
10
Commerce Database Creation
10
Use DBCA to Create an Oracle RAC Database
11
Create Tablespaces
11
Create Commerce Database Schemas
12
Create the Role-Based Service
12
Execute the DBMS_SERVICE PL/SQL Package For Each Role-Based Service 13
Start Then Stop the Role-Based Services
13
Set Up the Database Best Practices
13
Configure Exalogic Servers
13
Set Up a Shared File System on ZFS
13
Plan the ZFS Project File System Layout and Mount Points
13
Create the ZFS Project
15
Create the ZFS Shares in the Project
16
Add Mount Points to the Appropriate Hosts
17
Configure the OS for WebLogic Server
Enable Large Pages
1 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
19
19
Set System Limits
Install WebLogic Server
19
20
Enable the Admin Server HA VIP
20
Primary Site Application Tier Hosts
20
Install WebLogic Server with the Domain
21
Set the WebLogic Server Environment Variables
21
Enable Exalogic Optimizations
21
Set Node Manager properties
21
Setup and Start WLS Domain Admin Server
22
Start Node Manager
22
Verify WebLogic Server Administration Console is Working
23
Install Commerce with the Commerce Reference Store
25
Required Commerce Environment Variables
25
Port Mapping for WebLogic Server | Commerce Applications
25
Port Mapping for WebLogic Coherence Servers
27
WebLogic Server Resources for Managed Servers
27
Configure Commerce with cim.sh
28
Post-Installation Configuration
30
Create the Standby Site
40
Install and Configure Oracle Exadata Database Machine
40
Create the Physical Standby Database
40
Prepare the Primary Database for Standby Creation
40
Prepare the Standby
43
2 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the Standby Using RMAN Duplicate
45
Complete Standby Post “RMAN Duplicate” Steps
46
Create the Role-Based Services
48
Test Redo Log Transport
48
Set Up the Database Best Practices
50
Enable Flashback Database on Standby
50
Configure and Start Data Guard Broker
50
Validate Standby Operation
50
Install Exalogic
52
Set Up ZFS Replication for Applications Tier DR
52
Configure Replication for the Project
52
Verify That the Shares Are Being Replicated
53
Create Exalogic Servers
54
Disaster Recovery Host Aliasing
54
Sample DR /etc/hosts
55
Update DR Hosts With ZFS Replica Mount Points
55
Set the DR WebLogic Environment Variables
55
Set Up the Standby Load Balancer
55
Site Test
56
Create an Alternate Set of WebLogic Server JDBC Files
56
Convert the Standby Database to a Snapshot Standby
57
Create a File System Clone
57
Mount the WebLogic Server and Commerce File System Clone
57
3 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Change the WebLogic Server config.xml File
58
Failover and Start the WebLogic Server Admin listen address
58
Commerce Platform Startup and Test
58
Site Test to Standby
59
Shut Down Commerce Applications
59
Convert the Standby to a Physical Standby
59
Unmount the File Systems
59
Remove the Clone of the Commerce File System Replica
59
Site Switchover
60
Shut Down Commerce Applications on Primary Site
60
Perform Database Switchover
60
Stop Commerce File System Replication at Source
60
Perform Commerce File System Role Reversal at Target
60
Mount the Commerce File System
61
Start Up Commerce Applications As Prod on the New Primary Site
61
Start File System Replication to New Standby Site
61
Delete Old Commerce File System Project
61
Site Failover
62
Perform Database Failover
62
Perform Commerce File System Role Reversal
62
Mount the Commerce File System
62
Start Up the Commerce Applications As Prod on the New Primary Site
62
Reinstate
4 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
63
Perform Database Reinstate
63
Start Commerce File System Replication to Standby Site
63
Delete Old Commerce File System Project
63
WebLogic Server Administration Server Failover
64
Enable Active Data Guard for Read-Only Reporting
64
Appendix
66
Oracle Commerce Installation Examples
66
Commerce Platform Installation Example
66
Commerce Reference Store Installation Example
69
Commerce Guided Search MDEX Installation Example
71
Commerce Guided Search Platform Services Installation Example
72
Commerce Guided Search Tools & Frameworks with Experience Manager
Installation Example
74
Commerce Guided Search CAS Installation Example
75
Sample Scripts
78
Monitoring and Troubleshooting
83
Exadata
83
Exalogic
83
View WebLogic Server Startup Logs
83
Java Mission Control
83
SDP Listener Setup Example
84
Terminology
89
Test Environment Details
90
5 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Primary Site
90
Standby Site
91
References
6 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
92
Executive Overview
Oracle Maximum Availability Architecture (MAA) is Oracle's best practices blueprint based on proven
Oracle high availability technologies and recommendations. The goal of MAA is to achieve the optimal
high availability architecture at the lowest cost and complexity. Papers are published on the Oracle
Technology Network (OTN) at http://www.oracle.com/goto/maa.
In this paper we describe the architecture along with installation, configuration, and operational best
practices for deploying Oracle Commerce with MAA best practices. For the purposes of this paper,
Oracle Commerce is comprised of Oracle Commerce Platform, Oracle Commerce Experience
Manager, and Oracle Commerce Merchandising.
Oracle Commerce MAA can be implemented in 3 different MAA environmental configurations: fully
active/passive, active/active application with active/passive databases (also known as
active/active/passive), and fully active/active. This document covers fully active/passive and
active/active/passive configurations. With regard to an active/active configuration, there are many
business rules required for this type of configuration to be constructed. Therefore, it is not in scope for
this document and not formally an MAA endorsed configuration. Clients should verify with Oracle
Support whether or not an active/active configuration would be covered within their respective support
agreements.
7 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Introduction
Commerce Platform – formerly known as ATG Web Commerce, Commerce Platform is a framework, which clients
can build and develop large-scale B2C or B2B web sites. Commerce Platform offers a complete commerce software
platform that enables you to deliver a personalized customer buying experience across all customer touch points,
including the web, contact center, mobile devices, social media, physical stores, and more.
Commerce Experience Manager – formerly known as Endeca Commerce, Experience Manager gives clients the
flexibility to set up the selling experience as they see fit. The application suite adds search capabilities when used
with Oracle Commerce.
Commerce Merchandising – part of the Oracle Commerce Business Control Center, Merchandising allows a client to
create and deploy content directly to its commerce web site in a manner that suits its business rules. Merchandising
uses Oracle Commerce Content Administration to deploy both data-based content to the commerce database
instance(s) and file-based content to the file systems, which the commerce applications are configured.
Commerce Service Center – is the commerce customer service application. This is a fully-integrated system, which
allows CSRs to view and edit orders and profile information. Commerce Service Center is not in the scope of this
paper, however, its implementation is similar to that of the base commerce web site.
This paper is organized into the following sections:
Primary Site Creation – the steps and configuration used, following MAA best practices, to create the Primary MAA
Oracle Commerce web site.
Standby Site Creation – the steps and configuration used, following MAA best practices, to create the Standby MAA
Oracle Commerce web site.
Site Test and Site Test to Standby – the steps required to manually switch over from the Primary site to the Standby
site and back. This method is for testing only as the standby database and ZFS are opened as read-only. This can
also be handled by application packages, such as Oracle’s Site Guard.
Site Switchover – the steps required to perform a switchover of roles between the Primary and Standby sites, where
the Standby database and applications will become the Primary and vise versa.
Site Failover and Reinstate – the steps required to perform a failover of the Primary site to the Standby site and
back again. This assumes that the primary site becomes completely unavailable.
Appendix – covers miscellaneous scripts, configurations, and examples used to create the MAA sample
environment sites.
8 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Primary Site Creation
Install and Configure Exadata
In addition to the standard Exadata installation, see these papers for best practices:
» “MAA Best Practices for Oracle Exadata Database Machine (technical white paper)”
» “Best Practices for Database Consolidation on Oracle Exadata Database Machinej”
The standard Exadata configuration was deployed on the primary site. You should have the complete database
hardware configuration at this stage from whoever ran the Oracle Exadata Deployment Assistant (OEDA) utility.
Install and Configure Grid Home and Database Home
The Grid Home was installed following the Exadata installation convention by Oracle Exadata Deployment Assistant,
formerly known as Java OneCommand (JOC), and is installed on all database nodes in
/u01/app/12.1.0.2/grid.
The Grid Home is owned by the oracle user and it is in the oinstall and dba groups.
The Oracle database software for the Commerce database is installed into its own ORACLE_HOME location. It is
separate from the location where OEDA installed the initial database. There are two ways to install the database
software into a separate ORACLE_HOME:
1.
Download the 12.1.0.2 software and install using Oracle Universal Installer. See “Exadata Database Machine
and Exadata Storage Server Supported Versions”, MOS article 888828.1 for details.
2. Clone an existing ORACLE_HOME over to the new ORACLE_HOME location for Commerce.
This project uses the second option of cloning from the initial OEDA home because this also gives us a 12.1.0.2
version with the correct patching. The Oracle Database software home for the Commerce database was installed in
/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce. It is owned by the oracle_atg
user and it is in the oinstall and dba groups.
To clone from the OEDA home:
1. As root on each database node, create the software directory tree and make it owned by
oracle_atg:oinstall:
mkdir -p /u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce
chown -R oracle_atg:oinstall /u01/app/oracle_atg
2. As root on OEDA compute node, zip up the dbhome_1 ORACLE_HOME:
cd /u01/app/oracle/product/12.1.0.2
zip -r 12102_dbhome.zip dbhome_1
3. As the software owner (oracle_atg) on each database node, copy the 12102_dbhome.zip to the new
ORACLE_HOME location, unzip it, then move the dbhome_1 to dbhome_commerce:
cd /u01/app/oracle_atg/product/12.1.0.2
cp /u01/app/oracle/product/12102_dbhome.zip
unzip – d 12102_dbhome.zip
mv dbhome_1 dbhome_commerce
9 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
4. Create a small shell script to run the clone.pl procedure. The script should look something like the following,
but replace the host names and ORACLE_HOME path to match the environment it will run on.
echo "Clone started at `date`" | tee -a clone.log perl
/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce/clone/bin/clone.pl \
ORACLE_BASE=/u01/app/oracle_atg \
ORACLE_HOME=/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce \
ORACLE_HOME_NAME=Commerce_DBHome '-O"CLUSTER_NODES={scam08db03,scam08db04}"' \
'-O"LOCAL_NODE=scam08db03"' OSDBA_GROUP=”dba”
echo "Clone ended at `date`" | tee -a clone.log
Place the above in a script, clone.sh for example, add execute privileges, and run it. Do this step on each
database node.
5. As the software owner on each node, relink the database software. Make sure that ORACLE_HOME is defined.
Make sure you include the ipc_rds option. (or run the $ORACLE_HOME/bin/relink script)
export ORACLE_HOME=/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ioracle ipc_rds
6. As root on each database node, run the $ORACLE_HOME/root.sh script.
ssh -l root <db-node>
/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce/root.sh
7. Set up the environment for each compute node.
export ORACLE_BASE=/u01/app/oracle_atg
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/dbhome_commerce
export ORACLE_DB=commaa
#Host names are scam08db03 and scam08db04
case `hostname -s` in
*03 ) ORACLE_SID=${ORACLE_DB}1;;
*04 ) ORACLE_SID=${ORACLE_DB}2 ;;
esac
export ORACLE_SID
export PATH=$PATH:$ORACLE_HOME/bin
Install Exalogic
Review the “Oracle Fusion Middleware Exalogic Enterprise Deployment Guide”. in particular Chapter 3, Network,
Storage, and Database Preconfiguration.
Commerce Database Creation
For this case study the environment (Test Environment Details) on our primary site has InfiniBand connectivity
between the Exadata system and Exalogic systems. On the standby we had 10 GigE connectivity between the
Exadata system and Exalogic systems. Because of this we chose to use 10 GigE on both sides so that we could
have the same protocol in the GridLink data source connection and support FAN/FCF automatic failover per section
18 of the MAA white paper “Client Failover Best Practices for Highly Available Oracle Databases”.
10 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Use DBCA to Create an Oracle RAC Database
1. In DBCA, choose the General Purpose or Transaction Processing template.
2. Set up the database with the Exadata ASM disk groups.
NOTE: Do not use Automatic Memory Management. You should use the default, Automatic Shared Memory
Management (ASSM), so that Linux HugePages can be used. Increase the redo log size to 2 GB (2097152Kb), as
shown below.
Create Tablespaces
Create bigfile tablespace userdata01 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace userdata02 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace userdata04 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace userdata06 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
Create bigfile tablespace useridx01 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace useridx02 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace useridx04 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
create bigfile tablespace useridx06 datafile '+DATA_SCAM08' size 2g autoextend
on next 2g maxsize 30g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT
SPACE MANAGEMENT AUTO ;
11 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
select FILE_NAME,TABLESPACE_NAME,bytes/1048576 TBS_SIZE_MB, AUTOEXTENSIBLE,
MAXBYTES/1048576 MAX_MB from dba_data_files where TABLESPACE_NAME like
'USER%0%';
FILE_NAME
TABLESPACE_NA TBS_SIZE_MB AUT
MAX_MB
------------------------------------------------------------------------------+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/userdata01.1017.861096469 USERDATA01 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/userdata02.1018.861096473 USERDATA02 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/userdata04.1019.861096475 USERDATA04 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/userdata06.1020.861096477 USERDATA06 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/useridx01.1021.861096481
USERIDX01 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/useridx02.1022.861096483
USERIDX02 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/useridx04.1043.861096487
USERIDX04 2048
YES
30720
+DATA_SCAM08/COMMAA_SCAM08/DATAFILE/useridx06.1038.861096489
USERIDX06 2048
YES
30720
8 rows selected.
Create Commerce Database Schemas
drop
drop
drop
drop
user
user
user
user
COM_PRODUCTION_SWITCHB cascade;
COM_PRODUCTION_SWITCHA cascade;
COM_PUBLISHING cascade;
COM_PRODUCTION cascade;
create user
USERDATA01;
create user
USERDATA02;
create user
create user
grant
grant
grant
grant
COM_PRODUCTION_SWITCHB identified by com123 default tablespace
COM_PRODUCTION_SWITCHA identified by com123 default tablespace
COM_PUBLISHING identified by com123 default tablespace USERDATA04;
COM_PRODUCTION identified by com123 default tablespace USERDATA06;
connect,resource,dba
connect,resource,dba
connect,resource,dba
connect,resource,dba
to
to
to
to
COM_PRODUCTION_SWITCHB;
COM_PRODUCTION_SWITCHA;
COM_PUBLISHING;
COM_PRODUCTION;
Create the Role-Based Service
Create and role-based services on both the Primary and Standby to support client failover best practices as
documented in “Client Failover Best Practices for Highly Available Oracle Databases”.
srvctl add service -d commaa_scam08 -s comsvc -r commaa1,commaa2 -l PRIMARY -q
FALSE -e NONE -m NONE -w 0 -z 0
srvctl add service -d commaa_scam08 -s comsvc_tst -r commaa1,commaa2 -l
SNAPSHOT_STANDBY -q FALSE -e NONE -m NONE -w 0 -z 0
srvctl add service -d commaa_scam08 -s comsvc_stby -r commaa1,commaa2 -l
PHYSICAL_STANDBY -q FALSE -e NONE -m NONE -w 0 -z 0
12 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Execute the DBMS_SERVICE PL/SQL Package For Each Role-Based Service
Execute the following on the Primary, matching values with the srvctl add service commands from above:
EXECUTE DBMS_SERVICE.CREATE_SERVICE('<SERVICE>', '<SERVICE>', NULL, NULL,<q>,'NONE', 'NONE', <-w>, <-z>, NULL);
Example:
EXECUTE DBMS_SERVICE.CREATE_SERVICE('comsvc_tst', 'comsvc_tst', NULL,
NULL,FALSE,'NONE', 'NONE', 0, 0, NULL);
Start Then Stop the Role-Based Services
srvctl start service -d commaa_scam08 -s comsvc
srvctl start service -d commaa_scam08 -s comsvc_tst
srvctl start service -d commaa_scam08 -s comsvc_stby
srvctl stop service -d commaa_scam08 -s comsvc_tst
srvctl stop service -d commaa_scam08 -s comsvc_stby
Set Up the Database Best Practices
Ensure that the MAA database best practices are implemented.
Configure Exalogic Servers
Set Up a Shared File System on ZFS
The following resources were used to set up the shared file system:
» “Oracle Fusion Middleware Disaster Recovery Guide”
» “Oracle Fusion Middleware Disaster Recovery Solution using Oracle's Sun ZFS Storage Appliance”
» “Oracle WebLogic Server Active GridLink for Oracle Real Application Clusters (RAC)”
» “Disaster Recovery for Oracle Exalogic Elastic Cloud”
Plan the ZFS Project File System Layout and Mount Points
TABLE 1: PRIMARY SITE PROJECT AND FILE SYSTEM SETUP
NAME / TYPE
VALUE
REMARKS
Quota
750G
For storing the Oracle FMW binaries,
configuration files, logs and so on.
Mount point
/export/ATG
Record size
128K
Default record size
Other settings
Default
Set the user and group under “Default
Settings” to restrict access. Can also restrict
the host access under the Protocols / NFS
Exceptions section.
File system
WLSData
Data for WLS common for all application
hosts
File system
WLSbin1
Binaries for WLS on COMSVR1
13 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
File system
WLSbin2
Binaries for WLS on COMSVR2
File system
WLSbin3
Binaries for WLS on COMSVR3
File system
WLSbin4
Binaries for WLS on COMSVR4
File system
WLSATG1
ATG Domain on COMSVR1
File system
WLSATG2
ATG Domain on COMSVR2
File system
WLSATG3
ATG Domain on COMSVR3
File system
WLSATG4
ATG Domain on COMSVR4
File system
Endeca1
Binaries for Endeca on GSSVR1
File system
Endeca2
Binaries for Endeca on GSSVR2
TABLE 2: MOUNT POINTS
HOSTNAME
ZFS MOUNT POINT
HOST MOUNT POINT
REMARKS
COMSVR1 / COMSVR2
WLSData
/u01/app/oracle_atg/data
Data for WLS - common for
all application hosts
COMSVR1
WLSbin1
/u01/app/oracle_atg/product/fmw
Binaries for Fusion
Middleware (MW_HOME)
COMSVR2
WLSbin2
/u01/app/oracle_atg/product/fmw
Binaries for Fusion
Middleware (MW_HOME)
COMSVR3
WLSbin3
/u01/app/oracle_atg/product/fmw
Binaries for Fusion
Middleware (MW_HOME)
COMSVR4
WLSbin4
/u01/app/oracle_atg/product/fmw
Binaries for Fusion
Middleware (MW_HOME)
COMSVR1
WLSATG1
/u01/app/wls/atgDomain/atg
ATG domain on COMSVR1
COMSVR2
WLSATG2
/u01/app/wls/atgDomain/atg
ATG domain on COMSVR2
COMSVR3
WLSATG3
/u01/app/wls/atgDomain/atg
ATG domain on COMSVR3
COMSVR4
WLSATG4
/u01/app/wls/atgDomain/atg
ATG domain on COMSVR4
GSSVR1
Endeca1
/u01/app/oracle_atg/product/oracle_gs
GSSVR1
GSSVR2
Endeca2
/u01/app/oracle_atg/product/oracle_gs
GSSVR2
COMSVR3 / COMSVR4
14 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the ZFS Project
For more information, see “Setting Up Access to the ZFS Storage Appliance for a vServer”.
1. Look at the Enterprise Manager Ops Center (EMOC) Networks, specifically at the IPoIB-vserver-shared-storage
Network IP 10.196.32.0/21 to get the NFS Exception value for the ZFS project:
2. Use /export/ATG for the mount point in the ZFS General screen.
Specifying a quota is optional.
3. Optionally, in the Default Settings pane, specify the OS user and group numerical IDs. Because we have NIS
set up and are using NFS4 we will use the oracle_atg ID (1013) and oinstall group (1001) here. If NIS is
in use then use the UID and GID from NIS:
15 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
4. In the NFS Exceptions pane on the Protocols tab , add the base host/subnet for the IPoIB-vserver-sharedstorage network as identified in the Step 1 above (10.196.32.0/21 in the example).
5. Specify the project’s Root Directory Access.
Create the ZFS Shares in the Project
Note that each share will inherit the project characteristics.
16 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Add Mount Points to the Appropriate Hosts
1. We will use NIS and NFS4 for mount points. See “How To Configure NIS Master, Slave And Client Configuration
In Exalogic Virtual Environment”, MOS article 1516025.1 for more information. Also, see the following sections in
the “Oracle Exalogic Elastic Cloud Machine Owner's Guide”:
Section 9.4, Configuring an Exalogic Linux Compute Node to Use NFSv4
Section 9.5, Creating NFSv4 Mount Points on Oracle Linux
2. Create the mount point directories:
COMSVR1 | COMSVR2 | COMSVR3 | COMSVR4
mkdir -p /u01/app/oracle_atg/product/fmw
mkdir -p /u01/app/wls/atgDomain/atg
mkdir -p /u01/app/oracle_atg/data
Endeca1 | Endeca2
mkdir –p /u01/app/oracle_atg/product/oracle_gs
3. Determine the share IP address, then add the /etc/fstab entries.
17 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
COMSVR1
10.196.32.55:/export/ATG/WLSbin1 /u01/app/oracle_atg/product/fmw nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSATG1 /u01/app/wls/atgDomain/atg nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSData /u01/app/oracle_atg/data nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
COMSVR2
10.196.32.55:/export/ATG/WLSbin2 /u01/app/oracle_atg/product/fmw nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSATG2 /u01/app/wls/atgDomain/atg nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSData /u01/app/oracle_atg/data nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
COMSVR3
10.196.32.55:/export/ATG/WLSbin3 /u01/app/oracle_atg/product/fmw nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSATG3 /u01/app/wls/atgDomain/atg nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSData /u01/app/oracle_atg/data nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
COMSVR4
10.196.32.55:/export/ATG/WLSbin4 /u01/app/oracle_atg/product/fmw nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSATG4 /u01/app/wls/atgDomain/atg nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
10.196.32.55:/export/ATG/WLSData /u01/app/oracle_atg/data nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
GSSVR1
10.196.32.55:/export/ATG/Endeca1 /u01/app/oracle_atg/product/oracle_gs nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
GSSVR2
10.196.32.55:/export/ATG/Endeca2 /u01/app/oracle_atg/product/oracle_gs nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
4. Mount the ZFS shares on each host as root using the command mount -a, which mounts all of the shares
shown below, if they are configured in the /etc/fstab file.
18 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Configure the OS for WebLogic Server
Enable Large Pages
On all WebLogic Server Platform hosts do the following steps:
(Refer to http://www.oracle.com/technetwork/java/javase/tech/largememory-jsp-137182.html):
1.
Mount /mnt/hugepages as root user (required on Oracle EL5+), and execute the following:
mkdir -p /mnt/hugepages
mount -t hugetlbfs nodev /mnt/hugepages
chmod -R 777 /mnt/hugepages
2. To make this persist at server reboot edit the /etc/fstab file, adding:
# Mount /mnt/hugepages for HotSpot Large Page Support
hugetlbfs
/mnt/hugepages
hugetlbfs
auto,user,exec,nodev,rw
0 0
3. Edit the /etc/rc.local file:
chmod -R 777 /mnt/hugepages
4. Set large page settings at OS:
echo 28991029247 > /proc/sys/kernel/shmmax
echo 13824 > /proc/sys/vm/nr_hugepages
echo 1001 > /proc/sys/vm/hugetlb_shm_group
5. Add the following lines to your /etc/sysctl.conf file (requires reboot) to ensure that large page settings
persist at the system reboots.
# Shared memory – max segment size: 27GB (-1 b)
kernel.shmmax = 28991029247 #(comment out the old kernel.shmmax line)
# Enable kernel to reserve 27GB / 2MB large pages
vm.nr_hugepages = 13824
# System group id that can use huge pages (hugepages gid: 1001)
vm.hugetlb_shm_group = 1001
Set System Limits
Set the following in the /etc/security/limits.conf file (requires reboot):
# Set limit of 24GB total huge pages for oracle_atg user
oracle_atg soft memlock 28311552
oracle_atg hard memlock 28311552
oracle_atg soft nofile 32768
oracle_atg hard nofile 32768
19 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Install WebLogic Server
Enable the Admin Server HA VIP
See Section 4.3, Enabling VIP1 in SOAHOST1 for more information about this procedure. We will use
10.133.49.181 scae01ec2-vip1.us.oracle.com scae01ec2-vip1 as our virtual IP (VIP):
1. ifconfig bond0:1 10.133.49.181 netmask 255.255.248.0
2. /sbin/arping -q -U -c 3 -I bond0 10.133.49.181
Ping 10.133.49.181 or scae01ec2-vip1 from another host to ensure it is active and plumbed on the
interface
As root do the following to make the VIP persistent across reboots on the primary:
vi /etc/sysconfig/network-scripts/ifcfg-bond0:1
MTU=1500
BONDING_OPTS='mode=active-backup use_carrier=1 miimon=250 downdelay=5000
updelay=5000'
NM_CONTROLLED=no
GATEWAY=10.133.48.1
NETMASK=255.255.248.0
IPADDR=10.133.49.181
BOOTPROTO=static
ONBOOT=yes
DEVICE=bond0:1
During WebLogic Server install we will use the explicit hostname, scae01ec2-vip1, for the listen address.
Primary Site Application Tier Hosts
See “Fusion Middleware Disaster Recovery Guide” for more information.
How you set up the host alias depends on whether your DNS configuration is separate (where the production site
and the standby site have their own DNS servers) or you have a single global DNS server.
In this case study a single (global) DNS server is in use, so the disaster recovery site /etc/hosts files must be
updated with host aliases once the DR vServers get created.
20 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Install WebLogic Server with the Domain
Oracle Commerce is supported with Oracle WebLogic Server 12.1.2. Check “Oracle Commerce Supported
Environments - Release 11.1.x”, MOS article 1908576.1 for more information.
Use the generic WebLogic Server 12.1.2 installer with Coherence, available at
http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html
1. Verify that Java version 7 has already been installed. See MOS ID 1908576.1 for information on the minimum
version required.
2. Copy the wls121200.jar to a temporary location and cd to that location.
3. Run java -jar wls121200.jar.
4. Create new middleware home at /u01/app/oracle_atg/product/fmw/Midleware and select Next.
5. In the UI, choose Complete installation.
6. Ensure that you use the explicit host name for the listen address.
7. Ensure that you use the scae01ec2-vip1 for the listen address.
Set the WebLogic Server Environment Variables
1. If it is not created, create the file wls_env in the application user’s home directory with the following contents:
export
export
export
export
export
MW_HOME=/u01/app/oracle_atg/product/fmw/Middleware
WL_HOME=$MW_HOME/wlserver
JAVA_HOME=$MW_HOME/../jdk1.7.0_67
CLASSPATH=$WL_HOME/server/lib/weblogic.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/sbin:$PATH
2. Add the following to the application user’s .bash_profile file to source the wls_env file:
. ~/wls_env
Enable Exalogic Optimizations
1. Log in to the Oracle WebLogic Server Administration Console.
2. Select Domain name in the left navigation pane. The Settings for Domain name screen is displayed.
3. Click the General tab.
4. In your domain home page, select Enable Exalogic Optimizations, and click Save.
5. Activate changes.
6. Stop and start your domain.
Set Node Manager properties
In $WL_DOMAIN_HOME /nodemanager/nodemanager.properties, set the following parameters:
SecureListener=false
StartScriptEnabled=true
StopScriptEnabled=true
21 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Setup and Start WLS Domain Admin Server
1. Create service script /etc/init.d/wls_admin on both primary and standby environment servers. See
Sample Scripts for script contents.
2. Enable the service to run.
chmod 755 /etc/init.d/wls_admin
chkconfig --add wls_admin
3. Add sudo access to SERVICES for the oracle_atg user on both primary and standby servers.
a.
Run visudo as root user and edit the /etc/sudoers file:
b.
Uncomment the line:
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
c.
Add the following lines to the end of the file:
# Allows oracle_atg user access to service commands
oracle_atg
ALL=NOPASSWD: SERVICES
4. Starting | Stopping | Restarting WebLogic Admin Service:
sudo service wls_admin start
sudo service wls_admin stop
sudo service wls_admin restart
5. Add aliases to ~/wls_env file:
alias startadmin=”sudo service wls_admin start”
alias stopadmin=”sudo service wls_admin stop”
alias restartadmin=”sudo service wls_admin restart”
# Log Reading
alias lessadmin=”less
/u01/app/wls/atgDomain/atg/atg_domain/servers/AdminServer/logs/AdminServer.out
”
Start Node Manager
1. Create service script /etc/init.d/wls_nodemgr on both primary and standby environment servers. See
Sample Scripts for script contents.
2. Enable the service to run.
chmod 755 /etc/init.d/wls_nodemgr
chkconfig --add wls_nodemgr
3. Add sudo access to SERVICES for the oracle_atg user on both primary and standby servers.
a.
Run visudo as root user and edit the /etc/sudoers file:
b.
Uncomment the line:
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
c.
Add the following lines to the end of the file:
# Allows oracle_atg user access to service commands
oracle_atg
ALL=NOPASSWD: SERVICES
22 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
4. Starting | Stopping | Restarting WebLogic Node Manager Service:
sudo service wls_nodemgr start
sudo service wls_nodemgr stop
sudo service wls_ nodemgr restart
5. Add aliases to ~/wls_env file:
alias startadmin=”sudo service wls_nodemgr start”
alias stopadmin=”sudo service wls_nodemgr stop”
alias restartadmin=”sudo service wls_nodemgr restart”
# Log Reading
alias lessndmgr='less
/u01/app/wls/atgDomain/atg/atg_domain/nodemanager/nm.log'
Verify WebLogic Server Administration Console is Working
1. Go to http://[WEBLOGIC_ADMIN_VIP]:7001
2. Configure the machine (DOMAIN_NAME/Machines) and ensure that node managers are reachable.
23 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
3. If no machines appear in the Summary of Machines page then click New to add the machine, using a Plain
UNIX machine and the hostname, then check the Node Manager tab.
4. Ensure that the machine Node Manager is reachable.. The UI displays whether the Node Manager is reachable,
as shown in the screen shot below.
24 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Install Commerce with the Commerce Reference Store
1.
Get software from https://edelivery.oracle.com/ (Select “ATG Commerce” and Linux x86-64).
2.
Select “Oracle Commerce (11.1.0), Linux” and download for following:
a.
Oracle Commerce Platform 11.1 for UNIX
b.
Oracle Commerce Reference Store (CRS) 11.1 for UNIX
c.
Oracle Commerce MDEX Engine 6.5.1 for Linux
d.
Oracle Commerce Content Acquisition System (CAS) 11.1 for Linux
e.
Oracle Commerce Experience Manager (EM) Tools and Frameworks 11.1 for Linux
f.
Oracle Commerce Guided Search Platform Services 11.1 for Linux
3.
Install Commerce software: a & b above, see installation examples in the Appendix.
4.
Install Commerce Reference Store in same directory.
5.
Install All Guided Search Software: c-f above, see installation examples in the Appendix.
a.
Follow http://docs.oracle.com/cd/E52191_02/CRS.111/ATGCRSInstall/html/s0401appendixacreatingtheeacapplicati01.html to deploy the CRS application into
Guided Search to create the search index.
b.
Make sure to run [CRS_APP_DIR]/control/promote_content.sh
c.
Make sure to run [CRS_APP_DIR]/control/runcommand.sh
DistributeIndexAndApply
Note: Any new index created will need to be replicated to each Commerce WebLogic host. Common replication
methods include common NFS shares or rsync.
Required Commerce Environment Variables
1. Create the file /home/oracle_atg/atg_env with the following content:
export DYNAMO_ROOT=/u01/app/oracle_atg/product/ATG/ATG11.1
export DYNAMO_HOME=$DYNAMO_ROOT/home
export PATH=$DYNAMO_HOME/bin:$PATH
2. Add the following to the /home/oracle_atg/.bash_profile file, at the end of the file:
. ~/atg_env
Port Mapping for WebLogic Server | Commerce Applications
Table 3 shows the port mapping for the MAA WebLogic Server and Commerce Platform Applications.
TABLE 3: COMMERCE PLATFORM PORT MAPPINGS
WEBLOGIC
SERVER
HTTP PORT
HTTPS
PORT
AdminServer
7001
7002
scan04cn21-slm01
7003
scan04cn22-slm01
7003
FILE
DEPLOY
PORT
FILE SYNCH
PORT
RMI PORT
DRP PORT**
7004
7063
7053
9010
7004
7063
7053
9010
25 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
SLM PORT
scan04cn22-bcc01***
7001
7002
7061
7051
7011
scan04cn21-crs01
7005
7006
7065
7055
8815
scan04cn21-crs02
7007
7008
7067
7057
8817
scan04cn21-crs03
7009
7010
7069
7059
8819
scan04cn21-crs04
7101
7102
7161
7151
8821
scan04cn22-crs01
7005
7006
7065
7055
8815
scan04cn22-crs02
7007
7008
7067
7057
8817
scan04cn22-crs03
7009
7010
7069
7059
8819
scan04cn22-crs04
7101
7102
7161
7151
8821
scan04cn23-crs01
7005
7006
7065
7055
8815
scan04cn23-crs02
7007
7008
7067
7057
8817
scan04cn23-crs03
7009
7010
7069
7059
8819
scan04cn23-crs04
7101
7102
7161
7151
8821
scan04cn23-crs05
7103
7104
7163
7153
8823
scan04cn23-crs06
7001
7002
7061
7051
8811
scan04cn24-crs01
7005
7006
7065
7055
8815
scan04cn24-crs02
7007
7008
7067
7057
8817
scan04cn24-crs03
7009
7010
7069
7059
8819
scan04cn24-crs04
7101
7102
7161
7151
8821
scan04cn24-crs05
7103
7104
7163
7153
8823
scan04cn24-crs06
7001
7002
7061
7051
8811
* https ports are configured, but not used.
** DRP = Dynamo Request Protocol. A port mapping used for Commerce Scenario configuration
*** Passive BCC JVM
26 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
8811
9020
Port Mapping for WebLogic Coherence Servers
Table 4 shows the port mapping for the Coherence Cache Servers and the Cluster.
TABLE 4: WEBLOGIC COHERENCE CACHE SERVER MAPPINGS
COHERENCE
SERVER
LISTEN
PORT
MULTICAST
ADDRESS
COHERENCE
CLUSTER
NAME
scan04cn21-cache01
7771
231.1.2.3
CRS_Coh_cluster 33387
scan04cn22-cache01
scan04cn23-cache01
scan04cn24-cache01
7771
7771
7771
231.1.2.3
231.1.2.3
231.1.2.3
MULTICAST
PORT
CRS_Coh_cluster 33387
CRS_Coh_cluster 33387
CRS_Coh_cluster 33387
WKA
WKA PORT
wka
7771
wka2
7771
wka3
7771
wka4
7771
wka
7771
wka2
7771
wka3
7771
wka4
7771
wka
7771
wka2
7771
wka3
7771
wka4
7771
wka
7771
wka2
7771
wka3
7771
wka4
7771
WebLogic Server Resources for Managed Servers
TABLE 5: COMMERCE PLATFORM DATA SOURCE & APPLICATION EAR MAPPING
MANAGED SERVER
MACHINE
scan04cn21-slm01
CLUSTER
EAR DEPLOYMENT
DATA SOURCES
scan04cn21
slm.ear
GridLink_ATGProductionDS
scan04cn22-slm01
scan04cn22
slm.ear
GridLink_ATGProductionDS
scan04cn22-bcc01***
scan04cn22
bcc.ear
GridLink_ATGProductionDS
GridLink_ATGSwitchingDS_A
GridLink_ATGSwitchingDS_B
GridLink_ATGPublishingDS
scan04cn21-crs01
scan04cn21
CRS_Cluster
crs.ear
GridLink_ATGProductionDS
scan04cn21-crs02
GridLink_ATGSwitchingDS_A
scan04cn21-crs03
GridLink_ATGSwitchingDS_B
scan04cn21-crs04
scan04cn22-crs01
scan04cn22
CRS_Cluster
scan04cn22-crs02
27 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
crs.ear
GridLink_ATGProductionDS
GridLink_ATGSwitchingDS_A
scan04cn22-crs03
GridLink_ATGSwitchingDS_B
scan04cn22-crs04
scan04cn23-crs01
scan04cn23
CRS_Cluster
crs.ear
GridLink_ATGProductionDS
scan04cn23-crs02
GridLink_ATGSwitchingDS_A
scan04cn23-crs03
GridLink_ATGSwitchingDS_B
scan04cn23-crs04
scan04cn23-crs05
scan04cn23-crs06
scan04cn24-crs01
scan04cn24
CRS_Cluster
crs.ear
GridLink_ATGProductionDS
scan04cn24-crs02
GridLink_ATGSwitchingDS_A
scan04cn24-crs03
GridLink_ATGSwitchingDS_B
scan04cn24-crs04
scan04cn24-crs05
scan04cn24-crs06
Configure Commerce with cim.sh
Install the products, ensure the WebLogic Server and database environments are set, and set up the Commerce
applications and instances. After starting /u01/app/ATG/ATG11.1/home/bin/cim.sh do the steps in the
sections that follow.
Product Selection
For this test environment, choose the following options from the Commerce Configuration and Installation Manager
(CIM):
»
Products: Oracle Commerce Reference Store (option 9 on the products listing)
»
AddOns: Dedicated Lock Servers for Production only
Switching Datasource
Index By Sku
» Storefront Demo with full catalog
»
»
Application Server Selection
1. Enter Path: /u01/app/oracle_atg/product/fmw/Middleware/wlserver.
2. Enter Domain Path: /u01/app/wls/atgDomain/atg/atg_domain.
3. Enter URL to admin server: t3://scae01ec2-vip1:7001.
4. Enter the WebLogic Admin username and password, and then validate.
28 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Database Configuration
These steps should be repeated for each required data source. Application datasource dependencies are
calculated by CIM and displayed on the 'Select a Datasource to Configure' screen.
1. Select Database Type: Oracle Thin.
2. Enter User Name: [PRODUCTION_SCHEMA_NAME].
3. Enter Password: [PRODUCTION_SCHEMA_PASSWORD].
4. Enter Database Host Name: [DB_SCAN_ADDRESS].
5. Enter Port Number: 1521 (Note: CIM does not understand the GridLink connection, and will not work. Please
provide the corresponding TCP listener port and we will change the WLS datasources later in the process.)
6. Enter Database Name: [ORACLE_SID].
7. Enter Database URL: The URL has been created for you, hit Enter to accept. e.g.
jdbc:oracle:thin:@scam08-scan3:1521:commaa1.
8. Enter Driver Path: The absolute path to 'ojdbc7.jar' on your local system.
9. Enter JNDI name: Select the default.
10. Test Connection.
11. Create Schema.
12. Import Initial Data.
13. Repeat for other required data sources.
Instance Configuration
Using CIM, configure one or more server instance types, including:
» Production Lock Server (should be more than one, but only two are allowed per Commerce environment)
» Production Server (one with Fulfillment, one with Process Editor Server, more depending on the size of the
environment)
» Publishing Server (can be clustered for HA, contains an internal Lock Manager)
EAR Creation and Deployment
The final phase of CIM is the assembly and deployment of the required EAR application packages. In a production
environment, EAR packages should be created as standalone with overwrite on existing packages for future
package releases. Following Table 5, create and deploy the 3 required EAR types for the implementation.
29 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Post-Installation Configuration
Configure GridLink Datasources
Connect to the WebLogic Server Administration Console to configure the GridLink data sources for each Commerce
Platform and Merchandising server, using Table 5 as a guide for the data source mapping.
1. Stop the Commerce servers.
2. Go to Services / Data Sources to observe current data sources and their targets.
30 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
3. Create the new GridLink data sources, maintaining the same target associations.
4. Enter a similar name prefixed by GridLink using the same JNDI name and Thin X.
5. For the initial Data Source select the Enter individual listener information option.
31 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
6. Edit the Connection URL as outlined in the “Client Failover Best Practices for Highly Available Oracle Databases“
white paper.
For example, to include the failover parameters and then Test All Listeners:
jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=on)(CONNECT_TIMEOUT=1)(TRANSPORT_
CONNECT_TIMEOUT=1)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(
PROTOCOL=TCP)(HOST=scam08scan3)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=scao01scan1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=comsvc)))
]
The primary service at scam08-scan3:1521 should test successfully.
32 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
7. ONS configuration does not need to be configured with XA GridLink datasources. It is handles automatically in
12c.
8. Select the associated target servers as identified in current data sources and their targets above.
9. Repeat the previous steps for each Data Source with the option to use the Enter the complete JDBC URL
instead of the Enter individual listener information option. ONS information is the same for all of them.
10. Remove the old data sources, and review the remaining listing.
11. Add the following to each Data Source’s Connection Pool > Properties field:
oracle.net.ns.SQLnetDef.TCP_CONNTIMEOUT_STR=3000
33 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the WebLogic Cluster
See “Understanding Cluster Configuration“ 12c (12.1.2) on how to configure a cluster. Clusters for Commerce
should use multicast addressing as the method of communication between cluster members. The only Commerce
server types to be clustered are Production servers. Server Lock Manager and Publishing server types are not
clustered in WebLogic.
Once the cluster has been created, configuration of EAR deployments, data sources, and other WebLogic elements
becomes easy, as you deploy to the cluster as a whole, instead of individual servers.
Set up Coherence Cluster
Oracle Coherence is a mechanism by which repositories and web session state can be cached. This document will
describe the configuration of HTTP session replication caching. See
http://docs.oracle.com/cd/E52191_02/Platform.111/ATGInstallGuide/html/s1601appendixeusingoraclecoherenceweb01.html for information about the complete
configuration of Commerce and Coherence. Additional configuration notes are as follows:
» As with WebLogic clustering, Coherence clustering should use multicast addressing as the method of
communication between Coherence cluster members. The use of well-known addresses is also advised. See
http://docs.oracle.com/middleware/1212/coherence/COHDG/cluster_setup.htm for more information about setting
up a Coherence cluster.
» Java Arguments should include -Dtangosol.coherence.distributed.localstorage=false for
all Commerce Production servers and Dtangosol.coherence.distributed.localstorage=true for all Coherence cache servers.
These arguments force the caching to be sent to the cache servers.
» Tune the Coherence cache server heap during performance testing. Commerce tends to push session data into
the eden space and therefore, a large portion of the heap should be configured as eden space.
34 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Set the Coherence Java Arguments
Use the following Java arguments for each Coherence Cache Server / Client. Set them in the WebLogic Server
Administration Console in each servers’ Configuration > Server Start tab.
» Coherence Cache Server arguments:
-Dtangosol.coherence.role=CoherenceServer
-Dtangosol.coherence.cacheconfig=<PATH_TO_CACHE_CONFIG_FILE>
-Dcoherence-cache-delegatorclass=com.tangosol.coherence.servlet.LocalSessionCacheDelegator
-Dcoherence-preserve-attributes=true
-Dtangosol.coherence.session.localstorage=true
-Dtangosol.coherence.management.extendedmbeanname=true
-Dtangosol.coherence.management.remote=true
-Dtangosol.coherence.management.report.autostart=false
-Dtangosol.coherence.management.report.distributed=true
-Dtangosol.coherence.management=all
-Dtangosol.coherence.member=<WEBLOGIC_SERVER_NAME>
-Doracle.coherence.home=<PATH_TO_COHERENCE_HOME>
-Doracle.coherence.machine=<WEBLOGIC_MACHINE_NAME>
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=<JMX_PORT>
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
» Coherence Cache Client arguments:
-Dtangosol.coherence.role=<WEBLOGIC_SERVER_NAME>
-Dtangosol.coherence.localport.adjust=true
-Dtangosol.coherence.distributed.localstorage=false
-Dtangosol.coherence.management=local-only
-Dtangosol.coherence.management.extendedmbeanname=true
-Dtangosol.coherence.management.remote=true
-Dtangosol.coherence.member=<WEBLOGIC_SERVER_NAME>
-Doracle.coherence.home=<PATH_TO_COHERENCE_HOME>
-Doracle.coherence.machine=<WEBLOGIC_MACHINE_NAME>
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=<JMX_PORT>
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Install WebLogic Software on All Other Host Machines
If the installation is a Clone, then the WebLogic Binary home can be kept because it contains no machine specific
references. Otherwise, software should be reinstalled.
35 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Extend the WebLogic Domain
Extend the WebLogic Server domain to the other hosts in the WebLogic configuration. See: “Updating WebLogic
Domains“ for doing this with the GUI.
1. On Machine 1, pack up the domain using the pack script in $WL_HOME/common/bin/ (example creates the
template file on a common share).
[oracle_atg@scan04cn21 atg]$ $WL_HOME/common/bin/pack.sh domain=/u01/app/wls/atgDomain/atg/atg_domain template=/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar template_name=mytemplate -managed=true
<< read domain from "/u01/app/wls/atgDomain/atg/atg_domain"
>> succeed: read domain from "/u01/app/wls/atgDomain/atg/atg_domain"
<< set config option Managed to "true"
>> succeed: set config option Managed to "true"
<< write template to "/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar"
>> succeed: write template to
"/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar"
<< close template
>> succeed: close template
2. On Machine 2, unpack the domain using the unpack.sh script.
[oracle_atg@scan04cn22 atg]$ $WL_HOME/common/bin/unpack.sh template=/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar domain=/u01/app/wls/atgDomain/atg/atg_domain
<< read template from "/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar"
>> succeed: read template from
"/u01/app/oracle_atg/data/installers/WLS_atg_domain.jar"
<< set config option DomainName to "atg_domain"
>> succeed: set config option DomainName to "atg_domain"
<< write Domain to "/u01/app/wls/atgDomain/atg/atg_domain"
>> succeed: write Domain to "/u01/app/wls/atgDomain/atg/atg_domain"
<< close template
>> succeed: close template
3. Add all hosts which were extended as new Machines in the WebLogic domain.
Clone WebLogic Servers
Once all Node Managers, Machines, Clusters, and Coherence clusters have been created, each of the managed
server types (Commerce Production servers, Commerce Publishing servers, and Commerce Lock Manager servers)
can be cloned in the WebLogic Server Administration Console. When a clone is performed, the newly created server
clone takes on the configurations of the server which it was cloned from. See Table 3, Table 4, and Table 5 for all
WebLogic domain configuration examples. Make sure to validate the following for each newly cloned managed
server:
» Machine associated with managed server
» WebLogic cluster membership (if applicable)
» Coherence cluster membership (if applicable)
» EAR package deployment
» Datasource configuration
36 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Miscellaneous WebLogic Configurations
» Create the file META-INF/weblogic-application.xml with the following contents, and add it to the
crs.ear to change the session timeout to be 15 minutes.
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogicapplication"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application
http://xmlns.oracle.com/weblogic/weblogic-application/1.5/weblogicapplication.xsd">
<session-descriptor>
<timeout-secs>900</timeout-secs>
</session-descriptor>
</weblogic-application>
» Add the location of the Commerce protocol.jar and JDBC driver ojdbc.jar to the
$DOMAIN_HOME/bin/setDomainEnv.sh file as follows:
CLASSPATH="/u01/app/oracle_atg/data/lib/protocol.jar:${CLASSPATH}"; export
CLASSPATH
CLASSPATH="${CLASSPATH}:/u01/app/oracle_atg/data/lib/ojdbc7.jar"; export
CLASSPATH
» The following arguments/parameters/? are recommended arguments for the WebLogic managed servers. These
would be configured in the Server Start tab.
-Xms6g
-Xmx6g
-XX:NewSize=3g
-XX:MaxNewSize=3g
-XX:PermSize=384m
-XX:MaxPermSize=384m
-XX:+UseLargePages
-XX:+DisableExplicitGC
-XX:+UseG1GC
-XX:ThreadStackSize=256
-Doracle.ons.maxconnections=4
-Dweblogic.resourcepool.max_test_wait_secs=30
» The following items are required configurations for Commerce Platform on WebLogic Server (for details see
http://docs.oracle.com/cd/E52191_02/Platform.11-1/ATGInstallGuide/html/s0303oracleweblogic01.html ):
» Add <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-authcredentials> to WebLogic Server domain config.xml as instructed.
» Create /u01/app/wls/atgDomain/atg/atg_domain/ATGData/localconfig/GLOBAL.properties as instructed.
» Configuration to remove redundant Commerce logging, as all logging is also output to the WebLogic Server
stdout log:
» Create /u01/app/wls/atgDomain/atg/atg_domain/ATGData/localconfig/atg/dynamo/service/logging/logQueue.properties with the
following content:
logListeners^=Constants.null
37 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
» Miscellaneous WebLogic Server settings:
» Follow https://www.sparkred.com/confluence/display/ALC/Application+Server to configure optimized settings for
Data sources:
» Increase the JTA Timeout value to 14400 sec
» Check the Set XA Transaction Timeout for each of created DataSources for all but the GridLinkATGPublishingDS DataSource
» Set the XA Transaction Timeout value for each of created DataSources to 600 sec for all but the GridLinkATGPublishingDS DataSource
» Follow https://www.sparkred.com/confluence/display/ALC/Application+Server to configure optimized settings for
CRS and BCC managed servers
» Increase the Accept Backlog setting by 25% in the Configuration > Tuning tab until the
CONNECTION_REFUSED errors disappear or are significantly reduced in the WebLogic plug-in logging on
the Apache servers.
» Increase the Login Timeout on Configuration > Tuning tab for each of created Servers from 5000 to 10000
» Increase the Complete Message Timeout on Protocols > General tab for each of created Servers to 300
» Increase the Duration on Protocols > HTTP tab for each of created Servers to 200
» Uncheck the Enable Keepalives option on Protocols > HTTP tab for each of created Servers
» If using the WebLogic HTTP Plug-in, make sure that the "WebLogic Plug-In Enabled" setting is
checked in the advanced section of the Configuration > General section of the WebLogic cluster or in each
singleton WebLogic server (or in the main cluster for clustered managed servers)
» Set Data source connection pools as follows:
» Inital Capacity: 10 (for all)
» Maximum Capacity: 50 (GridLinkATGProductionDS and GridLinkATGPublishingDS data sources)
» Maximum Capacity: 40 (GridLinkATGSwitchingDS_A and GridLinkATGSwitchingDS_B data sources)
» Minimum Capacity: 10 (for all)
Configure Load Balancing
In order to balance HTTP traffic to the WebLogic servers and to the Commerce Guided Search dgraph engines
(MDEX), a load balancer must be put in place. As there are several different load balancer hardware and software
products, this document does not cover any one way to configure load balancing requirements. A typical
configuration will load balance:
» Web servers (if applicable)
» WebLogic Commerce Production servers
» Commerce Guided Search dgraph engines (MDEX)
Precompiling the WebLogic Application EAR Packages
With WebLogic Application Server, each server restart required the compiling of any Java applications embedded in
a Commerce page at first access of the page. The way to avoid this compiling is to precompile the entire EAR
package. This method can only be performed on an unpacked EAR package.
1. Add the weblogic.jar file to the CLASSPATH, either in an environment file or at the command line.
export CLASSPATH=$CLASSPATH:$WL_HOME/server/lib/weblogic.jar
2. Run the following to precompile the EAR package:
java weblogic.appc -verbose <EAR_PACKAGE_LOCATION>
38 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Non-Standalone BCC Configuration
When the BCC WebLogic server is moved to a remote host, the Publishing directory, which was created when
running the file imports via CIM, needs to be copied or shared to the atg.dynamo.data-dir location of the
BCC server. If the Publishing directory is not moved, any deployment which attempts to deploy file assets
stored in the Publishing directory will fail.
Add IPv4 Preference
Prepend the Java arguments to prefer IPv4 by editing the $WL_DOMAIN_HOME/bin/startWeblogic.sh script, adding the
following into 3 lines within this script:
-Djava.net.preferIPv4Stack=true before -Dweblogic.Name
39 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the Standby Site
Install and Configure Oracle Exadata Database Machine
In addition to the standard Oracle Exadata Database Machine installation guide/documentation/?, see these papers
for best practices:
» “MAA Best Practices for Oracle Exadata Database Machine (technical white paper)“
» ”Best Practices for Database Consolidation on Oracle Exadata Database Machine”
The standard Exadata configuration was deployed on the primary site. The Exadata Database Machine at the
standby site is an X4-2 quarter rack with high performance disks.
You should have the complete database hardware configuration at this stage from whoever ran the OEDA utility.
The OS user, oracle_atg, and the Oracle software are installed per the environment detail described in Test
Environment Details.
Just as was done on the primary, the Commerce database is installed into its own ORACLE_HOME location,
separate from where the OEDA installed the initial database. Then perform the same software cloning procedure as
in the Oracle GI installation.
Note: Do not create a database on the standby server. Running the RMAN duplicate will create the entire database.
Create the Physical Standby Database
See the Data Guard Concepts and Administration Guide for complete details. Also see “Creating a Standby using
RMAN Duplicate (RAC or Non-RAC)”, MOS article 1617946.1 for a detailed description of how to create the standby
database using RMAN duplicate.
Prepare the Primary Database for Standby Creation
1. Enable forced logging.
SQL> ALTER DATABASE FORCE LOGGING;
Database altered.
2. Add standby redo logs.
ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
DATABASE
DATABASE
DATABASE
DATABASE
DATABASE
DATABASE
DATABASE
DATABASE
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
STANDBY
STANDBY
STANDBY
STANDBY
STANDBY
STANDBY
STANDBY
STANDBY
LOGFILE
LOGFILE
LOGFILE
LOGFILE
LOGFILE
LOGFILE
LOGFILE
LOGFILE
THREAD
THREAD
THREAD
THREAD
THREAD
THREAD
THREAD
THREAD
40 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
1
1
1
1
2
2
2
2
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
('+RECO_SCAM08')
size
size
size
size
size
size
size
size
2g;
2g;
2g;
2g;
2g;
2g;
2g;
2g;
SQL> SELECT GROUP#, BYTES FROM V$LOG;
GROUP#
BYTES
-----------------------------1
2147483648
2
2147483648
3
2147483648
4
2147483648
SQL>
SELECT GROUP#, BYTES FROM V$STANDBY_LOG;
GROUP#
BYTES
----------------------------5
2147483648
6
2147483648
7
2147483648
8
2147483648
9
2147483648
10
2147483648
11
2147483648
12
2147483648
8 rows selected.
3. Add static SID entry to listener.ora on primary and standby in CRS.
(SID_DESC =
(GLOBAL_DBNAME = commaa_dgmgrl)
(ORACLE_HOME = /u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce)
(SID_NAME = commaa1)
(ENVS="TNS_ADMIN=/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce/network/
admin")
)
4. Restart the listener on the primary and the standby as the grid owner.
srvctl stop listener
srvctl start listener
5. Add static SID entry to listener.ora on standby in ORACLE_HOME.
LISTENER_duplicate =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = scao01adm01)
(PORT = 1522)(IP = 10.128.17.45))))
SID_LIST_LISTENER_duplicate =
(SID_LIST =
(SID_DESC =
(SID_NAME = commerce1)
(ORACLE_HOME = /u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce)))
41 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
6. Start the static listener on the standby as the database owner.
lsnrctl start listener_duplicate
7. Add connect descriptors to tnsnames.ora on primary and standby for all databases.
COMMAA_scam08 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08-scan3)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = comsvc)
)
)
commaa_scam08_static =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST =scam08db03)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = commaa1)
)
)
8. Check and set Data Guard related parameter by running a SQL script similar to the following example to see the
current settings.
cat listDG.sql
set linesize 220
select name||'='||value
from v$parameter
where name in ('db_name',
'db_unique_name',
'log_archive_config',
'log_archive_dest_1',
'log_archive_dest_state_1',
'log_archive_dest_2',
'log_archive_dest_state_2',
'fal_server',
'fal_client',
'dg_broker_config_file1',
'dg_broker_config_file2',
'dg_broker_start',
'REMOTE_LOGIN_PASSWORDFILE',
'LOG_ARCHIVE_FORMAT',
'LOG_ARCHIVE_MAX_PROCESSES')
order by 1;
42 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
SQL> @listDG
NAME||'='||VALUE
------------------------------------------------------------------------------db_name=commaa
db_unique_name=commaa_scam08
dg_broker_config_file1=+DATA_SCAM08/COMMAA_SCAM08/dr1.dat
dg_broker_config_file2=+DATA_SCAM08/COMMAA_SCAM08/dr2.dat
dg_broker_start=FALSE
fal_client=commaa_scao01
fal_server=commaa_scam08
log_archive_config=dg_config=(commaa_scao01,commaa_scam08)
log_archive_dest_1=location=USE_DB_RECOVERY_FILE_DEST
log_archive_dest_2=
log_archive_dest_state_1=enable
log_archive_dest_state_2=ENABLE
12 rows selected.
9. Use the “alter system set <parameter_name>=<parameter_value>” command to set the
parameters.
E.g. alter
system set log_archive_dest_1=’
location=USE_DB_RECOVERY_FILE_DEST’
10. Enable archive logging, flashback database and force logging.
srvctl stop database –d commaa_scam08
sqlplus / as sysdba
startup mount
alter database archivelog;
alter database flashback on;
alter database open;
alter database force logging;
srvctl start database –d commaa_scam08
Prepare the Standby
1. Create the standby password file to match that of the password used by the primary.
orapwd file=$ORACLE_HOME/dbs/orapwcommaa1 password=<password>
2. Set up the init.ora file and environment.
cat initTMP.ora
db_name=commaa
db_unique_name=commaa_scao01
sga_target=6G
[oracle_atg@scao01adm01 dbs]$ eora
ORACLE_DB=commaa_scao01
ORACLE_SID=commaa1
ORACLE_BASE=/u01/app/oracle_atg
ORACLE_HOME=/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce
43 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
3. Run startup nomount on the standby.
[oracle_atg@scao01adm01 dbs]$ sq
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 23 17:19:43 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount pfile='?/dbs/initTMP.ora'
4. Check the current primary settings and reset if needed.
select name,value from v$parameter where name like '%convert%';
NAME
VALUE
-----------------------------------------------------------------------------db_file_name_convert
+DATAC1, +DATA_SCAM08, +RECOC1, +RECO_SCAM08
log_file_name_convert
+DATAC1, +DATA_SCAM08, +RECOC1, +RECO_SCAM08
5. File conversion should be set as follows on the primary:
alter system set db_file_name_convert='<primary data disk group>', '<standby
data disk group>', '<primary reco disk group>', '<standby reco disk group>'
scope=spfile;
alter system set log_file_name_convert='<primary data disk group>', '<standby
data disk group>', '<primary reco disk group>', '<standby reco disk group>'
scope=spfile;
e.g.
alter system set
db_file_name_convert='+DATA_SCAM08/COMMAA_SCAM08','+DATAC1/COMMAA_SCAO01','+RE
CO_SCAM08/COMMAA_SCAM08','+RECOC1/COMMAA_SCAO01' scope=spfile;
alter system set
log_file_name_convert='+DATA_SCAM08/COMMAA_SCAM08','+DATAC1'/COMMAA_SCAO01,'+R
ECO_SCAM08/COMMAA_SCAM08','+RECOC1/COMMAA_SCAO01' scope=spfile;
6. Unset the cluster_interconnects on the primary, if they are set, and restart the database.
alter system reset cluster_interconnects scope=spfile sid='commaa1';
alter system reset cluster_interconnects scope=spfile sid='commaa2';
44 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the Standby Using RMAN Duplicate
7. Run chkconfig database –d [STBY_DB_NAME] to make sure the standby? has not registered with
CRS. If it has registered, remove it with srvctl remove database –d [STBY_DB_NAME].
8. Run “RMAN Duplicate” on the primary to create the remote standby database.
export NLS_LANG=American_America.UTF8
export NLS_DATE_FORMAT="MM/DD/YYYY HH24:MI:SS"
rman target sys/welcome1@commaa_scam08_STATIC auxiliary
sys/welcome1@COMMAA_SCAO01_STATIC | tee -a rmanDupStbyLog_`date
+%Y%m%d_%H%M%S`.log
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Jan 15 14:51:26 2013
connected to target database: COMMAA (DBID=1051405088)
connected to auxiliary database: COMMAA (not mounted)
RMAN>
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert='+DATA_SCAM08/COMMAA_SCAM08','+DATAC1/COMMAA_SCAO01','+RECO_SCAM08/COMM
AA_SCAM08','+RECOC1/COMMAA_SCAO01'
set cluster_database='false'
set
db_file_name_convert='+DATA_SCAM08/COMMAA_SCAM08','+DATAC1/COMMAA_SCAO01','+RECO_SCAM08/COMMAA_
SCAM08','+RECOC1/COMMAA_SCAO01'
set db_unique_name='COMMAA_SCAO01'
set db_create_online_log_dest_1='+DATAC1'
set db_create_file_dest='+DATAC1'
set db_recovery_file_dest='+RECOC1'
set
log_file_name_convert='+DATA_SCAM08/COMMAA_SCAM08','+DATAC1/COMMAA_SCAO01','+RECO_SCAM08/COMMAA
_SCAM08','+RECOC1/COMMAA_SCAO01'
set control_files='+DATAC1'
set local_listener='scam08-scan3:1521'
set remote_listener='scao01adm01:1522';
}
9. Once the duplicate completes, set the cluster_interconnects on the primary and restart the database.
alter system set cluster_interconnects='192.168.218.130' scope=spfile
sid='commaa1';
alter system set cluster_interconnects='192.168.218.131' scope=spfile
sid='commaa2';
10. Stop the static listener on the standby and rename the listener.ora file.
lsnrctl stop listener_duplicate
mv $ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/listener.ora.duplicate
45 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Complete Standby Post “RMAN Duplicate” Steps
At this stage the new standby database is mounted.
1. Create the database spfile in ASM.
Note that the second location in the ASM directory specification is the same as the standby database
DB_UNIQUE_NAME parameter setting, COMMAA_SCAO01.
SQL>
File
SQL>
from
File
create pfile='/tmp/pfile' from spfile;
created.
create spfile='+DATAC1/COMMAA_SCAO01/parameterfile/spfilecommaa1.ora'
pfile='/tmp/pfile';
created.
2. Create the database startup file.
cat $ORACLE_HOME/dbs/initcommaa1.ora
SPFILE='+DATAC1/commaa_scao01/parameterfile/spfilecommaa.ora'
3. Add the database to the RAC Cluster Registry (OCR).
srvctl add database -d commaa_scao01 -o
/u01/app/oracle_atg/product/12.1.0.2/dbhome_commerce -a "DATAC1,RECOC1"
srvctl add instance -d commaa_scao01 -i commaa1 -n scao01adm01
srvctl add instance -d commaa_scao01 -i commaa2 -n scao01adm02
4. Convert the new standby database to a physical_standby.
srvctl modify database –d commaa_scao01 –r physical_standby
5. Setup instance 2 and the other RAC node.
[oracle_atg@scao01adm02 dbs]$ scp scao01adm01:`pwd`/initcommaa1.ora
initcommaa2.ora
[oracle_atg@scao01adm02 dbs]$ scp scao01adm01:`pwd`/orapwcommaa1 orapwcommaa2
6. Remove the RMAN generated spfile on the standby.
[oracle_atg@scao01adm01 dbs]$ rm $ORACLE_HOME/dbs/spfilecommaa1.ora
7. Mount the standby.
This will pick up the new spfile from ASM now.
SQL> shutdown abort
srvctl start database -d commaa_scao01 -o mount
srvctl status database -d commaa_scao01
Instance commaa1 is running on node scao01adm01
Instance commaa2 is running on node scao01adm02
8. Enable Oracle RAC for the next startup.
SQL> alter system set cluster_database=true scope=spfile;
46 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
9. Drop extra multiplexed SRLs from +DATA* that are created.
set pages 0 head off feedback off lines 150 echo off termout off verify off
select 'alter database drop standby logfile member ' || chr(39) || member ||
chr(39) || ';'
from v$logfile
where type='STANDBY'
and member like '+DATA%'
spool dropSRL.sql
/
spool off
# cat dropSRL.sql
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_5.1148.804854425';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_6.1149.804854427';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_7.1150.804854431';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_8.1151.804854435';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_9.1152.804854439';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_10.1153.804854443';
alter database drop standby logfile member
'+DATAC1/commaa_scao01/onlinelog/group_11.1141.804854445';
@dropSRL
10. Run the following statements if an SRL is active.
SQL> alter system set standby_file_management='MANUAL' ;
System altered.
alter database clear logfile group n;
11. Re-execute the "alter database drop standby logfile member ..." command(s) that failed.
SQL>alter system set standby_file_management='AUTO' ;
System altered.
12. If the “alter database drop standby logfile member” commands still fail then defer redo transport on the primary.
alter system set log_Archive_Dest_state_2=defer
Re-execute the "alter database drop standby logfile member ..." command(s) that failed. If the extra SRLs in the
DATA diskgroup do not get dropped it’s not critical and you can proceed.
13. Re-enable redo transport from the primary.
alter system set log_Archive_Dest_state_2=enable
47 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create the Role-Based Services
1. As user oracle_atg on scao01adm01 (the standby) Make sure the DBMS_SERVICE.CREATE_SERVICE
was run on the Primary for each role-based service (See “DBMS_SERVICE.CREATE_SERVICE”).
srvctl add service -d commaa_scam08 -s comsvc -r commaa1,commaa2 -l PRIMARY -q
FALSE -e NONE -m NONE -w 0 -z 0
srvctl add service -d commaa_scam08 -s comsvc_tst -r commaa1,commaa2 -l
SNAPSHOT_STANDBY -q FALSE
-e NONE -m NONE -w 0 -z 0
srvctl add service -d commaa_scao01 -s comsvc_stby -r commaa1,commaa2 -l
PHYSICAL_STANDBY -q FALSE -e NONE -m NONE -w 0 -z 0
2. The standby services were started and stopped on the standby so that the service definitions are created in the
database and then synchronized to the standby. As user oracle_atg on scam08db03:
srvctl
srvctl
srvctl
srvctl
srvctl
srvctl
start service -d commaa -s comsvc
stop service -d commaa -s comsvc
start service -d commaa -s comsvc_tst
stop service -d commaa -s comsvc_tst
start service -d commaa -s comsvc_stby
stop service -d commaa -s comsvc_stby
Test Redo Log Transport
1. Verify the primary and standby database Data Guard related parameter settings.
Use a script similar to the one used earlier (see listDG).
SQL> @listDG
NAME||'='||VALUE
-----------------------------------------------------------------------------db_name=commaa
db_unique_name=commaa_scao01
dg_broker_config_file1=+DATA_SCAM08/COMMAA_SCAM08/dr1.dat
dg_broker_config_file2=+DATA_SCAM08/COMMAA_SCAM08/dr2.dat
dg_broker_start=FALSE
fal_client=COMMAA_scam08
fal_server=COMMAA_scao01
log_archive_config=dg_config=(commaa_scam08,commaa_scao01)
log_archive_dest_1=location=USE_DB_RECOVERY_FILE_DEST
log_archive_dest_2=service="commerce_scao01", ASYNC NOAFFIRM
valid_for=(online_logfile,all_roles) db_unique_name="commerce_scao01" #Primary
log_archive_dest_2=service="commaa_scam08", ASYNC NOAFFIRM
valid_for=(online_logfile,all_roles) db_unique_name="commaa_scam08" #Standby
log_archive_dest_state_1=enable
log_archive_dest_state_2=ENABLE
12 rows selected.
48 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
2. Start managed recovery on the standby database.
a. Ensure the standby is mounted.
SQL> shutdown abort
srvctl start database -d commaa_scao01 -o mount
srvctl status database -d commaa_scao01
Instance commaa1 is running on node scao01adm01
Instance commaa2 is running on node scao01adm02
b. Start managed recovery on the standby.
While monitoring the primary and standby database alert logs start managed recovery with the command:
recover managed standby database through all switchover using current logfile
disconnect
3. While continuing to monitor the database alert logs on the primary and the standby switch redo logs on the
primary.
alter system archive log current;
You should see messages on the primary similar to this:
Mon Sep 23 12:11:20 2013
ALTER SYSTEM ARCHIVE LOG
Mon Sep 23 12:11:21 2013
Thread 1 advanced to log sequence 11 (LGWR switch)
Current log# 1 seq# 11 mem# 0:
+DATA_SCAM08/commaa_scam08/onlinelog/group_1.283.800092133
Current log# 1 seq# 11 mem# 1:
+RECO_SCAM08/commaa_scam08/onlinelog/group_1.260.800092135
Mon Sep 23 12:11:22 2013
LNS: Standby redo logfile selected for thread 1 sequence 11 for destination
LOG_ARCHIVE_DEST_2
And on the stanby alert log something like this.
Mon Sep 23 12:11:22 2013
Media Recovery Log
+RECOC1/commaa_scao01/archivelog/2013_09_23/thread_1_seq_10.1084.826891883
Media Recovery Waiting for thread 1 sequence 11 (in transit)
Recovery of Online Redo Log: Thread 1 Group 5 Seq 11 Reading mem 0
Mem# 0: +DATAC1/commaa_scao01/onlinelog/group_5.1036.826884085
Mem# 1: +RECOC1/commaa_scao01/onlinelog/group_5.2181.82688408
49 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Set Up the Database Best Practices
Ensure that the MAA database best practices are implemented.
Enable Flashback Database on Standby
As user oracle_atg on scam08db03:
sqlplus / as sysdba <<EOF
recover managed standby database cancel
alter database flashback on;
EOF
Configure and Start Data Guard Broker
1. On Primary and Standby as user oracle_atg:
a. Primary:
alter system set dg_broker_config_file1='+DATA_SCAM08/commaa_scam08/dr1.dat'
scope=both;
alter system set dg_broker_config_file2='+DATA_SCAM08/commaa_scam08/dr2.dat'
scope=both;
alter system set dg_broker_start=true scope=both;
b. Standby:
alter system set dg_broker_config_file1='+DATAC1/commaa_scao01/dr1.dat'
scope=both;
alter system set dg_broker_config_file2='+DATAC1/commaa_scao01/dr2.dat'
scope=both;
alter system set dg_broker_start=true scope=both;
2. On Primary as user oracle_atg:
dgmgrl sys/WELCOME1
create configuration 'com_dg' as
primary database is 'commaa_scam08'
connect identifier is COMMAA_scam08;
add database 'commaa_scao01' as
connect identifier is COMMAA_scao01
maintained as physical;
enable configuration;
Validate Standby Operation
dgmgrl –silent << EOF
show configuration verbose;
show database commaa_scam08
show database commaa_scao01
EOF
Properties:
FastStartFailoverThreshold
OperationTimeout
FastStartFailoverLagLimit
CommunicationTimeout
=
=
=
=
50 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
'30'
'30'
'30'
'180'
FastStartFailoverAutoReinstate
FastStartFailoverPmyShutdown
BystandersFollowRoleChange
Fast-Start Failover: DISABLED
= 'TRUE'
= 'TRUE'
= 'ALL'
Configuration Status: SUCCESS
[oracle_atg@scam08db03 ~]$ dgmgrl -silent / <<EOF
> show configuration verbose;
> show database commaa_scam08
> show database commaa_scao01
> EOF
Configuration - com_dg
Protection Mode: MaxPerformance
Databases:
commaa_scam08
- Primary database
commaa_scao01 - Physical standby database
Protection Mode: MaxPerformance
Databases:
commaa_scam08
- Primary database
commaa_scao01 - Physical standby database
Properties:
FastStartFailoverThreshold
OperationTimeout
FastStartFailoverLagLimit
CommunicationTimeout
FastStartFailoverAutoReinstate
FastStartFailoverPmyShutdown
BystandersFollowRoleChange
Fast-Start Failover: DISABLED
=
=
=
=
=
=
=
Configuration Status: SUCCESS
Database – commaa_scam08
Role:
Intended State:
Instance(s):
commaa1
commaa2
PRIMARY
TRANSPORT-ON
Database Status: SUCCESS
Database - commaa_scao01
Role:
Intended State:
Transport Lag:
Apply Lag:
Real Time Query:
Instance(s):
commaa1 (apply
commaa2
PHYSICAL STANDBY
APPLY-ON
0 seconds
0 seconds
OFF
instance)
Database Status: SUCCESS
51 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
'30'
'30'
'30'
'180'
'TRUE'
'TRUE'
'ALL'
Install Exalogic
» Review the “Oracle Fusion Middleware Exalogic Enterprise Deployment Guide”
» See mainly chapter 3: Network, Storage, and Database Preconfiguration
Set Up ZFS Replication for Applications Tier DR
Configure Replication for the Project
1. Ensure the replication service is set up.
2. Go to Configuration > Services and verify that the Replication service is online.
3. Add the replication target if necessary.
4. Click on the replication service shown in the above graphic.
5. Ensure you choose the virtual host that floats to the active ZFS clustered head.
52 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
6. Turn on replication for the Project.
Verify That the Shares Are Being Replicated
Log on to the target ZFS and look at replicas.
53 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Create Exalogic Servers
Just as in “Configure Exalogic Servers”, the following procedure creates disaster recovery servers or vServers for
the primary Servers.
See the “Oracle Exalogic Elastic Cloud Administrator's Guide” for complete details. At this stage any necessary
users and roles are created.
For vServers, log in to the Enterprise Manager Ops Center (EMOC) as the vDC owner and follow these steps:
1. Create Exalogic vServer types.
2. Create Exalogic distribution groups.
3. Create the vServers specifing the correct vServer type and distribution group. Also, choose the correct networks
so that each vServer has ZFS access.
4. Create the oracle_atg OS user.
5. Configure the vServer OS settings per the steps at Configure OS for WebLogic/Commerce.
6. Set the WebLogic Environment Variables.
Disaster Recovery Host Aliasing
In a Disaster Recovery topology, the production site host names must be resolvable to the IP addresses of the
corresponding peer systems at the standby site. Therefore, it is important to plan the host names for the production
site and standby site. After a role transition (failover or switchover) from a primary site to a standby site, the alias
host names for the application tier hosts on the standby site become active. You do not need to reconfigure
hostnames for the hosts on the standby site because you setup aliases on the standby site.
Also see Network Considerations and Planning Host Names in the “Oracle® Fusion Middleware Disaster Recovery
Guide”.
How the host alias is set up depends on whether your DNS configuration is separate (where the production site and
the standby site have their own DNS servers) or you have a single global DNS server. For examples of each see
Section 3.1.1.1.3, Resolving Host Names Using Separate DNS Servers and Section 3.1.1.1.4, Resolving Host
Names Using a Global DNS Serve" in the “Oracle® Fusion Middleware Disaster Recovery Guide”.
In this case study a single(global) DNS server is in use so the disaster recovery site /etc/hosts files had to be
updated with host aliases as detailed inError! Reference source not found.. Note that for Commerce Platform,
he ordering of the host name in the /etc/hosts file is important and the primary fully qualified hostname
must be first. This ordering is a requirement of the Commerce Platform Scenario Manager, Internal Scenario
Manager and Workflow Process Manager.
54 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Sample DR /etc/hosts
#Host Listing for Oracle Commerce Failover
10.133.219.197 scan03vm0059-eoib1.us.oracle.com scan03vm0063eoib1.us.oracle.com scan04cn21.us.oracle.com scan04cn21 scan03vm0059-eoib1
scan03vm0063-eoib1 scan03vm0063-eoib1.us.oracle.com scan03vm0063-eoib1
10.133.219.198 scan03vm0060-eoib1.us.oracle.com scan03vm0064eoib1.us.oracle.com scan04cn22.us.oracle.com scan04cn22 scan03vm0060-eoib1
scan03vm0064-eoib1 scan03vm0064-eoib1.us.oracle.com scan03vm0064-eoib1
10.133.219.199 scan03vm0061-eoib1.us.oracle.com scan04cn23.us.oracle.com
scan04cn23 scan03vm0061-eoib1
10.133.219.200 scan03vm0062-eoib1.us.oracle.com scan04cn24.us.oracle.com
scan04cn24 scan03vm0062-eoib1
10.133.219.197 scae01ec2-vip1.us.oracle.com scae01ec2-vip1
Update DR Hosts With ZFS Replica Mount Points
On the application tier need to ensure that the primary replicated file systems are used on the corresponding nodes
in preparation for role transitions. Update the /etc/fstab to match the primary settings.
Set the DR WebLogic Environment Variables
See Set the WebLogic Environment Variables.
Set Up the Standby Load Balancer
See “Configure Load Balancing”.
55 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Site Test
The key elements for the Sit test are:
» The load balancer on site 2 was configured in the same way as site 1
» The standby site has host aliases
» The GridLink data sources point to the new snapshot standby database service
Create an Alternate Set of WebLogic Server JDBC Files
In preparation for the Site Test, create a set of JDBC files that use the snapshot standby database service,
comsvc_tst. These will be used via the ZFS replication and the Site Test ZFS clone.
1. On the primary WLS Admin server, navigate to $WL_DOMAIN_HOME
(/u01/app/wls/atgDomain/atg/atg_domain) on the WLS Admin server and copy all files in the
jdbc directory, as new IDs (repeat with each of the 4 JDBC files):
cp GridLink_ATGProductionDS-0829-jdbc.xml GridLink_ATGProductionDS-0904jdbc.xml
2. Edit the newly created files, replacing the service_name in the <url> tag of comsvc, with the snapshot standby
service_name, comsvc_tst:
<url>jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=on)(CONNECT_TIMEOUT=1)(TRANSPORT
_CONNECT_TIMEOUT=1)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PRO
TOCOL=TCP)(HOST=scam02-scan7)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=scam08scan3)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=comsvc_tst)))
</url>
3. Copy the Admin $WL_DOMAIN_HOME/config/config.xml as
$WL_DOMAIN_HOME/config/config.xml/stby:
cp /u01/app/wls/atgDomain/atg/atg_domain/config/config.xml
/u01/app/wls/atgDomain/atg/atg_domain/config/config.xml.stby
4. Edit the /u01/app/wls/atgDomain/atg/atg_domain/config/config.xml.stby, replacing
the Production JDBC config files with the standby config files:
<jdbc-system-resource>
<name>GridLink_ATGProductionDS</name>
<target>CRS-Cluster,scan03vm0059-eoib1-slm01,scan03vm0060-eoib1slm01,scan03vm0059-eoib1-bcc01,scan03vm0060-eoib1-bcc01</target>
<descriptor-file-name>jdbc/GridLink_ATGProductionDS-0904jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
<jdbc-system-resource>
<name>GridLink_ATGPublishingDS</name>
<target>scan03vm0059-eoib1-bcc01,scan03vm0060-eoib1-bcc01</target>
<descriptor-file-name>jdbc/GridLink_ATGPublishingDS-0904jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
<jdbc-system-resource>
<name>GridLink_ATGSwitchingDS_A</name>
<target>CRS-Cluster,scan03vm0059-eoib1-bcc01,scan03vm0060-eoib1bcc01</target>
<descriptor-file-name>jdbc/GridLink_ATGSwitchingDS_A-0904jdbc.xml</descriptor-file-name>
56 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
</jdbc-system-resource>
<jdbc-system-resource>
<name>GridLink_ATGSwitchingDS_B</name>
<target>CRS-Cluster,scan03vm0059-eoib1-bcc01,scan03vm0060-eoib1bcc01</target>
<descriptor-file-name>jdbc/GridLink_ATGSwitchingDS_B-0904jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
Convert the Standby Database to a Snapshot Standby
Use Data Guard Broker to convert the standby database to a snapshot standby, for example:
dgmgrl sys/welcome1 <<EOF
convert database commaa_scao01 to snapshot standby
EOF
The database service that was configured for snapshot standby mode (comsvc_tst) under “Create the role-based
services” will be started automatically.
Create a File System Clone
1. Log into ZFS BUI on standby.
2. Select the REPLICA project, for example “scan04sn01: ATG11”.
3. Select the "Replication" tab.
4. Hit the "Clone most recently received project snapshot" icon (labeled with the + sign).
5. Enter the new project name, for example “ATG_tst”.
6. Enter an override mount point “/export/ATG_tst”.
7. Hit CONTINUE.
8. Select the new LOCAL project - ATG_tst.
Mount the WebLogic Server and Commerce File System Clone
1. On each Commerce server, edit the /etc/fstab file to point to the cloned file system and mount on the
appropriate mount point, replacing /export/ATG with /export/ATG_tst, for example:
172.17.0.9:/export/ATG_tst /u01/app/oracle_atg/product/fmw nfs4
rw,bg,hard,nointr,rsize=131072,wsize=131072
We have accomplished this, by creating an alternate /etc/fstab file, which contains the cloned share mount
points, and swapping it when required.
mv /etc/fstab /etc/fstab.orig
mv /etc/fstab.stby /etc/fstab
57 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
2. As root, umount the file old systems and mount the new file systems:
umount /u01/app/wls/atgDomain/admin
umount /u01/app/oracle_atg/product/fmw
umount /u01/app/wls/atgDomain/atg
umount /u01/app/oracle_atg/data
mount /u01/app/wls/atgDomain/admin
mount /u01/app/oracle_atg/product/fmw
mount /u01/app/wls/atgDomain/atg
mount /u01/app/oracle_atg/data
*Note, the same mount points are used for primary operation so the Commerce configuration does not need to be
changed.
Change the WebLogic Server config.xml File
Change the WLS config.xml to the Alternate Standby Version that was previously created in Create an
alternate set of WLS JDBC files.
cp /u01/app/wls/atgDomain/admin/atg_domain/config/config.xml
/u01/app/wls/atgDomain/admin/atg_domain/config/config.xml.orig
cp /u01/app/wls/atgDomain/admin/atg_domain/config/config.xml.stby
/u01/app/wls/atgDomain/admin/atg_domain/config/config.xml
Failover and Start the WebLogic Server Admin listen address
1. Create a host alias and add the following line to /etc/hosts on the standby WebLogic Server Administration
node:
10.133.219.197 scae01ec2-vip1.us.oracle.com scae01ec2-vip1
Commerce Platform Startup and Test
Start up the Commerce Platform applications using the regular process and begin Commerce application testing.
58 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Site Test to Standby
Shut Down Commerce Applications
» Shut down Commerce applications on the standby site using the regular process.
Convert the Standby to a Physical Standby
» Use the Data Guard Broker to convert the snapshot standby database to a physical standby, for example:
dgmgrl sys/welcome1 <<EOF
convert database commaa_scao01 to physical standby
EOF
Unmount the File Systems
1. As root, unmount the cloned Commerce File System used for testing on each server, for example:
umount /u01/app/oracle_atg/product/fmw
2. Restore the original /etc/fstab file on each server so that you are ready for primary operation when
necessary,
mv /etc/fstab.orig /etc/fstab
*Note: There is no need to attempt to mount the file system at this time.
Remove the Clone of the Commerce File System Replica
1. Log into ZFS BUI on the standby site.
2. Select the LOCAL project, for example “ATG_tst”.
3. Confirm that you have the correct project.
4. Select the "Remove of Destroy Entry" trash can icon.
5. Hit OK to confirm.
59 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Site Switchover
Shut Down Commerce Applications on Primary Site
» Shutdown all Commerce applications using the standard procedure and unmount all ZFS file systems, for
example:
umount /u01/app/oracle_atg/product/fmw
Perform Database Switchover
» Use Data Guard Broker to perform the database switchover, for example:
dgmgrl sys/welcome1 <<EOF
switchover to commaa_scao01
EOF
Stop Commerce File System Replication at Source
1. Log in to the ZFSSA BUI on the old primary (source) site.
2. Locate the Commerce File System project, for example ATG
3. Navigate to the Replication tab and confirm that replication is up-to-date – the Last Sync time should be later
than when the Commerce File System was dismounted.
4. Click the Enable/disable action button to disable replication, and wait for the STATUS column to indicate a
status of disabled.
Perform Commerce File System Role Reversal at Target
1. Log in to the ZFSSA BUI on the new primary site.
2. Locate the replica project on the standby (target) site, for example scan03sn01:ATG.
3. Navigate to the Replication tab and confirm that replication is up-to-date – the Last Sync time should be later than
when the Commerce File System was dismounted on the old primary site.
4. Click the Reverse Direction of Replication button.
5. Enter the new project name “ATG”.
6. Configure the project so the Commerce Servers have access.
60 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Mount the Commerce File System
This procedure should be performed on each Commerce Server.
1. As root, verify that the current Commerce File System is not mounted, for example:
umount /u01/app/oracle_atg/product/fmw
2. Check the /etc/fstab file to confirm that the server mounts the Commerce File System from the primary
export (/export/ATG), for example:
172.17.0.9:/export/ATG/WLSbin1 /u01/app/oracle_atg/product/fmw nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
3.
As root, mount the Commerce file System. Note, the mount points, e.g.
/u01/app/oracle_atg/product/fmw, do not change and so the Commerce configuration does not
need to be changed.
Start Up Commerce Applications As Prod on the New Primary Site
Use the standard procedure to start all Commerce applications.
Start File System Replication to New Standby Site
1. Log in to the ZFSSA BUI on the new primary site.
2. Locate the Commerce File System project, for example ATG.
3. Navigate to the Replication tab and click Edit Entry.
4. Enable the Send Updates: Continuous radio button and click Apply.
5. Wait until the sync completes and the Last Sync time is updated.
Delete Old Commerce File System Project
It is important to delete the old Commerce File System project after the switchover so that a subsequent switchover
or failover will not be slowed down by this work. To clean up:
1. Log in to the ZFSSA BUI on the old primary (new standby) site.
2. Locate the Commerce File System project, for example ATG.
3. Confirm that there are no shares in this project.
4. Delete the project.
61 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Site Failover
Perform Database Failover
This procedure can be performed in parallel with the Commerce File System Role Reversal. Using Data Guard
Broker from the standby, perform the database failover, for example:
dgmgrl sys/welcome1 <<EOF
failover to commaa_scao01
EOF
Perform Commerce File System Role Reversal
This procedure can be performed in parallel with the database failover.
1. Log in to the ZFSSA BUI on the new primary site.
2. Locate the replica project on the standby (target) site, for example scan03sn01:ATG.
3. Navigate to the Replication tab and make a note of the Last Sync time.
4. Click the Reverse Direction of Replication button.
5. Enter the new project name “ATG”.
6. Configure the project so the Commerce Servers have access.
Mount the Commerce File System
Perform this procedure on all of the Commerce application servers.
1. As root, verify that the current Commerce File System is not mounted.
2. Check the /etc/fstab file to confirm that the server is mounting the File System from the primary export
(/export/ATG), for example:
172.17.0.9:/export/ATG/WLSData /u01/app/oracle_atg/data nfs4
rw,rsize=131072,wsize=131072,bg,hard,timeo=600
3. As root, mount the Commerce File System.
*Note: The mount point does not change and so the Commerce configuration does not need to be changed.
Start Up the Commerce Applications As Prod on the New Primary Site
Use the standard procedure to start all Commerce applications.
62 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Reinstate
Perform Database Reinstate
1. Start up one database instance on the new standby (old primary) site:
srvctl start instance -d commaa_scam08 -i commaa1
2. Use Data Guard Broker to reinstate the old primary as a physical standby database, from the standby database:
dgmgrl sys/welcome1 <<EOF
reinstate database commaa_scam08
EOF
3. If flashback database is not on then enable it. See Enabling Flashback.”
Start Commerce File System Replication to Standby Site
1. Log in to the ZFSSA BUI on the new primary site.
2. Locate the Commerce File System project, for example ATG.
3. Navigate to the Replication tab and click the Edit Entry button.
4. Enable the Send Updates: Continuous radio button and click Apply.
5. Wait until the sync completes and the Last Sync time is updated.
Delete Old Commerce File System Project
It is important to delete the old Commerce File System project after the switchover so that a subsequent switchover
or failover will not be slowed down by the unnecessary files. To clean up:
1. Log in to the ZFSSA BUI on the new standby site.
2. Locate the Commerce File System project, for example ATG.
3. Confirm that there are no shares in this project.
4. Delete the project.
63 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
WebLogic Server Administration Server Failover
This step assumes that the WebLogic Server Adminitration server is down, including the VIP. Do the folloing steps
on the new WebLogic Server Administration Sever:
1. Verify that the VIP is down.
ping scae01ec2-vip1
2. Mount the shared file system necessary to start the WebLogic Server Adminitration server. The required file
systems are:
/u01/app/wls/atgDomain/admin
/u01/app/oracle_atg/product/fmw
3. Start the VIP.
ifconfig bond0:1 10.133.49.181 netmask 255.255.248.0
/sbin/arping -q -U -c 3 -I bond0 10.133.49.181
4. Ping 10.133.49.181 or scae01ec2-vip1 from another host to ensure it is active and plumbed on the
interface.
5. Start the WebLogic Server Administration server using your start script.
sudo service wls_admin start
Enable Active Data Guard for Read-Only Reporting
1. Verify/Check whether the standby database is mounted:
a. As user oracle_atg, execute sqlplus / as sysdba.
b. Check to make sure the database isn't mounted.
sql>select db_unique_name,open_mode from v$database;
DB_UNIQUE_NAME
OPEN_MODE
---------------- ---------------commaa_scao01
MOUNTED
2. If the database is mounted, you need to stop mrp and then open in read-only mode.
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> !ps -ef|grep mrp
1013 98993 98912 0
13:12 pts/3 00:00:00 /bin/bash -c ps -ef|grep mrp
1013 98995 98993 0
13:12 pts/3 00:00:00 grep mrp
3. Open database in read-only mode.
SQL> alter database open ;
Database altered.
SQL> select db_unique_name,open_mode from v$database;
DB_UNIQUE_NAME
OPEN_MODE
---------------------------------commaa_scao01
READ ONLY
4. Restart Redo Apply.
SQL> alter database recover managed standby database using current logfile
disconnect from session;
Database altered.
64 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
5. Verify that redo-apply is enabled using the following query:
SQL> select process,status,sequence# from v$managed_standby where process like
'%MRP%';
PROCESS
STATUS
SEQUENCE#
------------------------------------MRP0
APPLYING_LOG 133
6. Monitor Active Data Guard:
a. From the Primary:
SQL> select dest_name,status,database_mode,recovery_mode from
v$archive_dest_status where dest_id=2;
DEST_NAME
STATUS DATABASE_MODE
RECOVERY_MODE
-----------------------------------------------------------LOG_ARCHIVE_DEST_2
VALID OPEN_READ-ONLY
MANAGED REAL TIME APPLY
b. From the standby:
sql>select db_unique_name,open_mode from v$database;
DB_UNIQUE_NAME
OPEN_MODE
--------------------------------------commaa_scao01
READ ONLY WITH APPLY
SQL> select 'YES' Active_DataGuard from v$managed_standby ms,v$database db
where ms.process like '%MRP%' and db.open_mode like '%READ ONLY%';
ACT
------YES
SQL> SELECT * FROM V$STANDBY_EVENT_HISTOGRAM WHERE NAME = 'apply lag' AND
COUNT > 0;
NAME
TIME
UNIT
COUNT LAST_TIME_UPDATED
-----------------------------------------------------------apply lag 0
seconds
165860 10/25/2013 13:54:05
apply lag 1
seconds
722
10/25/2013 13:51:33
apply lag 2
seconds
190
10/25/2013 13:24:12
apply lag 3
seconds
49
10/25/2013 13:19:13
apply lag 4
seconds
12
10/25/2013 13:22:00
apply lag 5
seconds
7
10/25/2013 13:22:01
apply lag 6
seconds
5
10/25/2013 13:22:02
apply lag 7
seconds
3
10/25/2013 13:22:03
apply lag 8
seconds
4
10/25/2013 13:22:04
apply lag 9
seconds
3
10/25/2013 13:22:05
apply lag 10
seconds
3
10/25/2013 13:22:06
65 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Appendix
Oracle Commerce Installation Examples
Commerce Platform Installation Example
Preparing to install...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
===============================================================================
Choose Locale...
---------------1- Dansk
2- Deutsch
->3- English
4- Español
5- Français
6- Italiano
7- Nederlands
8- Português
9- Português (Brasil)
10- Suomi
11- Svenska
CHOOSE LOCALE BY NUMBER: 3
===============================================================================
Oracle Commerce Platform
(created with InstallAnywhere)
------------------------------------------------------------------------------Preparing CONSOLE Mode Installation...
===============================================================================
Introduction
-----------InstallAnywhere will guide you through the installation of Oracle Commerce
Platform 11.1.
It is strongly recommended that you quit all programs before continuing with
this installation.
Respond to each prompt to proceed to the next step in the installation. If you
want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.
PRESS <ENTER> TO CONTINUE: ENTER
===============================================================================
License Agreement
----------------Installation and use of Oracle Commerce Platform 11.1 requires acceptance of
the following License Agreement:
Copyright (c) 1994-2014, Oracle and/or its affiliates. All rights reserved.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
UNIX is a registered trademark of The Open Group.
This software and related documentation are provided under a license agreement
containing restrictions on use and disclosure and are protected by intellectual
property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
66 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
license, transmit, distribute, exhibit, perform, publish, or display any part,
in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not
warranted to be error-free. If you find any errors, please report them to us in
writing.
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation
and technical data delivered to U.S. Government customers are "commercial
computer software" or "commercial technical data" pursuant to the applicable
Federal Acquisition Regulation and agency-specific supplemental regulations. As
such, the use, duplication, disclosure, modification, and adaptation shall be
subject to the restrictions and license terms set forth in the applicable
Government contract, and, to the extent applicable by the terms of the
Government contract, the additional rights set forth in FAR 52.227-19,
Commercial Computer Software License (December 2007). Oracle America, Inc., 500
Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of
information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a
risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure its safe use. Oracle
Corporation and its affiliates disclaim any liability for any damages caused by
use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or
information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim
all warranties of any kind with respect to third-party content, products, and
services. Oracle Corporation and its affiliates will not be responsible for any
PRESS <ENTER> TO CONTINUE: ENTER
loss, costs, or damages incurred due to your access to or use of third-party
content, products, or services.
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y
===============================================================================
Choose Install Folder
--------------------Where would you like to install?
Default Install Folder: /home/oracle_atg/ATG/ATG11.1
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
/u01/app/oracle_atg/product/fmw/ATG/ATG11.1
INSTALL FOLDER IS: /u01/app/oracle_atg/product/fmw/ATG/ATG11.1
IS THIS CORRECT? (Y/N): y
===============================================================================
Select Products to Install
-------------------------->1- Core Platform (DAS/DAF/DPS/DSS/ContentMgmt)
->2- Core Commerce and Merchandising
67 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
->3->4->5->6-
ATG Portal
Content Administration
Motorprise
Quincy Funds
Please choose products from the list by typing their number, separating them
with commas, or press <enter> to install all products (default): 1,2,3,4
===============================================================================
Select Application Server
------------------------Select the application server.
1- JBoss
2- IBM WebSphere
3- IBM WebSphere - cluster
4- Oracle WebLogic
5- Skip server selection
ENTER THE NUMBER OF THE DESIRED CHOICE: 4
===============================================================================
WebLogic configuration
---------------------Please enter the full path to your Oracle_Home Directory:
/u01/app/oracle_atg/product/fmw/Middleware
Please enter the full path to your WebLogic home directory (DEFAULT:
/u01/app/oracle_atg/product/fmw/Middleware/wlserver): ENTER
Please enter the full path to your WebLogic domain directory (DEFAULT:
/u01/app/oracle_atg/product/fmw/Middleware/user_projects/domains/base_domain):
/u01/app/wls/atgDomain/atg/atg_domain
Please enter the full path to a valid JDK Home directory (DEFAULT:
/u01/app/oracle_atg/product/fmw/Middleware/../jdk1.7.0_67):
/u01/app/oracle_atg/product/fmw/jdk1.7.0_67
Please enter the WebLogic listen port (DEFAULT: 7001): ENTER
Please enter ATG RMI port (DEFAULT: 8860): ENTER
===============================================================================
Pre-Installation Summary
-----------------------Please Review the Following Before Continuing:
Product Name: Oracle Commerce Platform 11.1
Install Folder: /u01/app/oracle_atg/product/fmw/ATG/ATG11.1
Product Features:
Core Platform (DAS/DAF/DPS/DSS/ContentMgmt),
Core Commerce and Merchandising,
ATG Portal,
Content Administration
Application server: Oracle WebLogic
JDK path: /u01/app/oracle_atg/product/fmw/jdk1.7.0_67
Disk Space Information (for Installation Target):
Required: 682,000,106 Bytes
Available: 5,138,118,606,848 Bytes
PRESS <ENTER> TO CONTINUE: ENTER
===============================================================================
Installing...
------------[==================|==================|==================|==================]
Installation Complete
--------------------Congratulations. Oracle Commerce Platform 11.1 has been successfully installed
to:
68 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
/u01/app/oracle_atg/product/fmw/ATG/ATG11.1
PRESS <ENTER> TO EXIT THE INSTALLER: ENTER
Commerce Reference Store Installation Example
Preparing to install...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
===============================================================================
Choose Locale...
---------------1- Deutsch
->2- English
3- Español
CHOOSE LOCALE BY NUMBER: 2
===============================================================================
Oracle Commerce Reference Store
(created with InstallAnywhere)
------------------------------------------------------------------------------Preparing CONSOLE Mode Installation...
===============================================================================
Introduction
-----------InstallAnywhere will guide you through the installation of Oracle Commerce
Reference Store 11.1
It is strongly recommended that you quit all programs before continuing with
this installation.
Respond to each prompt to proceed to the next step in the installation. If you
want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.
PRESS <ENTER> TO CONTINUE: ENTER
===============================================================================
License Agreement
----------------Installation and Use of Oracle Commerce Reference Store 11.1 Requires
Acceptance of the Following License Agreement:
Copyright (c) 1994-2014, Oracle and/or its affiliates. All rights reserved.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
UNIX is a registered trademark of The Open Group.
This software and related documentation are provided under a license agreement
containing restrictions on use and disclosure and are protected by intellectual
property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part,
in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not
warranted to be error-free. If you find any errors, please report them to us in
writing.
69 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation
and technical data delivered to U.S. Government customers are "commercial
computer software" or "commercial technical data" pursuant to the applicable
Federal Acquisition Regulation and agency-specific supplemental regulations. As
such, the use, duplication, disclosure, modification, and adaptation shall be
subject to the restrictions and license terms set forth in the applicable
Government contract, and, to the extent applicable by the terms of the
Government contract, the additional rights set forth in FAR 52.227-19,
Commercial Computer Software License (December 2007). Oracle America, Inc., 500
Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of
information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a
risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure its safe use. Oracle
Corporation and its affiliates disclaim any liability for any damages caused by
use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or
information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim
all warranties of any kind with respect to third-party content, products, and
services. Oracle Corporation and its affiliates will not be responsible for any
PRESS <ENTER> TO CONTINUE: ENTER
loss, costs, or damages incurred due to your access to or use of third-party
content, products, or services.
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y
===============================================================================
Choose Install Folder
--------------------Where would you like to install?
Default Install Folder: /home/oracle_atg/ATG/ATG11.1
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
: /u01/app/oracle_atg/product/fmw/ATG/ATG11.1
INSTALL FOLDER IS: /u01/app/oracle_atg/product/fmw/ATG/ATG11.1
IS THIS CORRECT? (Y/N): y
===============================================================================
Pre-Installation Summary
-----------------------Please Review the Following Before Continuing:
Product Name: Oracle Commerce Reference Store 11.1
Install Folder: /u01/app/oracle_atg/product/fmw/ATG/ATG11.1
Link Folder: /home/oracle_atg
Disk Space Information (for Installation Target):
Required: 156,990,779 Bytes
Available: 5,138,632,933,376 Bytes
PRESS <ENTER> TO CONTINUE: ENTER
===============================================================================
Installing...
-------------
70 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
[==================|==================|==================|==================]
Installation Complete
--------------------Congratulations! Oracle Commerce Reference Store 11.1 has been successfully
installed to:
/u01/app/oracle_atg/product/fmw/ATG/ATG11.1
PRESS <ENTER> TO EXIT THE INSTALLER: ENTER
Commerce Guided Search MDEX Installation Example
[oracle_atg@scan04cn21 installers]$ ./OCmdex6.5.1-Linux64_829811.sh --target
/u01/app/oracle_atg/product/oracle_gs
MDEX 6.5.1 install for x86_64pc-linux
Copyright 2001, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
UNIX is a registered trademark of The Open Group.
This software and related documentation are provided under a license agreement
containing restrictions on use and disclosure and are protected by intellectual
property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part,
in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not
warranted to be error-free. If you find any errors, please report them to us in
writing. U.S. GOVERNMENT END USERS: Oracle programs, including any operating
system, integrated software, any programs installed on the hardware, and/or
documentation, delivered to U.S
. Government end users are \u201ccommercial computer software\u201d pursuant to
the applicable Federal Acquisition Regulation and agency-specific supplemental
regulations. As such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system, integrated
software, any programs installed on the hardware, and/or documentation, shall
be subject to license terms and license restrictions applicable to the
programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of
information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a
risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure its safe use. Oracle
Corporation and its affiliates disclaim any liability for any damages caused by
use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or
information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim
all warranties of any kind with respect to third-party content, products, and
services. Oracle Corporation and its affiliates will not be responsible for any
loss, costs, or damages incurred due to your access to or use of third-party
content, products, or services.
71 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
About to extract 527728 KB in /u01/app/oracle_atg/product/oracle_gs.
Available disk space in /u01/app/oracle_atg/product/oracle_gs: 5018907904 KB.
Uncompressing MDEX 6.5.1 for x86_64pclinux..........................................................................
.......................................................
Configuring Endeca MDEX 6.5.1 for x86_64pc-linux .....
Configuration of Endeca MDEX 6.5.1 for x86_64pc-linux done
Please run the following command to set your environment variables:
Bourne, Bash or Korn:
source
/u01/app/oracle_atg/product/oracle_gs/endeca/MDEX/6.5.1/mdex_setup_sh.ini
csh or tcsh:
source
/u01/app/oracle_atg/product/oracle_gs/endeca/MDEX/6.5.1/mdex_setup_csh.ini
Commerce Guided Search Platform Services Installation Example
[oracle_atg@scan04cn21 installers]$ ./OCplatformservices11.1.0-Linux64.bin -target /u01/app/oracle_atg/product/oracle_gs
Oracle Commerce Guided Search Platform Services 11.1.0 install for x86_64pclinux
COPYRIGHT
Copyright 2001, 2014, Oracle and/or its affiliates. All rights reserved. Oracle
and Java are registered trademarks of Oracle and/or its affiliates. Other names
may be trademarks of their respective owners. UNIX is a registered trademark of
The Open Group.
This software and related documentation are provided under a license agreement
containing restrictions on use and disclosure and are protected by intellectual
property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part,
in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is
prohibited. The information contained herein is subject to change without
notice and is not warranted to be error-free. If you find any errors, please
report them to us in writing.
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system,
integrated software, any programs installed on the hardware, and/or
documentation, delivered to U.S. Government end users are "commercial computer
software" pursuant to the applicable Federal Acquisition Regulation and agencyspecific supplemental regulations. As such, use, duplication, disclosure,
modification, and adaptation of the programs, including any operating system,
integrated software, any programs installed on the hardware, and/or
documentation, shall be subject to license terms and license restrictions
applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of
information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a
risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure its safe use. Oracle
72 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Corporation and its affiliates disclaim any liability for any damages caused by
use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or
information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim
all warranties of any kind with respect to third-party content, products, and
services. Oracle Corporation andits affiliates will not be responsible for any
loss, costs, or damages incurred due to your access to or use of third-party
content, products, or services.
Verifying archive integrity...
All good.
Uncompressing Oracle Commerce Guided Search Platform Services 11.1.0 for
x86_64pclinux..........................................................................
.................................................................
Configuring Oracle Commerce Guided Search Platform Services 11.1.0 for
x86_64pc-linux ....
Configuring the Oracle Commerce Guided Search installed Perl 5.8.3 on your
environment.
Configure the ports your Oracle Commerce Guided Search Instance will utilize.
Please enter the port number of the Oracle Commerce Guided Search HTTP Service.
The typical default is 8888.
: 8888
Please enter the shutdown port number of the Oracle Commerce Guided Search HTTP
Service. The typical default is 8090.
: 8090
Would you like this installation configured to run the Oracle Commerce
Application Controller (EAC)? (Y/N)?
(Please note: this will also install the EAC Agent)
: y
Please enter the root of your Oracle Commerce MDEX Engine installation. The
root directory path typically includes the version number. Leave blank if there
is no Oracle Commerce MDEX Engine installed.
: /u01/app/oracle_atg/product/oracle_gs/endeca/MDEX/6.5.1
Would you like to install the reference implementations? (Y/N)?
: y
Please run the following command to set your environment variables:
Bourne, Bash or Korn:
source
/u01/app/oracle_atg/product/oracle_gs/endeca/PlatformServices/workspace/setup/i
nstaller_sh.ini
csh or tcsh:
source
/u01/app/oracle_atg/product/oracle_gs/endeca/PlatformServices/workspace/setup/i
nstaller_csh.ini
73 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Commerce Guided Search Tools & Frameworks with Experience Manager Installation Example
74 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Commerce Guided Search CAS Installation Example
[oracle_atg@scan04cn21 installers]$ ./OCcas11.1.0-Linux64.sh --target
/u01/app/oracle_atg/product/oracle_gs
Content Acquisition System 11.1.0 install for x86_64pc-linux
Copyright 2007, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
UNIX is a registered trademark of The Open Group.
This software and related documentation are provided under a license agreement
containing restrictions on use and disclosure and are protected by intellectual
property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part,
in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not
warranted to be error-free. If you find any errors, please report them to us in
writing.
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system,
integrated software, any programs installed on the hardware, and/or
documentation, delivered to U.S. Government end users are \u201ccommercial
computer software\u201d pursuant to the applicable Federal Acquisition
Regulation and agency-specific supplemental regulations. As such, use,
duplication, disclosure, modification, and adaptation of the programs,
including any operating system, integrated software, any programs installed on
the hardware, and/or documentation, shall be subject to license terms and
license restrictions applicable to the programs. No other rights are granted to
the U.S. Government.
This software or hardware is developed for general use in a variety of
information management applications. It is not developed or intended for use in
any inherently dangerous applications, including applications that may create a
risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure its safe use. Oracle
75 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Corporation and its affiliates disclaim any liability for any damages caused by
use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or
information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim
all warranties of any kind with respect to third-party content, products, and
services. Oracle Corporation and its affiliates will not be responsible for any
loss, costs, or damages incurred due to your access to or use of third-party
content, products, or services.
Verifying archive integrity...All good.
Uncompressing Content Acquisition System 11.1.0 for x86_64pclinux..........................................................................
..........................................................................
Please enter the port for the CAS service. The typical default is 8500.
:8500
Please enter the shutdown port for the CAS service. The typical default is
8506.
:8506
Creating the CAS service workspace.
Configuring the CAS host and port in the workspace located at
/u01/app/oracle_atg/product/oracle_gs/endeca/CAS/11.1.0/bin/../../workspace
ENDECA_TOOLS_ROOT is set to:
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0.
ENDECA_TOOLS_CONF is set to:
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace.
Please enter the fully qualified name, including domain information, of the CAS
server.
:scan04cn21.us.oracle.com
Installing casconsole.xml into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/Standalone/localhost.
Installing casconsole-infocenter.xml into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/Standalone/localhost.
Installing war files into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
ebapps.
Installing casconsole.properties into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf.
Installing CAS console into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-extensions.xml
Backing up file
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-extensions.xml to
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-extensions.xml.10-07-2014-12-00
76 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Installing CAS console into
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-mainMenu.xml
Backing up file
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-mainMenu.xml to
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/server/w
orkspace/conf/ws-mainMenu.xml.10-07-2014-12-00
Installing casStubs.jar to
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/referenc
e/discover-data-cas/lib/casStubs.jar
Installing casStubs.jar to
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/deployme
nt_template/app-templates/common/config/lib/java/casStubs.jar
Installing casStubs.jar to
/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.1.0/referenc
e/media-mdex-cas/lib/casStubs.jar
CAS installation is complete.
77 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Sample Scripts
==============================
/etc/init.d/endeca_platform
==============================
#!/bin/sh
# style chkconfig
###
# chkconfig: 2345 95 85
# description: Script to start and stop Endeca Platform Services
###
SCRIPT_USER=oracle_atg
SERVICE_NAME=endeca_platform
SCRIPT_PATH=/u01/app/oracle_atg/product/oracle_gs/endeca/PlatformServices/11.1.
0/tools/server/bin
START_SCRIPT_NAME=startup.sh
STOP_SCRIPT_NAME=shutdown.sh
case "$1" in
start)
if [ `ps -ef | grep "java" | grep "PlatformServices" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "Starting Endeca Platform Services"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
else
echo "ENDECA PLATFORM SERVICES IS ALREADY RUNNING"
fi
;;
stop)
if [ `ps -ef | grep "java" | grep "PlatformServices" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA PLATFORM SERVICES IS NOT RUNNING"
else
echo "Stopping Endeca Platform Services"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
fi
;;
restart)
if [ `ps -ef | grep "java" | grep "PlatformServices" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA PLATFORM SERVICES IS NOT RUNNING"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
else
echo "Restarting Endeca Platform Services"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
/bin/sleep 10
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
fi
;;
*)
echo "Usage: /sbin/service $SERVICE_NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
78 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
==============================
/etc/init.d/endeca_tools
==============================
#!/bin/sh
# style chkconfig
###
# chkconfig: 2345 95 85
# description: Script to start and stop Endeca Workbench
###
SCRIPT_USER=oracle_atg
SERVICE_NAME=endeca_tools
SCRIPT_PATH=/u01/app/oracle_atg/product/oracle_gs/endeca/ToolsAndFrameworks/11.
1.0/server/bin
START_SCRIPT_NAME=startup.sh
STOP_SCRIPT_NAME=shutdown.sh
case "$1" in
start)
if [ `ps -ef | grep "java" | grep "ToolsAndFrameworks" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "Starting Endeca Workbench"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
else
echo "ENDECA WORKBENCH IS ALREADY RUNNING"
fi
;;
stop)
if [ `ps -ef | grep "java" | grep "ToolsAndFrameworks" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA WORKBENCH IS NOT RUNNING"
else
echo "Stopping Endeca Workbench"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
fi
;;
restart)
if [ `ps -ef | grep "java" | grep "ToolsAndFrameworks" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA WORKBENCH IS NOT RUNNING"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
else
echo "Restarting Endeca Workbench"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
/bin/sleep 10
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME"
fi
;;
*)
echo "Usage: /sbin/service $SERVICE_NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
79 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
==============================
/etc/init.d/endeca_cas
==============================
#!/bin/sh
# style chkconfig
###
# chkconfig: 2345 95 85
# description: Script to start and stop Endeca Content Acquisition System
###
SCRIPT_USER=oracle_atg
SERVICE_NAME=endeca_cas
SCRIPT_PATH=/u01/app/oracle_atg/product/oracle_gs/endeca/CAS/11.1.0/bin
START_SCRIPT_NAME=cas-service.sh
STOP_SCRIPT_NAME=cas-service-shutdown.sh
case "$1" in
start)
if [ `ps -ef | grep "java" | grep "endeca.cas.root" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "Starting Endeca CAS"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME &"
else
echo "ENDECA CAS IS ALREADY RUNNING"
fi
;;
stop)
if [ `ps -ef | grep "java" | grep "endeca.cas.root" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA CAS IS NOT RUNNING"
else
echo "Stopping Endeca CAS"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME &"
fi
;;
restart)
if [ `ps -ef | grep "java" | grep "endeca.cas.root" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "ENDECA CAS IS NOT RUNNING"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME &"
else
echo "Restarting Endeca CAS"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME &"
/bin/sleep 10
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$START_SCRIPT_NAME &"
fi
;;
*)
echo "Usage: /sbin/service $SERVICE_NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
80 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
==============================
/etc/init.d/wls_nodemgr
==============================
#!/bin/sh
# style chkconfig
###
# chkconfig: 2345 95 85
# description: Script to start and stop WebLogic Node Manager
###
SCRIPT_USER=oracle_atg
SERVICE_NAME=wls_nodemgr
#SCRIPT_PATH=/u01/app/oracle_atg/product/fmw/wlserver_10.3/server/bin
SCRIPT_PATH=/u01/app/wls/atgDomain/atg/atg_domain/bin
START_SCRIPT_NAME=startNodeManager.sh
case "$1" in
start)
if [ `ps -ef | grep "java" | grep "weblogic.NodeManager" | grep -v grep |
awk '{print $2}' | wc -l` = 0 ]; then
echo "Starting WebLogic Node Manager"
/bin/su - $SCRIPT_USER -c "/usr/bin/nohup $SCRIPT_PATH/$START_SCRIPT_NAME
> $SCRIPT_PATH/../nodemanager/nm.log 2>&1 &"
else
echo "WEBLOGIC NODE MANAGER IS ALREADY RUNNING"
fi
;;
stop)
if [ `ps -ef | grep "java" | grep "weblogic.NodeManager" | grep -v grep |
awk '{print $2}' | wc -l` = 0 ]; then
echo "WEBLOGIC NODE MANAGER IS NOT RUNNING"
else
echo "Stopping WebLogic Node Manager"
/bin/su - $SCRIPT_USER -c "/bin/ps ux | awk '/weblogic.NodeManager/ &&
!/awk/ {print $2}' > /tmp/nm.pid"
/bin/su - $SCRIPT_USER -c "/bin/kill `/bin/cat /tmp/nm.pid`"
/bin/su - $SCRIPT_USER -c "/bin/rm /tmp/nm.pid"
fi
;;
restart)
if [ `ps -ef | grep "java" | grep "weblogic.NodeManager" | grep -v grep |
awk '{print $2}' | wc -l` = 0 ]; then
echo "WEBLOGIC NODE MANAGER IS NOT RUNNING"
/bin/su - $SCRIPT_USER -c "/usr/bin/nohup $SCRIPT_PATH/$START_SCRIPT_NAME
> $SCRIPT_PATH/../nodemanager/nm.log 2>&1 &"
else
echo "Restarting WebLogic Node Manager"
/bin/su - $SCRIPT_USER -c "/bin/ps ux | awk '/weblogic.NodeManager/ &&
!/awk/ {print $2}' > /tmp/nm.pid"
/bin/su - $SCRIPT_USER -c "/bin/kill `/bin/cat /tmp/nm.pid`"
/bin/su - $SCRIPT_USER -c "/bin/rm /tmp/nm.pid"
/bin/sleep 10
/bin/su - $SCRIPT_USER -c "/usr/bin/nohup $SCRIPT_PATH/$START_SCRIPT_NAME
> $SCRIPT_PATH/../nodemanager/nm.log 2>&1 &"
fi
;;
*)
echo "Usage: /sbin/service $SERVICE_NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
81 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
==============================
/etc/init.d/wls_admin
==============================
#!/bin/sh
# style chkconfig
###
# chkconfig: 2345 95 85
# description: Script to start and stop WebLogic Admin Console JVM
###
SCRIPT_USER=oracle_atg
SERVICE_NAME=wls_admin
SCRIPT_PATH=/u01/app/wls/atgDomain/atg/atg_domain/bin
START_SCRIPT_NAME=startWebLogic.sh
STOP_SCRIPT_NAME=stopWebLogic.sh
case "$1" in
start)
if [ `ps -ef | grep "java" | grep "AdminServer" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "Starting WebLogic Admin Console JVM"
/bin/su - $SCRIPT_USER -c "nohup $SCRIPT_PATH/$START_SCRIPT_NAME Dweblogic.security.SSL.ignoreHostnameVerification=true >
$SCRIPT_PATH/../servers/AdminServer/logs/AdminServer.out 2>&1 &"
else
echo "WEBLOGIC ADMIN CONSOLE JVM IS ALREADY RUNNING"
fi
;;
stop)
if [ `ps -ef | grep "java" | grep "AdminServer" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "WEBLOGIC ADMIN CONSOLE JVM IS NOT RUNNING"
else
echo "Stopping WebLogic Admin Console JVM"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
fi
;;
restart)
if [ `ps -ef | grep "java" | grep "AdminServer" | grep -v grep | awk
'{print $2}' | wc -l` = 0 ]; then
echo "WEBLOGIC ADMIN CONSOLE JVM IS NOT RUNNING"
/bin/su - $SCRIPT_USER -c "nohup $SCRIPT_PATH/$START_SCRIPT_NAME Dweblogic.security.SSL.ignoreHostnameVerification=true >
$SCRIPT_PATH/../servers/AdminServer/logs/AdminServer.out 2>&1 &"
else
echo "Restarting WebLogic Admin Console JVM"
/bin/su - $SCRIPT_USER -c "$SCRIPT_PATH/$STOP_SCRIPT_NAME"
/bin/sleep 10
/bin/su - $SCRIPT_USER -c "nohup $SCRIPT_PATH/$START_SCRIPT_NAME Dweblogic.security.SSL.ignoreHostnameVerification=true >
$SCRIPT_PATH/../servers/AdminServer/logs/AdminServer.out 2>&1 &"
fi
;;
*)
echo "Usage: /sbin/service $SERVICE_NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
82 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Monitoring and Troubleshooting
Exadata
See the MAA Enterprise Manager page at Enterprise Manager for best practice papers, especially these Exadata
related papers:
» Support Note 1110675.1 - Monitoring Exadata Database Machine using Enterprise Manager - contains updated
monitoring suggestions for each component.
» “Exadata Health and Resource Usage Monitoring“
» “Oracle Exadata Discovery Cookbook”
Exalogic
» See Monitoring the Topology Using Oracle Enterprise Manager Grid Control in the Oracle Fusion Middleware
Exalogic Enterprise Deployment Guide
View WebLogic Server Startup Logs
» cd $WL_DOMAIN_HOME/servers/<server-name>/logs
» Once there look at the following files:
<server-name>.out
<server-name>.log
Java Mission Control
The Java Mission Control tool suite includes tools to monitor, manage, profile, and eliminate memory leaks in your
Java application without introducing the performance overhead normally associated with tools of this type.
83 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
SDP Listener Setup Example
The basis for this procedure is the steps in 7.8.1 Enabling SDP on Database Nodes to configure the system. Note
that no reboot is necessary after configuring SDP.
The high level steps are:
1.
Enable SDP on the database nodes.
2.
Create an SDP Listener on the InfiniBand network.
3.
Configure the database to use the SDP listener.
4.
Add compute node InfiniBand hostnames to /etc/hosts.
5.
Enable SDP on the database nodes.
This needs to be done on each DB node.
1. Open the /etc/ofed/openib.conf file in a text editor, and add the following:
set: SDP_LOAD=yes
$ cat /etc/ofed/openib.conf
# Load IPoIB
IPOIB_LOAD=yes
# Set connected mode for IPoIB
SET_IPOIB_CM=yes
# Load RDS
RDS_LOAD=yes
# Load SDP module
SDP_LOAD=yes
# Load SRP module
SRP_LOAD=no
# Load iSER module
ISER_LOAD=no
# Should we modify the system mtrr registers? We may need to do this if you
# get messages from the ib_ipath driver saying that it couldn't enable
# write combining for the PIO buffs on the card.
FIXUP_MTRR_REGS=no
2. Open the /etc/ofed/libsdp.conf file in a text editor, and edit the file as follows:
3. To use both SDP and TCP, add the use both rule as follows:
use both server * *:*
use both client * *:*
4. Open /etc/modprobe.conf file in a text editor, and add the following setting:
options ib_sdp sdp_zcopy_thresh=0 recv_poll=0
5. Reload on all database nodes for the changes to take effect.
/sbin/modprobe ib_sdp
84 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
» Create an SDP Listener on the InfiniBand network.
1. Add unused InfiniBand hosts to each nodes /etc/hosts file for the IP’s to be used for the InfiniBand network.
#!/bin/sh
#
export TIME_STAMP=`date +%Y%m%d_%H%M%S`
cp /etc/hosts /etc/hosts.$TIME_STAMP
echo "## Entries for Infiniband Listener" >> /etc/hosts
echo "192.168.218.141 scam08db03-ibvip.us.oracle.com scam08db03-ibvip" >>
/etc/hosts
echo "192.168.218.142 scam08db04-ibvip.us.oracle.com scam08db04-ibvip" >>
/etc/hosts
2. Identify the InfiniBand network to use, and as the Grid Infrastructure software owner execute the following:
[oracle@scam08db03 ~]$ oifcfg iflist -p -n
eth0 10.133.218.0 PRIVATE 255.255.254.0
eth4 10.133.240.0 PRIVATE 255.255.254.0
bondib0 169.254.0.0 UNKNOWN 255.255.0.0
bondib0 192.168.218.0 PRIVATE 255.255.254.0
3. To use the bondib0 private network; on one of the database nodes, as the root user, create a
network resource for the InfiniBand network:
[root@scam08db03]# /u01/app/12.1.0.2/grid/bin/srvctl add network -k 2 -S
192.168.218.0/255.255.254.0/bondib0 -v
Successfully added Network.
4. Verify that the network is online.
[root@scam08db03]# /u01/app/12.1.0.2/grid/bin/crs_stat -u | grep -A3 network
NAME=ora.net1.network
TYPE=application
TARGET=ONLINE
STATE=ONLINE on scam08db03
NAME=ora.net2.network
TYPE=application
TARGET=ONLINE
STATE=ONLINE on scam08db03
[root@scam08db03]# /u01/app/12.1.0.2/grid/bin/srvctl config network -k 2
Network exists: 2/192.168.218.0/255.255.254.0/bondib0, type static
5. Add and start the VIPs for each node.
[root@scam0bdb03]# /u01/app/12.1.0.2/grid/bin/srvctl add vip -n scam08db03 -A
scam08db03-ibvip/255.255.254.0/bondib0 -k 2
[root@scam08db03]# /u01/app/12.1.0.2/grid/bin/srvctl add vip -n scam08db04 -A
scam08db04-ibvip/255.255.254.0/bondib0 -k 2
85 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
6. Start as the Grid owner:
[grid@scam08db03 ~]$ srvctl status vip -n scam08db03
VIP scam08db03-ibvip is enabled
VIP scam08db03-ibvip is running on node: scam08db03
VIP scam0803-vip is enabled
VIP scam0803-vip is running on node: scam08db03
[grid@scam08db03 ~]$ srvctl status vip -n scam08db04
VIP scam08db04-ibvip is enabled
VIP scam08db04-ibvip is running on node: scam08db04
VIP scam0804-vip is enabled
VIP scam0804-vip is running on node: scam08db04
7. Add the SDP listener as Grid owner and start it.
[grid@scam08db03]$ srvctl add listener -l LISTENER_IB -k 2 -p
TCP:1522,/SDP:1522
[grid@scam08db03]$ srvctl start listener -l LISTENER_IB
[grid@scam08db03]$ srvctl status listener -l LISTENER_IB
Listener LISTENER_IB is enabled
Listener LISTENER_IB is running on node(s): scam08db03,scam08db04
»
Configure the database to use the SDP listener.
1. Add appropriate tnsnames.ora entries ($ORACLE_HOME/network/admin/tnsnames.ora).
COMMAA_SCAM08 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08-scan3-scan7)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = comsvc)
)
)
COMMERCE_IB =
(DESCRIPTION =
(LOAD_BALANCE=on)
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08db03-ibvip)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08db04-ibvip)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = comsvc)
)
)
LISTENER_IBREMOTE=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=scam08db04ibvip.us.oracle.com)(PORT=1522))
)
LISTENER_IBLOCAL=
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08db03-ibvip)(PORT = 1522))
(ADDRESS = (PROTOCOL = SDP)(HOST = scam08db04-ibvip)(PORT = 1522))
))
LISTENER_IPLOCAL=
(DESCRIPTION=
86 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
(ADDRESS = (PROTOCOL = TCP)(HOST = scam0083-vip)(PORT = 1521))
))
LISTENER_IPREMOTE=
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = scam08-scan3)(PORT = 1521))
))
[root@scam08db03 scripts]# /u01/app/12.1.0.2/grid/bin/srvctl start listener -l
LISTENER_IB
[root@scam08db03 scripts]# /u01/app/12.1.0.2/grid/bin/srvctl status listener l LISTENER_IB
Listener LISTENER_IB is enabled
Listener LISTENER_IB is running on node(s): scam08db04,scam08db03
SQL> alter system set listener_networks='((NAME=network2)
(LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))',
'((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IP
REMOTE))' scope=both;
SQL> show parameter net
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------fileio_network_adapters string
listener_networks
string
((NAME=network2)
(LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LI
STENER=LISTENER_IBREMOTE)), ((NAME=network1)(LOCAL_LISTENER=
LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))
[grid@scam08db03 admin]$ lsnrctl status listener_sdp
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 24-NOV-2012 04:43:46
Copyright (c) 1991, 2011, Oracle.
All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SDP)))
STATUS of the LISTENER
---------------------------------------------------------------------------------------------------Alias
LISTENER_SDP
Version
TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date
23-NOV-2012 19:37:20
Uptime
0 days 9 hr. 6 min. 26 sec
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File /u01/app/12.1.0.2/grid/network/admin/listener.ora
Listener Log File
/u01/app/12.1.0.2/grid/log/diag/tnslsnr/scam02db07/listener_sdp/alert/log
.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SDP)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=sdp)(HOST=192.168.41.253)(PORT=1529)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.41.254)(PORT=1529)))
87 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Services Summary...
Service "comsvc" has 2 instance(s).
Instance "commaa1", status READY, has 1 handler(s) for this service...
Instance "commaa2", status READY, has 2 handler(s) for this service...
The command completed successfully
» Add compute node InfiniBand hostnames to /etc/hosts.
1. On each VM server that connects to the database you must add the InfiniBand hostnames to the /etc/hosts
file so that the connections to the SDP listener on the database nodes will work.
export TIME_STAMP=`date +%Y%m%d_%H%M%S`
cp /etc/hosts /etc/hosts.$TIME_STAMP
echo "## Entries for Infiniband Listener" >> /etc/hosts
echo "192.168.218.141 scam08db03-ibvip.us.oracle.com scam08db03-ibvip" >>
/etc/hosts
echo "192.168.218.142 scam08db04-ibvip.us.oracle.com scam08db04-ibvip" >>
/etc/hosts
88 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Terminology
Term
Description
Session Backup
The Commerce platform implements a session backup facility that
allows you to specify a set of session-scoped Nucleus components
and properties that should be backed up after every request. This
session backup mechanism saves these session-scoped
components and properties, and restores them when the application
server migrates a session to another server.
Virtualized Data Center (vDC)
A collection of physical compute nodes and storage that sit on the
Exalogic fabric. These physical resources are organized into a pool
that can then be accessed by self-service users. It offers an access
point through which to allocate and control the resources inside.
Virtual Server (vServer)
An entity that provides the outward interface of a stand-alone
operating system. This entity is a virtual machine with guest
operating system, which consumes CPU and memory resources. A
vServer can be a member of one or more vNets.
89 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Test Environment Details
The hardware and software details for the test environment are as follows:
Primary Site
Database
» Oracle Exadata Database Machine X3-2 quarter rack (see X3-2 Data Sheet for complete system details)
» 2 Compute Nodes
Names: scam08DB03, scam08DB04
IP Addresses (two high-order octets, xx.xxx, are used to protect IP addresses)
scam08db03
scam0803-vip
scam08db04
scam0804-vip
xxx.xxx.240.44
xxx.xxx.218.130
xxx.xxx.240.45
xxx.xxx.218.131
» SCAN details (see SINGLE CLIENT ACCESS NAME (SCAN) paper)
» $ srvctl config scan
Subnet
Subnet
SCAN 0
SCAN 1
SCAN 2
IPv4: xx.xxx.240.0/255.255.254.0/eth4, static
IPv6:
IPv4 VIP: xx.xxx.240.53
IPv4 VIP: xx.xxx.240.54
IPv4 VIP: xx.xxx.240.55
» $ host scam08-scan3
scam08-scan3.us.oracle.com has address 10.133.240.55
scam08-scan3.us.oracle.com has address 10.133.240.53
scam08-scan3.us.oracle.com has address 10.133.240.54
» Exadata software version 12.1.1.1.1
» Oracle Linux 2.6.39-400.128.17.el5uek x86_64
» Oracle Grid Infrastructure 12c Release 1 (12.1.0.2.0)
» Grid ORACLE_HOME 12.1.0.2.0 - /u01/app/12.1.0.2/grid
» ASM ORACLE_SID=+ASM1 and +ASM2 respectively
» Oracle Database 12c Release 1 (12.1.0.2.0)
» Storage: 3 Exadata Storage Servers (scam08cel05-07) with high capacity drives
Application Tier
» Exalogic X3-2 bare metal rack (see Oracle Exalogic Elastic Cloud X3-2 Data Sheet for complete details)
» Exalogic Version 2.0.4.0.0
» Virtualized Data Center (vDC) deployment
» 384 GB memory
» InfiniBand connectivity to the Exadata system
90 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Standby Site
Database
» Oracle Exadata Database Machine X4-2 quarter rack (see X4-2 Data Sheet for complete system details)
» 2 Compute Nodes
Names: scao01adm01, scao01adm02

IP Addresses (two high-order octets, xx.xxx, are used to protect IP addresses)
scao01adm01
scao0101-vip
scao01adm02
scao0102-vip
xx.xxx.17.45
xx.xxx.17.48
xx.xxx.17.46
xx.xxx.17.48
» SCAN details (see SINGLE CLIENT ACCESS NAME (SCAN) paper)
» $ srvctl config scan
SCAN
SCAN
SCAN
SCAN
name: scao01-scan1, Network: 1/xx.xxx.0.0/255.255.240.0/bondeth0
VIP name: scan1, IP: /scao01-scan1/xx.xxx.2.229
VIP name: scan2, IP: /scao01-scan1/xx.xxx.2.231
VIP name: scan3, IP: /scao01-scan1/xx.xxx.2.230
» Exadata software version 12.1.1.1
» Oracle Linux 2.6.39-400.128.17.el5uek x86_64
» Oracle Grid Infrastructure 12c Release 1 (12.1.0.2.0)
» Grid ORACLE_HOME 12.1.0.2.0 - /u01/app/12.1.0.2/grid
» ASM ORACLE_SID=+ASM1 and +ASM2 respectively
» Oracle Database 12c Release 1 (12.1.0.2.0)
» Storage: 3 Exadata Storage Servers (scao01cel01-03), with high performance drives
Application Tier
» Exalogic X3-2 quarter rack (see Oracle Exalogic Elastic Cloud X2-2 Data Sheet for details)
» Exalogic Version 2.0.4.0.0
» Virtualized Data Center (vDC) deployment
» 1048 GB memory
» 10 GigE connectivity to the Exadata system
91 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
References
1.
Oracle Maximum Availability Architecture Web site: http://www.otn.oracle.com/goto/maa
2.
Exalogic & Exadata: The Optimal Platform for Oracle Commerce
3.
MAA Best Practices for Oracle Exadata Database Machine (technical white paper)
4.
MOS 1617946.1 - Creating a Standby using RMAN Duplicate (RAC or Non-RAC)
5.
Oracle Exalogic Elastic Cloud Administrator's Guide, Release EL X2-2, X3-2, X4-2, and X5-2
6.
Oracle Fusion Middleware 12c High Availability Guide
7.
Oracle Fusion Middleware Disaster Recovery Guide
8.
Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server, 12c Release 1 (12.1.2)
9.
Oracle Commerce Platform Installation and Configuration Guide, Release 11.1
10. Oracle Commerce Reference Store Installation and Configuration Guide, Release 11.1
11. Oracle Commerce Reference Store Overview, Release 11.1
12. Oracle Commerce Guided Search Common Documentation, Release 1.1
13. Oracle Commerce Guided Search MDEX Engine, Release 6.5.1
14. Oracle Commerce Guided Search Content Acquisition System (CAS), Release 11.1
15. Oracle Commerce Experience Manager with Tools and Frameworks, Release 11.1
16. Oracle Commerce Guided Search Platform Services, Release 11.1
17. MOS 1908576.1 - Oracle Commerce Supported Environments Matrix
18. MOS 1461463.1 - Oracle Commerce Reference Architecture
19. Oracle WebLogic Server and Highly Available Oracle Databases: Integrated Maximum Availability Solutions
20. Oracle Fusion Middleware, Configuring GridLink Datasources for Oracle WebLogic Server, 12c Release 1
21. Oracle Fusion Middleware Disaster Recovery using Oracle's Sun ZFS Storage Appliance
22. Disaster Recovery for Oracle Exalogic Elastic Cloud with Oracle Exadata Database Machine
23. Automating Disaster Recovery using Oracle Site Guard
92 | ORACLE COMMERCE MAA – CONFIGURATION BEST PRACTICES
Oracle Corporation, World Headquarters
Worldwide Inquiries
500 Oracle Parkway
Phone: +1.650.506.7000
Redwood Shores, CA 94065, USA
Fax: +1.650.506.7200
CONNECT W ITH US
blogs.oracle.com/oracle
facebook.com/oracle
twitter.com/oracle
oracle.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0615
Oracle Commerce MAA - Configuration Best Practices
July 2015
Author: Chuck Boucher
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising