root@rac12cnode1 oracle]# java -version java version "1.4.2" gij (GNU libgcj) version 4.1.2 20071124 (Red Hat 4.1.2-42) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [root@rac12cnode1 oracle]# java -version rpm -ivh jdk-8u144-linux-x64.rpm oracle@rac12cnode1 ~]$ java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) [oracle@rac12cnode1 ~]$ ******************************************************************************************************************** root@rac12cnode1 Desktop]# rpm -ivh jdk-8u144-linux-x64.rpm Preparing... ########################################### [100%] 1:jdk1.8.0_45 ########################################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar... plugin.jar... javaws.jar... deploy.jar... [root@rac12cnode1 Desktop]# ******************************************************************************************************************** vi Ambasa_AC_Test.java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import oracle.jdbc.replay.OracleDataSourceImpl; public class Ambasa_AC_Test { private void pressAnyKeyToContinue() { System.out.print("Press any key to continue..."); try { System.in.read(); } catch(Exception e) { e.printStackTrace(); } } public String getInstanceName(Connection conn) throws SQLException { PreparedStatement pstmt = conn.prepareStatement("select instance_name from v$instance"); String r=new String(); ResultSet result = pstmt.executeQuery(); while (result.next()){ r=result.getString("instance_name"); } pstmt.close(); return r; } public String getStatValue(Connection conn, String statName) throws SQLException { String q="select value "+ "from v$statname sn, v$sesstat ss "+ "where sn.statistic#=ss.statistic# "+ "and sn.name=? and "+ "ss.sid=SYS_CONTEXT('USERENV','SID')"; String r=null; PreparedStatement pstmt = conn.prepareStatement(q); pstmt.setString(1,statName); ResultSet rs = pstmt.executeQuery(); while (rs.next()){ r=rs.getString("value"); } pstmt.close(); return r; } private void doTx(Connection c, int numValue) throws SQLException { String updsql = "UPDATE ambasa_ac_test " + "SET C2='BBBBB' " + "WHERE C1=?"; PreparedStatement pstmt = null; /* Beginning of the callback * AutoCommit has to be disabled in the callback part. */ ((oracle.jdbc.replay.ReplayableConnection)c).beginRequest(); pstmt=c.prepareStatement(updsql); c.setAutoCommit(false); for (int i=0;i show parameter instance_name srvctl add service -d cdb -s crm -preferred cdb1 -available cdb2 -pdb CDB1_AMBASAPDB -j SHORT -B SERVICE_TIME -z 30 -w 10 -commit_outcome TRUE -m basic -e TRANSACTION -replay_init_time 1800 -retention 86400 -notification TRUE srvctl status service -d cdb -s crm -v srvctl start service -d cdb -s crm srvctl status service -d cdb -s crm -v srvctl relocate service -db -service {-oldinst -newinst srvctl relocate service -db cdb -service crm -oldinst cdb2 -newinst cdb1 srvctl status service -d cdb -s crm -v [oracle@racnode1 ambasa]$ sh Start_Ambasa_AC_Test.sh Instance Name = cdb1 Press any key to continue... Performing transactions Instance Name = cdb2 CPU used by this session = 937 session pga memory max = 2584888 [oracle@racnode1 ambasa]$