Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Migrate none-CDB to PDB in Dataguard - oracle 19.6- HOW TO?

HesipesiMar 24 2020 — edited Mar 24 2020

Hi,

I have a primary database and 2 standby databases , oracle 19.6 .

My plan is to migrate the whole environment to PDB databases , and still in Dataguard setup.

What do you think is the best way to do that ?

Should I migrate the primary database and then build the standbys from scratch(e,g with rman duplicate)?  Or is it possible to migrate all the 3 databases and keep the gatagurd configuration even after the migration?!

Thanks for your comments!

/Hesipesi

Comments

877753
Hi,
I'm pasting few lines in which you can fetch the diagnosticManager and then do the appropriate Mbean calls for creating Diagnostic profiles via java code.

import com.bea.wlevs.management.diagnostic.DiagnosticProfileMBean;
import com.bea.wlevs.management.diagnostic.DiagnosticProfileManagerMBean;
import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
import java.lang.management.ManagementFactory;
import javax.management.ObjectName;
import javax.management.ObjectInstance;
import org.w3c.dom.Node;


MBeanServerConnection conn=ManagementFactory.getPlatformMBeanServer();
private static DiagnosticProfileManagerMBean diagNosticManager=null;
private static Node updateprofileNode=null;
ObjectName diagProfileObjectName;
try {
diagProfileObjectName = ObjectName.getInstance("com.bea.wlevs:Name=ProfileManager,Type=ProfileManager,Application=diagnostic");
} catch (Exception e) {
throw new RuntimeException(e);
}
diagNosticManager=(DiagnosticProfileManagerMBean) MBeanServerInvocationHandler.newProxyInstance(conn, diagProfileObjectName, DiagnosticProfileManagerMBean.class, false);

Now we can use diagNosticManager.createDiagnosticProfile(String profileName, ObjectName[] probeNames) method to create the diagnostic profile.

Thanks
Patha
938644
Tnanks,
I tried this. now I'm getting :

javax.management.InstanceNotFoundException: com.bea.wlevs:Name=ProfileManager,Type=ProfileManager,Application=diagnostic
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)

What did I do wrong?
938644
Hi again ..

I think I know where is the problem but I don't know how to solve it:
i use these lines to make a connection :
..

env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "com.bea.core.jmx.remote.provider");
System.setProperty("mx4j.remote.resolver.pkgs", "com.bea.core.jmx.remote.resolver");
connector = JMXConnectorFactory.newJMXConnector(serviceUrl, env);

connector.connect(env);
connection = connector.getMBeanServerConnection();
....
and you suggested to use this :

connection=ManagementFactory.getPlatformMBeanServer();


I think there is inconsistency in the typs of the connection mbean.
Neither of of them works fine:

The first one works fine for getting troughput , averageLatency and so on ,
BUT, when i try to terminate ( unregister from the mbean server ),
and than re-connect again, the numbers i'm getting are wrong.

In the second type (ManagementFactory.getPlatformMBeanServer() ) , when I want to use as a profile creator ( like in the 'Visualizer' tool - which works fine )
I don't know which of the types to use.

What is your recommendation to to use : for temintinag the probeRuntime, and for making a profile .

again, neither of them works all the way!
Plz help.
1 - 3

Post Details

Added on Mar 24 2020
1 comment
1,450 views