I had been running WebLogic Server 11g (i.e. 10.3.6) as a
development server for a while. Recently I decided to upgrade to WebLogic
Server 12c (i.e.12.1.2). The installation was easy. I however had a user domain
with a couple of dozen services (e.g. data sources). It is quite tedious to
manually recreate them in a newly created domain.
At first I just tried to copy the whole domain directory in
WebLogic Server 11g to WebLogic Server 12c. It does not work. Then I tried to
create a domain template from my WebLogic Server 11g and create a new domain in
WebLogic Server 12c using that domain template. It does not work either. It
turned out that domain templates from WebLogic Servers of different versions are
not compatible. The way to make the “domain upgrade” is to use the WebLogic
WLST tool. In short, I “exported” the server configuration from my WebLogic
Server 11g, and “imported” it into my WebLogic Server 12c. The detail follows.
All examples in this article are pertinent for Windows under
the following assumptions:
- The home directory of the existing domain for
WebLogic Server 11g is “C:\wl11gdomains\mydomain”
- The home directory of the new domain for
WebLogic Server 12c is “C:\wl12cdomains\mydomain”
- Environment variable WL_HOME denotes the home
directory of WebLogic Server 11g
- Environment variable MW_HOME denotes the home
directory of WebLogic Server 12c
“Export” Server
Configuration Using WLST
Open a command window, run command:
%WL_HOME%\common\bin\wlst.cmd
It starts WLST, with prompt:
wls:/offline>
In the WLST shell, run command:
configToScript(‘C:/wl11gdomains/mydomain’, 'C:/wlconfig/config.py', 'true', 'C:/wlconfig/config.properties', 'false')
It will create 4 files under C:\wlconfig
- config.py
- config.properties
- c2sConfigemdevdomain
- c2sSecretemdevdomain
In order to import the configuration into WebLogic 12c, we
need to overwrite part of the generated config.properties file (assuming the
default weblogic username and password are “weblogic” and “password”):
- Replace “userName=” with “userName=weblogic”
- Replace “userName=” with “userName=weblogic”
- Replace “passWord=” with “passWord=password”
- Replace “domainDir=WLSTConfigToScriptDomain”
with “domainDir=mydomain”
If you want, you can also change the following properties:
Install WebLogic
Server 12c
Donwload the installation zip file, unzip it. The home
directory will be referred to as %MW_HOME%
If not yet, install JDK 7, and set environment variable
JAVA_HOME to the home of JDK 7. (WebLogic 12c required Java 7). Also set
environment variable MW_HOME to the home of WebLogic 12c.
Open a command window. In the %MW_HOME%, run command:
configure.cmd
The installation is done.
Create New WebLogic
Server 12c Domain
Open a command window. cd into C:\wl12cdomains. Run command:
%MW_HOME%\wlserver\server\bin\setWLSEnv.cmd
Then run command:
%MW_HOME%\oracle_common\common\bin\config.cmd
It starts the Configuration Wizard. Use the Configuration
Wizard to create a new domain and server with exactly the same name for the
domain (and server) as the existing ones.
The domain is created.
At this point, you may want to add some third-party jar
files (eg. JDBC drivers) to C:\wl12cdomains\mydomain\lib. You may also want to
modify C:\wl12cdomains\mydomain\bin\setDomainEnv.cmd and
C:\wl12cdomains\mydomain\bin\startWebLogic.cmd to set various Java options
(e.g. debug port)
“Import” Server Configuration Using WLST
Start the server with this domain. (It is optional, but
better)
Open a command window. cd into directory C:\wl12cdomains. Run
command:
%MW_HOME%\wlserver\server\bin\setWLSEnv.cmd
Then run command:
%MW_HOME%\oracle_common\common\bin\wlst.cmd
It starts WLST, with prompt:
wls:/offline>
In the WLST shell, run command:
execfile('C:/wlconfig/config.py')
It will configure the new domain with all configuration of
the old domain.
Appendix - Use Configuration Wizard to Create a New Domain