Search This Blog

Oracle Fusion Middleware Administration Course

Oracle Fusion Middleware Administration Course
OFMW Admin Course

Sunday, August 19, 2018

Configuration of GEOCODE Datasource for Oracle MapViewer

Couple of years back in the same blog I've posted how we can configure a generic datasource in WebLogic domain using WLST. Working in today's trend continuous deployment(CD) automation development I've worked on similar task that is GEOCODE datasource configuration. GEOCODE datasource is the basic configuration requirement for running Oracle MapViewer.

In Oracle Utilities Mobile Workforce Management runs on WebLogic server.

Pre-requisites
Oracle native WebLogic domain configured and the Admin Server must be up and running because our automation will be going to work online WLST.

How does it works?

In the Oracle Utilities products have a file ENVIRON.INI, that will having all connection related parameters available such as: ADMIN HOST, ADMIN PORT, UserStoreConfig files userConfigFile
userKeyFile path. By reading this file as properties we can get connected to the  running WebLogic Admin Server.

We will need the GEOCODE data source parameters, this can be passed as properties file ConfigGEOCODE.properties. To create a data source we need the following :
  1. Name of the datasoruce as GEOCODE
  2. JNDI Name as NAVTEQ_UTIL
  3. Select the database as Oracle
Connection pool configuration in the JDBC System Resource
  1. Enter your database hostname
  2. Database port
  3. Database name
  4. Database user credentials
  5. Test Connection Pool
###################****##############****################################################
# Generic Datasource configuration script applicable on any Operating Environments (Unix, Windows)
# ScriptName    : ConfigGEOCODE.py
# Properties    : ConfigGEOCODE.properties
# Updated by    : Pavan Devarakonda
# Date creation : 9th Aug 2018
###############     Connecting to Start     ################################################
def connectAdmin() :
 try:
  import os
  splebase=os.environ['SPLEBASE']
  loadProperties(splebase+"/etc/ENVIRON.INI")
  userconfig = splebase+"/etc/.wlsuserconfig"
  userkey = splebase+"/etc/.wlsuserkey"
  adminurl="t3s://"+WEB_ADMIN_SERVER+":"+WLS_ADMIN_PORT
  printline('Connectiong to adminurl: '+adminurl)
  connect(userConfigFile=userconfig,userKeyFile=userkey, url=adminurl)
  printline('Successfully connected')
 except:
  printline('Unable to find admin server...')
  exit()

#================== Printing line =====================================
def printline(msg):
        print 45*'#'
        print msg
        print 45*'#'

################### Configuring Connection Pool #############################
def connPool(DSnam) :
 DRVPARM='/JDBCSystemResources/'+DSnam+'/JDBCResource/'+DSnam+'/JDBCDriverParams/'+DSnam
 cd(DRVPARM)
 set('Url',DBURL)
 set('DriverName',DBDRV)
 cmo.setPassword('XXXXXX')

 cd(DRVPARM+'/Properties/'+DSnam)
 cmo.createProperty('user')
 cd(DRVPARM+'/Properties/'+DSnam+'/Properties/user')
 set('Value',DBUSR)

############         Creating Data source    ###############################
def createDS() :
 DSnam = DSName
 printline('Creating datasource :'+DSnam)
 cmo.createJDBCSystemResource(DSnam)
 RESOURCE='/JDBCSystemResources/'+DSnam+'/JDBCResource/'+DSnam
 cd(RESOURCE)
 set('Name',DSnam)
 #Setting JNDI name
 cd(RESOURCE+'/JDBCDataSourceParams/'+DSnam)
 print RESOURCE+'/JDBCDataSourceParams/'+DSnam
 set('JNDINames',jarray.array([String(JNDIname)], String))

 connPool(DSnam)

 #Set Connection Pool specific parameters
 cd(RESOURCE+'/JDBCConnectionPoolParams/'+DSnam)
 cmo.setTestConnectionsOnReserve(true)
 cmo.setTestTableName('SQL SELECT 1 FROM DUAL\r\n\r\n')
 #cmo.setTestTableName('SQL ISVALID')
 cmo.setConnectionReserveTimeoutSeconds(25)
 cmo.setMaxCapacity(15)
 cmo.setConnectionReserveTimeoutSeconds(10)
 cmo.setTestFrequencySeconds(120)

 cd(RESOURCE+'/JDBCDataSourceParams/'+DSnam)
 cmo.setGlobalTransactionsProtocol('TwoPhaseCommit')

 # targets the GEOCODE DataSource to utilities_cluster1
 cd('/SystemResources/'+DSnam)
 set('Targets',jarray.array([ObjectName('com.bea:Name='+clstrNam+',Type=Cluster')], ObjectName))

###########################  Main Module   #####################################
if __name__== "main":
 connectAdmin()
 edit()
 startEdit()
 # Create a new JDBC resource)
 try:
  cd('/')
  createDS()

 except BeanAlreadyExistsException:
  printline('Error: GEOCODE Datasource already exist')
  cancelEdit('y'); exit()
 save()
 activate()
 printline('Successfully created GEOCODE datasource')
 disconnect()

The properties file look like this:
#=========================================
DBURL=jdbc:oracle:thin:@mydb.server.com:1521:M1DBMAPS
DBDRV=oracle.jdbc.xa.client.OracleXADataSource
DBPASS=XXXXXXX
DBUSR=NAVTEQ_UTIL
DSName=GEOCODE
JNDIname=NAVTEQ_UTIL
clstrNam=utilities_cluster1
The script execution goes as follows:

Now prepare for execution of WLST script, setup the environment and also define proper SSL related options to include in JAVA_OPTIONS which will be considered when wlst.sh execution time.

wlst -loadProperties ConfigGEOCODE.properties ConfigGEOCODE.py

This script execution was tested successful and ready to use. You need to enter properties file corresponding to your database values.


13 comments:

  1. Nice information Keep Sharing and Posting new things Thanks prestige willow tree

    ReplyDelete
  2. "Income Generating Investment Events
    Building Locations: In the past decade various multinational companies have built buildings in India for their outsourcing projects which have succeeded in the creation of offices that meet global standards. India has a large and increasing inventory of industrial space. Over time high-quality facilities are required to become the official standard for all businesses. Are you going on holiday overseas this winter with your family? If yes, then you may be considering or thinking to change "
    Must Visit Here
    near me property dealer
    property dealers in gurgaon
    webtechdelhi
    property dealer in noida extension

    property dealers near me
    list of book publishers in delhi ncr
    foreign exchange dealers in delhi

    ReplyDelete
  3. Much obliged for the valuable data. It's progressively useful and straightforward. Please help me suggest best webdesigning in noida and best bookmarking submission list and best classified list
    Contact us :- https://www.login4ites.com
    https://myseokhazana.com/



    ReplyDelete
  4. Having doubts regarding AsiaMe Review? Check AsiaMe Review reviews on wizzlove.com

    ReplyDelete
  5. Wow! this is Amazing! Do you know your hidden name meaning ? Click here to find your hidden name meaning

    ReplyDelete

  6. I was scrolling the internet like every day, there I found this article which is related to my interest. The way you covered the knowledge about the subject and the Bungalows in chunabhatti bhopal was worth to read, it undoubtedly cleared my vision and thoughts towards B Commercial Shops on ayodhya bypass road. Your writing skills and the way you portrayed the examples are very impressive. The knowledge about flats in chunabhatti bhopal is well covered. Thank you for putting this highly informative article on the internet which is clearing the vision about top builders in Bhopal and who are making an impact in the real estate sector by building such amazing townships.

    ReplyDelete
  7. Good Post. I like your blog. Thanks for Sharing
    Python Course in Noida

    ReplyDelete
  8. Hi! Are you having tough time writing an excel projects for your college or university courses? Feel free to seek help from expert custom writing service! https://essaysprofessor.com/questionnaire-writing-service.html

    ReplyDelete

Please write your comment here

Popular Posts

Oracle WebLogic Administration Course

Oracle WebLogic Administration Course
WebLogic Training