I had
to run some tests on a WebCenter Portal application deployed in a cluster. I've got a development VM with WebCenter PS4 (this also works on PS5) and I was trying
to figure out how could I easily add a new managed
server to my single-node domain, and make it a cluster. Creating the machine and cluster are a piece of cake, you can do it pretty quick through WLS Console. Now, you'd guess that using the clone option on WLS Console would do the magic of cloning an existing instance, right? Well, it does, but all you get is an "empty" managed server: with no target libraries.
It was a good surprise
to find that WebCenter provides a way of cloning an existing WebCenter Portal managed
server through a simple WLST command: cloneWebCenterManagedServer
This is a screenshot of my starting point. I want
to clone WC_CustomPortal managed server:
These are the steps
to clone my WC_CustomPortal managed server:
1. In the command line, invoke WLST. It should be on <ORACLE_HOME_for_component>/common/bin/wlst.sh. In my case, it is ./product/Middleware/WebCenterPortal/common/bin/wlst.sh
2. Connect
to the Admin Server: connect ('<wls_admin_username>','<password>','t3://<server>:<port>')
3. Execute the following command:
wls:/webcenter/serverConfig> cloneWebCenterManagedServer(baseManagedServer='WC_CustomPortal', newManagedServer='WC_CustomPortal2', newManagedServerPort=8893, verbose=1)
I've turned on verbose output on purpose so I could see what the script was doing while executing. This is the output:
[...]
Creating the Managed
Server "WC_CustomPortal2"
MBean type
Server with name WC_CustomPortal2 has been created successfully.
Targeting the library "oracle.bi.adf.model.slib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.bi.adf.view.slib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.bi.adf.webcenter.slib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.wsm.seedpolicies#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.jsp.next#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.dconfig-infra#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "orai18n-adf#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.adf.dconfigbeans#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.pwdgen#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.jrf.system.filter"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "adf.oracle.domain#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "adf.oracle.businesseditor#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.adf.management#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "adf.oracle.domain.webapp#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "jsf#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "jstl#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "UIX#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "ohw-rcf#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "ohw-uix#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.adf.desktopintegration.model#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.adf.desktopintegration#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.bi.jbips#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.bi.composer#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.skin#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.composer#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.framework.core#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.sdp.client#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.soa.workflow.wc#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.soa.worklist.webapp#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.ucm.ridc.app-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "p13n-app-lib-base#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "p13n-core-web-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "jaxrs-framework-web-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "jersey-web-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "wcps-util-app-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "wcps-services-client-web-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "content-app-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "content-web-lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.framework#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.framework.view#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.forum.dependency#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.jive.dependency#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.spaces.fwk#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the library "oracle.webcenter.activitygraph.lib#
[email protected]"
to the Managed
Server "WC_CustomPortal2"
Targeting the datasource "mds-CustomPortalDS"
to the Managed
Server "WC_CustomPortal2"
Targeting the datasource "WebCenter-CustomPortalDS"
to the Managed
Server "WC_CustomPortal2"
Targeting the datasource "Activities-CustomPortalDS"
to the Managed
Server "WC_CustomPortal2"
Targeting the application "wsil-wls"
to the Managed
Server "WC_CustomPortal2"
Targeting the application "DMS Application#11.1.1.1.0"
to the Managed
Server "WC_CustomPortal2"
Targeting the application "ViewHandlerOverride_webapp1#V2.0"
to the Managed
Server "WC_CustomPortal2"
Targeting the application "ViewHandlerOverride_application1#V2.0"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "JRF Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "JPS Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "ODL-Startup"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "Audit Loader Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "AWT Application Context Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "JMX Framework Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "Web Services Startup Class"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "JOC-Startup"
to the Managed
Server "WC_CustomPortal2"
Targeting the startup class "DMS-Startup"
to the Managed
Server "WC_CustomPortal2"
Targeting the shutdown class "JOC-Shutdown"
to the Managed
Server "WC_CustomPortal2"
Targeting the shutdown class "DMSShutdown"
to the Managed
Server "WC_CustomPortal2"
Validating changes ...
Validated the changes successfully
[...]
And this is the newly created WC_CustomPortal2 managed
server showing up on Weblogic console:
Here is the full reference to WebCenter Portal Custom WLST Commands.
Special thanks
to Todd Vender for pointing this one out! :-)