For some IT demands it’s necessary to replicate DDL’s (Data Definition) to maintain source/target equalized.
So Oracle delivery excellent feature DDL Replication since GG 10G.
In GG 12c the procedure turns simplified.
For some IT demands it’s necessary to replicate DDL’s (Data Definition) to maintain source/target equalized.
So Oracle delivery excellent feature DDL Replication since GG 10G.
In GG 12c the procedure turns simplified.
Hi Guys,
Today I bring you a script that I use to decrypt datasource passwords and also the password of AdminServer, which is very useful on a daily basis.
The script uses the encrypted password that is found within the datasource configuration files ($DOMAIN_HOME/config/jdbc/*.xml).
To decrypt the AdminServer password is used the encrypted password contained within the boot.properties ($DOMAIN_HOME/servers/AdminServer/security).
Below the script (decryptPassword.py):
#=======================================================================================
# This Script decrypt WebLogic passwords
#
# Usage:
# wlst decryptPassword.py
#
#
#=======================================================================================
import os
import weblogic.security.internal.SerializedSystemIni
import weblogic.security.internal.encryption.ClearOrEncryptedService
def decrypt(domainHomeName, encryptedPwd):
domainHomeAbsolutePath = os.path.abspath(domainHomeName)
encryptionService = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domainHomeAbsolutePath)
ces = weblogic.security.internal.encryption.ClearOrEncryptedService(encryptionService)
clear = ces.decrypt(encryptedPwd)
print "RESULT:" + clear
try:
if len(sys.argv) == 3:
decrypt(sys.argv[1], sys.argv[2])
else:
print "INVALID ARGUMENTS"
print " Usage: java weblogic.WLST decryptPassword.py "
print " Example:"
print " java weblogic.WLST decryptPassword.py D:/Oracle/Middleware/user_projects/domains/base_domain {AES}819R5h3JUS9fAcPmF58p9Wb3swTJxFl0t8NInD/ykkE="
except:
print "Unexpected error: ", sys.exc_info()[0]
dumpStack()
raise
Syntax using: java weblogic.WLST decryptPassword.py $DOMAIN_HOME encrypted_password
Download script here.
For example:
[oracle@app1osbgrepora1l scripts]$ source /oracle/domains/osb_domain/bin/setDomainEnv.sh
[oracle@app1osbgrepora1l osb_domain]$ java weblogic.WLST decryptPassword.py /oracle/domains/osb_domain/ {AES}WdbfYhD1EbVXmIe62hLftef4WtNPvyRDGc1/lsyQ014=
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
RESULT:OSBPASS123
That’s all for today
Jackson.
Hi Guys,
In the current days , even with the new ideals about agile metods and various attempts to put together infraestructure and development (DevOps) we still have so much codes that had the development with a great distance of the machines and S.O.
In this scenario, a lot of exceptions are found in the application logs, but the majority can’t be considerated the problem in fact.
This Post is related to an exception that occurs when a BusinessService in an Oracle Service Bus flux was configured to use a Result cache service, instead to call an external service,
why do we have an exception when calling the result cache? -Because the result cache was not configured on the Weblogic server.
com.bea.wli.sb.service.resultcache.ResultCacheException: An unexpected exception was thrown while using the result cache:
java.lang.ClassNotFoundException: com.bea.wli.sb.transports.jca.JCAResponseMetaDataImpl
Let’s configure weblogic result cache (Coherence)!
For this lab, will used two machines and two managed servers on a cluster.
First, let’s create two coherence servers, one for each machine:

For each coherence server we must set one lib and one module in the classpath, this box is found in “Start Server” page on the Coherence Server.

In the same page, we need to configure the box “Arguments:” to define coherence hosts and ports.
Attention to fill properly ‘localhost’: For the coherence server1 the localhost value is machine01, to the coherence server2 the value for localhost is machine2.

After settting up the two coherence server, let’s create a coherence cluster, the target must to be the managed servers or Weblogic server Cluster:

After setting up coherence cluster, set the new cluster on each coherence Server.

The last step is to configure coherece Server parameter on each managed server. In Box “Arguments”, which is on page “Start server” on each managed server.
Again, attention to fill properly ‘localhost’: For the Managed server1 the localhost value is machine01, to the Managed server2 the localhost value is machine2.

To validate the settings , start the coherence servers, and wait to RUNNING status. Celebrate with a good wine!

Dieison.
Some times it’s impossible to unregister Integrated Extract, however it need to exclude to avoid RMAN failures.
Follow below to hack GoldenGate registration:
SQL> select CAPTURE_NAME from dba_capture; CAPTURE_NAME ------------------------------ OGG$CAP_IE_CAPT
GGSCI (myhost as ggate@foodb) 13> unregister extract IE_CAPT database
ERROR OGG-08222 EXTRACT IE_CAPT must be registered with the database to perform this operation.
Try it:
SQL> select 'exec DBMS_CAPTURE_ADM.DROP_CAPTURE ('''||capture_name||''');' from dba_capture;
'EXECDBMS_CAPTURE_ADM.DROP_CAPTURE('''||CAPTURE_NAME||''');'
----------------------------------------------------------------------
exec DBMS_CAPTURE_ADM.DROP_CAPTURE ('OGG$CAP_IE_CAPT');
SQL> exec DBMS_CAPTURE_ADM.DROP_CAPTURE ('OGG$CAP_IE_CAPT');
PL/SQL procedure successfully completed.
Maiquel.
While creating an integrated extract in Goldengate 12C on a Puggable database 12C I came across the follow error, stating that the needed catalog name is mandatory and was not being informed.
ERROR OGG-02636 Oracle GoldenGate Capture for Oracle, ext1.prm: The TABLE specification ‘TABLE table_name’ for the source table ‘table_name’ does not include a catalog name. The database requires a catalog name.
There is two ways to solve this case: The first , besides less indicated, is to add the name of pluggable database (Catalog) before the owner name on the table maps, for example:
GGSCI (host1.net) 1> edit param ext1
–Tables
TABLE PDB_NAME.SCHEMA_OWNER.TABLE_NAME;
Not really enjoying this solution and after searching for long hours without any other result , our friend Maiquel DC indicated a parameter that identifies the catalog name for all tables in the extract ;
Add the following parameter in extract configuration file:
GGSCI (host1.net) 1> edit param ext1
–Parameters
SOURCECATALOG PDB_NAME
Thats all folks.
Dieison.
I had to troubleshoot a situation, after GoldenGate capture some DML and replicate that, Oracle database needs to run insert trigger making some business integration.
After to upgrade this enviroment from GG 11.1.1.1 to 12.1.2 and DB 11.2.0.3 to 12.1.0.2, was identified that GoldenGate wasn’t running this triggers
So, found interesting resolution on Oracle Docs:
SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERS
Valid for nonintegrated Replicat for Oracle. Controls whether or not triggers are fired during the Replicat session. Provides an alternative to manually disabling triggers. (Integrated Replicat does not require disabling of triggers on the target system.)
SUPPRESSTRIGGERS is the default and prevents triggers from firing on target objects that are configured for replication with Oracle GoldenGate. SUPPRESSTRIGGERS is valid for Oracle 11.2.0.2 and later 11gR2 versions. SUPPRESSTRIGGERS is not valid for 11gR1.
So, added ‘DBOPTIONS NOSUPPRESSTRIGGERS’ in the replicat parameter file.
Regards!
Maiquel.
Every time you need to execute ICommand, you must enter the user and password of the application server running Oracle BAM.
With the configuration below, it is no longer necessary to inform username and password every time.
In the file “BAMICommandConfig.xml” located in “$BEA_HOME/Oracle_SOA1/bam/config/”, add the lines below to the end of the file, before the tag “/BAMICommand”:
weblogic YOUR_PASSWORD
Restart the Oracle BAM.
Jackson.
GoldenGate 12c was running over NFS filesystem and had unexpected stop then when it try starts take OGG-00446.
ERROR OGG-00446 Oracle GoldenGate Capture for Oracle, e_crm01.prm: Unable to lock file “/mnt/ggate/dirchk/MYCRM.cpe” (error 11, Resource temporarily unavailable).
Here the solution:
Move the file /mnt/ggate/dirchk/MYCRM.cpe to
/mnt/ggate/dirchk/MYCRM.cpe_backup
Then copy /mnt/ggate/dirchk/MYCRM.cpe_backup to
/mnt/ggate/dirchk/MYCRM.cpe
I can’t understand why Oracle keeps this stupid bugs on 12c.
C’est La Vie!
Maiquel.
Hi everyone!
Recently i have faced a situation that made me find out a very nice and useful command that helped me a lot, and i hope it comes to help you guys as well, and it’s named:
nc
Situation: We have a replicated environment from one datacenter to another (Using Golden Gate), where the ETL happens. So basically is:
Datacenter 1 (root data)
Replicates to datacenter 2 (transforming the data)
that replicates to datacenter 3 (production itself)
In Datacenter level 2, we have a dataguard configured. So then came the question:
Calm down! There is a very nice workaround for this.
All you need to do is install the nc command as root (if it is not installed already):
yum install nc
Then execute it as follows, on the server you wanna test:
nc -l
example:
I wanna make sure that on the standby server the port 7809 (Golden Gate MANAGER port) is open. On the standby server you run:
nc -l 7809
Then, from a remote server, you are going to be able to connect through a simple telnet command:
telnet server.domain port
example:
telnet standby.company.com 7809
ON PRACTICE:
remoteserver {/home/oracle}: telnet standby.server 7809
Trying 192.168.0.10…
telnet: connect to address 192.168.0.10: Connection refused
standby.server {/home/oracle}: nc -l 7809
remoteserver {/home/oracle}: telnet standby.server 7809
Trying 192.168.0.10…
Connected to standby.server.
Escape character is ‘^]’.
Cheers!
Rafael.
Like a complement to yesterday post, about Oracle Database Licensing, today’s post is a little tip to Weblogic licensing evaluating, considering an auditing…
The restricted services can be checked on WebLogic Server Basic – Restricted Primary Services in WebLogic Server.
There is also a py script on Orace Support that can be executed via WLST on Admin Sever. Please take a look on: WebLogic Server Basic License Feature Usage Measurement Script (Doc ID 885587.1)
And it’s all by now! 🙂
Hugs!
Matheus.