Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Sunday, 17 May 2020

SOA Database Purge Steps

SOA 12c database purge scripts

To check the purgeable instances,

select state, count(*) from cube_instance group by state;


Purge script,


execute soa.delete_instances ( to_timestamp('01-01-2016','MM-DD-YYYY'),to_timestamp('01-01-2020','MM-DD-YYYY'),20000,60,to_timestamp('01-03-2020','MM-DD-YYYY'),true,null,null,null,true);


Link for reference - 
https://docs.oracle.com/cloud/latest/soa121300/SOAAG/GUID-DBCFFB8F-3B67-4000-9F48-404D16D503DD.htm#SOAAG98235

Parameter details starting from (
1. min_creation_date Minimum creation period in days for the business flow instances.
2. max_creation_date Maximum creation period in days for the business flow instances.
3. batch_size Maximum number of flows selected for deletion. The default value is 20000.
4. max_runtime Expiration time at which the purge script exits the loop
5. retention_period  Specify the time interval in days for which to retain data.
6. purge_partitioned_component  You can invoke the same purge to delete partitioned data.
7. 7. Null,null, null   are place holder.
8. ignore_state hen set to true, purges all open and closed instances within the specified date range

Execute the script using SOAINFRA.

Note- Without null parameter we were getting the place holder issue. 

Wednesday, 8 April 2020

Restore SOA Production Database on Development environment


Use the below steps to backup and restore SOA schema from production to development environment. Please make sure you have a proper backup to restore if anything goes wrong. 
  1. stop the server 
  2. Take a backup of the existing database and restore it from backup
  3. Take a backup of the SOA domain. 
  4. Change the schema username of SOA instance as per prod schema.
  5. change the password as per dev schema.
  6. Execute the below steps,


Go to below and execute the wlst.sh

< MiddlewareHome>/oracle_common/bin/wlst.sh


modifyBootStrapCredential(jpsConfigFile='./jps-config.xml', username='PREFIX_OPSS', password='PASSWORD')


modifyBootStrapCredential(jpsConfigFile="/user_project/config/fmwconfig/jps-config.xml",username="PREFIX_OPSS",password="PASSWORD")


Reference -

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=423438322466796&id=2427426.1&displayIndex=4&_afrWindowMode=0&_adf.ctrl-state=g9djwouzc_769#FIX

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=418949888681059&id=2267189.1&displayIndex=7&_afrWindowMode=0&_adf.ctrl-state=g9djwouzc_159#SYMPTOM


Friday, 2 December 2016

WebCenter Portal Security Layers

WebCenter Portal Security Layers




WebCenter Portal applications share the same four bottom security layers (WebCenter Security Framework, ADF Security, OPSS, and WebLogic Server Security). The application layer will, of course, depend on the implementation.

1. WebCenter Portal Application Security
WebCenter Portal provides support for:
Application role management and privilege mapping
Self-registration
Portal-level security management
External application credential management

2. WebCenter Portal Security Framework
The WebCenter Portal Security Framework provides support for:
Service Security Extension Framework (a common permission-based and role-mapping based model for specifying the security model for services)
Permission-based authorization
Role-mapping based authorization
External applications and credential mapping
3. ADF Security
ADF Security provides support for:
Page authorization
Task flow authorization
Secure connection management
Credential mapping APIs
Logout invocation, including logout from SSO-enabled configurations with Oracle Access Manager and Oracle SSO
Secured login URL for ADF Security-based applications (the adfAuthentication servlet)

5. Oracle Platform Security Services (OPSS)
OPSS provides support for:
Anonymous-role
Authenticated-role
Identity store, policy store, and credential store
Identity Management Services
Oracle Web Service Manager Security
Authorization
Policy and Credential Lifecycle

6. WebLogic Server Security
WebLogic Server Security provides support for:
WebLogic authenticators
Identity asserters
J2EE container security
SSL


Friday, 10 June 2016

Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMUserAuthenticationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'

Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMUserAuthenticationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'
        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
        at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        ... 9 more
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMUserAuthenticationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'
        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
        at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
        at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)

Solution:-
We faced this issue after extend a domain for process-space-extension.
After importing the portal template. Trying to login on webcenter portal then we got this error on portal server.

Configure the Policy store for both soadomain and webcenter domain.


For SOA domain while creating a datasource enable a "Emulate TwoPhase Commit".Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMUserAuthenticationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'
        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
        at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        ... 9 more
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMUserAuthenticationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'
        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
        at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
        at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)

Solution:-
We faced this issue after extend a domain for process-space-extension.
After importing the portal template. Trying to login on webcenter portal then we got this error on portal server.

Configure the Policy store for both soadomain and webcenter domain.

For SOA domain while creating a datasource for policy store enable a "Emulate TwoPhase Commit".

javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit

aused by: javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = OPSSDS
        at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.java:83)
        at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1343)
        at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:513)
        at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:392)
        at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2633)
        at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2281)
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:307)


Solution:
This error occured when we configured database policy store with SOA domain.

Enable the "Emulate TwoPhase Commit" instead of "one-Phase commit" for the OPSS data source

Thursday, 9 June 2016

nested exception is: java.rmi.ConnectException: This RJVM has already been shutdown

INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
<Jun 9, 2016 11:52:48 PM PDT> <Warning> <oracle.jbo.uicli.mom.JUApplicationDefImpl> <BEA-000000> <The definition at oracle.webcenter.webcenterapp.bindings.DataBindings.cpx, uses a pagemap pattern match that hides other cpx files.>
oracle.bpm.client.common.BPMServiceClientException: javax.naming.NamingException [Root exception is java.rmi.UnexpectedException: Marshalling: ; nested exception is:
        java.rmi.ConnectException: This RJVM has already been shutdown 4882431698259664306S:admvhn:[7001,-1,-1,-1,-1,-1,-1]:soadomain:AdminServer]
        at oracle.bpm.client.BPMServiceClientFactory.getBPMUserAuthenticationService(BPMServiceClientFactory.java:250)
        at oracle.bpm.web.security.AuthenticationUtil.initBPMContextInSession(AuthenticationUtil.java:117)
        at oracle.bpm.web.security.LoginBean.initSSOSession(LoginBean.java:105)
        at oracle.bpm.web.security.AuthenticationUtil.authenticateModule(AuthenticationUtil.java:206)
        at oracle.bpm.web.security.faces.AuthenticationPhaseListener.authenticate(AuthenticationPhaseListener.java:73)
        at oracle.bpm.web.security.faces.AuthenticationPhaseListener.authenticatePhase(AuthenticationPhaseListener.java:63)
        at oracle.bpm.web.security.faces.AuthenticationPhaseListener.afterPhase(AuthenticationPhaseListener.java:54)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:520)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     
Solution:

Check the DNS names resolution and AdminServer listen address.
If you have enabled a cross domain trust then AdminServer listen address should not be same

Repalace the Listen Address with IP address for Admin and SOA server.