Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Author: Dawid Mocek
- # WLST Jython script which purges Oracle Service Bus Reports Data logs
- import weblogic.security.internal.SerializedSystemIni
- import weblogic.security.internal.encryption.ClearOrEncryptedService
- import sys
- from time import sleep
- from com.ziclix.python.sql import zxJDBC
- try:
- # print 'Connecting'
- connect(AdminServerUser, AdminServerPassword, AdminServerURL)
- # print 'Location change to domainConfig'
- domainConfig()
- rootdir = cmo.getRootDirectory()
- securedir = rootdir + '/security'
- # print 'Reading datasource parameters'
- # Get datasource params
- cd('/JDBCSystemResources/'+DataSourceName+'/JDBCResource/'+DataSourceName+'/JDBCDriverParams/'+DataSourceName)
- dburl=cmo.getUrl()
- dbdriver=cmo.getDriverName()
- dbpass_encrypted=cmo.getPasswordEncrypted()
- # Decrypt db password
- es=weblogic.security.internal.SerializedSystemIni.getEncryptionService(securedir)
- ces=weblogic.security.internal.encryption.ClearOrEncryptedService(es)
- dbpass=str(ces.decrypt("".join(map(chr, dbpass_encrypted))))
- # Get db username
- cd('/JDBCSystemResources/'+DataSourceName+'/JDBCResource/'+DataSourceName+'/JDBCDriverParams/'+DataSourceName+'/Properties/'+DataSourceName+'/Properties/user')
- dbuser = cmo.getValue()
- # print 'Connection string: ', dburl
- # print 'Driver: ', dbdriver
- # print 'User: ', dbuser
- # print 'Pass: ******'
- # print 'Location change to domainRuntime'
- domainRuntime()
- cd('AppRuntimeStateRuntime/AppRuntimeStateRuntime')
- jmsrp_state=cmo.getCurrentState(JMSRP, ManagedServerName)
- # Be sure that jms rp is running
- if jmsrp_state == 'STATE_ACTIVE':
- # print 'Stopping application'
- stopApplication(JMSRP, block='true')
- sleep(10)
- # Be sure again - jms rp must be stopped
- jmsrp_state=cmo.getCurrentState(JMSRP, ManagedServerName)
- if jmsrp_state == 'STATE_PREPARED':
- # print 'Purging error queue'
- cd('/ServerRuntimes/'+ManagedServerName+'/JMSRuntime/'+ManagedServerName+'.jms/JMSServers/wlsbJMSServer/Destinations/jmsResources!wli.reporting.jmsprovider_error.queue')
- cmo.deleteMessages('')
- con = zxJDBC.connect(dburl, dbuser, dbpass, dbdriver)
- c = con.cursor()
- c.execute("ALTER TABLE WLI_QS_REPORT_DATA DISABLE CONSTRAINT FK_WLI_QS_REPORT_DATA")
- c.execute("TRUNCATE TABLE WLI_QS_REPORT_DATA")
- c.execute("TRUNCATE TABLE WLI_QS_REPORT_ATTRIBUTE")
- c.execute("ALTER TABLE WLI_QS_REPORT_DATA ENABLE CONSTRAINT FK_WLI_QS_REPORT_DATA")
- c.close()
- con.close()
- # print 'Starting application'
- startApplication(JMSRP, block='true')
- serverConfig()
- #print 'Disconnecting'
- disconnect()
- except Exception, e:
- sys.exit('FAILED: ' + str(e))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement