Wednesday, December 21, 2016
OAM Coherence General SSLEngine problem - Certificates does not conform to algorithm constraints
This summary is not available. Please
click here to view the post.
Labels:
1.7.0.121,
1.7.0.95,
11.1.2.3.0,
3.7.1,
coherence,
jdk,
MD5,
MD5withRSA,
OAM,
Oracle Access Management
Monday, December 19, 2016
oracle identity management rcu with oracle 12c database
Certification matrix for Oracle Identity Management 11G R2 states 12C Database is supported. Concretely the document states that "The Oracle databases listed are supported on all configurations (including RAC) and platforms that the database team supports" and Oracle 12.1.0.1+ is in the list.
I create a 12C Database Container Database and i also create a pluggable Dastabase to host my OIM schemas. I have download the RCU 11.1.1.9 which is the version supported for OIM 11G R2. But when i run it and try it for create the repositories it said that my Database is not supported.
After searching on the web i realized that i haven't read the release notes for OIM. https://docs.oracle.com/cd/E52734_01/core/IDMRN/intro.htm#IDMRN389
The release notes states that: "Oracle Database 12c (12.1.0.x) with PDB is not Supported in 11g Release 2 (11.1.2.3)"
There is also a second minor problem with 12C support. We need to run xaview.sql from ORACLE_HOME/rdbms/admin directory to create XAVIEW objects because as the release document states "For Oracle Database 10g and 11g databases, these objects are automatically created by RCU if they are not already in place. Oracle Database 12c databases have a new XAVIEW structure that requires the explicit creation of these objects."
If this script haven't run before the RCU, the RCU will stop with the following error:
Error: Views/Synonyms required for XA transaction support are missing in this Database 12c.
These views/synonyms are required by the OIM Schema.
Action: Refer Oracle Database Administrator's Guide to install XA transaction recovery views/synonyms
using the script xaview.sql. Contact your DBA.
Running the script output:
As a conclusion the release notes for Oracle Products contains valuable information that some times documentation does not include and should not be ignored before installation.
I create a 12C Database Container Database and i also create a pluggable Dastabase to host my OIM schemas. I have download the RCU 11.1.1.9 which is the version supported for OIM 11G R2. But when i run it and try it for create the repositories it said that my Database is not supported.
After searching on the web i realized that i haven't read the release notes for OIM. https://docs.oracle.com/cd/E52734_01/core/IDMRN/intro.htm#IDMRN389
The release notes states that: "Oracle Database 12c (12.1.0.x) with PDB is not Supported in 11g Release 2 (11.1.2.3)"
There is also a second minor problem with 12C support. We need to run xaview.sql from ORACLE_HOME/rdbms/admin directory to create XAVIEW objects because as the release document states "For Oracle Database 10g and 11g databases, these objects are automatically created by RCU if they are not already in place. Oracle Database 12c databases have a new XAVIEW structure that requires the explicit creation of these objects."
If this script haven't run before the RCU, the RCU will stop with the following error:
Error: Views/Synonyms required for XA transaction support are missing in this Database 12c.
These views/synonyms are required by the OIM Schema.
Action: Refer Oracle Database Administrator's Guide to install XA transaction recovery views/synonyms
using the script xaview.sql. Contact your DBA.
Running the script output:
SQL> @xaview.sql DROP VIEW d$xatrans$ * ERROR at line 1: ORA-00942: table or view does not exist DROP VIEW d$pending_xatrans$ * ERROR at line 1: ORA-00942: table or view does not exist View created. Synonym created. View created. Synonym created.So after running the script the RCU generates the OIM schema successful.
As a conclusion the release notes for Oracle Products contains valuable information that some times documentation does not include and should not be ignored before installation.
Friday, December 16, 2016
weblogic installation unable to instantiate GUI, defaulting to console mode
$ java -jar wls1036_generic.jar
$ Unable to instantiate GUI, defaulting to console mode.
We can of course do the installation in console mode.
To fix the gui issue we need to install libXtst using yum
$ sudo yum install libXtst.x86_64 -y
After installation is running in GUI mode as expected.
Wednesday, December 14, 2016
sqlcl improves the way we work with oracle databases from terminal
sqlcl is a command line tool for connecting and work with an oracle database from terminal. Having autocomplete, easy formatting for terminal or for export in CSV, HTML and other formats, history of commands, edit of SQL commands in external editor, edit or correct multi line commands and many many more features.You can download it from Oracle website:
http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.html
For run it you need to extract it and put the sqlcl/bin in your system/user PATH for convenience.
the command to run it on linux is sql inside sqlcl/bin (You can use sql.bat or sql.exe on windows)
To connect with the database there are several ways. Personally i prefer to connect like this:
$ sql sys@//dbhostname:port/servicename as sysdba
The first thing to do is change the sqlformatl. You can do it using
SQL> set sqlformat ansiconsole
This will change the output of queries to be more easy to read from terminal. Try it with or without this setting and the improvements are obvious.
Using tab you can use the autocomplete for all kind of objects and commands. I found this very useful.
You can write multi line commands using the enter to separate the rows.
The nice thing is that after you wrote the command and execute it, you can edit it in vi (or the editor or your choice) from terminal without exit sqlcl and execute it again. To do this just do
SQL> edit
SQL>/
The / will execute the command you just edited with vi.
History is available using the history command
SQL> history
We can execute operating system commands using !
SQL>!ls
This will list the files from working directory
I am not a DBA and i occasionally connect and work with Databases but i loved this tool already because i enjoy working from terminal and sqlcl improves the way i work with databases from terminal. Give it a go i am sure you will enjoy with it.
You can find more information in this excellent blog:
http://krisrice.blogspot.com
And a getting started video here:
https://www.youtube.com/watch?v=HApdy-o525A
Friday, December 18, 2015
Oracle BPM Suite 12c Server using Ansible
This article describes a way to automate the installation of Oracle BPM 12.2.1 on Linux 7 server. I'm using Ansible to automate the configuration of Linux server and install the software. I'm also using Vagrant with Oracle Virtual Box to automatically provision a Linux 7 server and run the Ansible playbook on the virtual machine automatically for testing.
You can download the sample code in my GitHub account:
https://github.com/cvezalis/ansible.oracle.bpm.12c
The sample source code contains an Ansible playbook and configuration for Vagrant. Before you run it you need to download the supported JDK 8 installation file (for example jdk-8u66-linux-x64.tar.gz) and put it on roles/linux-jdk/files folder, Fusion Middleware Infrastructure 12.2.1 installation file and put it on roles/fmw-software/files folder and Oracle BPM suite 12.2.1 installation and put it on roles/soa-software/files from Oracle support.
You need to have an Oracle Database up and running. If you do not have one or you want to create one with Ansible you can use my playbook for Oracle Database. Links are at the end of this article.
For run it you need to have installed Ansible, Vagrant and Virtual Box and then just do:
$ vagrant up
Playbook is idempotent so you can run it again in the same server several times to have your server in the expected status.
You can configure your infrastructure parameters on infra-vars.yml. As minimum (if you do not use my ansible playbook for create the database) you need to configure the database connection settings.
You can also set custom passwords on secrets.yml file. For oracle Linux user you need to set the password encrypted. On a Linux system use the following to create the encrypted password:
You can download the sample code in my GitHub account:
https://github.com/cvezalis/ansible.oracle.bpm.12c
The sample source code contains an Ansible playbook and configuration for Vagrant. Before you run it you need to download the supported JDK 8 installation file (for example jdk-8u66-linux-x64.tar.gz) and put it on roles/linux-jdk/files folder, Fusion Middleware Infrastructure 12.2.1 installation file and put it on roles/fmw-software/files folder and Oracle BPM suite 12.2.1 installation and put it on roles/soa-software/files from Oracle support.
You need to have an Oracle Database up and running. If you do not have one or you want to create one with Ansible you can use my playbook for Oracle Database. Links are at the end of this article.
For run it you need to have installed Ansible, Vagrant and Virtual Box and then just do:
$ vagrant up
Playbook is idempotent so you can run it again in the same server several times to have your server in the expected status.
You can configure your infrastructure parameters on infra-vars.yml. As minimum (if you do not use my ansible playbook for create the database) you need to configure the database connection settings.
You can also set custom passwords on secrets.yml file. For oracle Linux user you need to set the password encrypted. On a Linux system use the following to create the encrypted password:
mkpasswd --method=SHA-512
Monday, December 14, 2015
jdeveloper 12c generic installer windows 10 integrated weblogic cannot create domain
If you try to install JDeveloper 12c (12.2.1 or 12.1.3) on Windows 10 using the generic installer you will not manage to create a new WebLogic domain because jython libraries that integrated weblogic have cannot recognize the operating system. The same problem can happen if you install on Windows 7 the 12c JDeveloper using the generic installer, then upgrade the operating system to Windows 10 and need to recreate the domain. This is also happening in SOA Suite and Business Process Management Suite quick start for Developers installation.
A quick solution for this is to use the Windows installer and not the generic one. For SOA/BPM quick start JDeveloper installation you need to patch the juthon-modules.jar to create the SOA domain.
If you still want to use the generic installer (for example to use a newer version of JDK) you can extract the jython-modules.jar at C:\Oracle\Middleware\Oracle_Home\wlserver\common\wlst\modules and edit javashell.py inside Lib. Find _osTypeMap and add the string 'Windows 10'.
Then you need to package jar file again using jar -cvf jython-modules.jar *.* inside jython-modules extracted folder.
You can optionally download the patched jython-modules.jar for windows 10 here:
http://www.link.net.gr/files/jython-modules.jar
A quick solution for this is to use the Windows installer and not the generic one. For SOA/BPM quick start JDeveloper installation you need to patch the juthon-modules.jar to create the SOA domain.
If you still want to use the generic installer (for example to use a newer version of JDK) you can extract the jython-modules.jar at C:\Oracle\Middleware\Oracle_Home\wlserver\common\wlst\modules and edit javashell.py inside Lib. Find _osTypeMap and add the string 'Windows 10'.
_osTypeMap = ( ( "nt", ( 'nt', 'Windows NT', 'Windows NT 4.0', 'WindowsNT', 'Windows 2000', 'Windows 2003', 'Windows XP', 'Windows CE', 'Windows Vista', 'Windows Server 2008', 'Windows 7', 'Windows 8', 'Windows Server 2012', 'Windows 10' )), ( "dos", ( 'dos', 'Windows 95', 'Windows 98', 'Windows ME' )), ( "mac", ( 'mac', 'MacOS', 'Darwin' )), ( "None", ( 'None', )), )
Then you need to package jar file again using jar -cvf jython-modules.jar *.* inside jython-modules extracted folder.
You can optionally download the patched jython-modules.jar for windows 10 here:
http://www.link.net.gr/files/jython-modules.jar
Labels:
12.1.3,
12.2.1,
12c,
create,
domain,
generic,
installer,
Integrated,
JDeveloper,
jython,
jython-modules,
Weblogic
Friday, November 27, 2015
WebLogic JDBC performance analyzing using Java Flight Recorder
Java Flight Recorder (JFR) is a tool for monitoring Java applications. JFR is integrated into Java Virtual Machine (JVM). It have less than 1% overhead and is capable for monitoring production systems without affecting performance.
To enable JFR with the JVM that will run a WebLogic server we need to start the WebLogic using 2 flags:
The JVM default JMX port is 7091. We can change it and set it for example to 7093 using:
This is useful when monitoring multiple managed servers on the same machine. Each managed server can have it's own port.
For development servers we can also disable authentication and SSL using the following (this is an insecure setting, do not use it with production machines):
We can then open the Java Mission control using the jmc command from JAVA_HOME bin folder
To enable JFR with the JVM that will run a WebLogic server we need to start the WebLogic using 2 flags:
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
The JVM default JMX port is 7091. We can change it and set it for example to 7093 using:
-Dcom.sun.management.jmxremote.port=7093
This is useful when monitoring multiple managed servers on the same machine. Each managed server can have it's own port.
For development servers we can also disable authentication and SSL using the following (this is an insecure setting, do not use it with production machines):
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
We can then open the Java Mission control using the jmc command from JAVA_HOME bin folder
$ cd $JAVA_HOME/bin
$ ./jmc
Wednesday, November 18, 2015
Proxy Oracle Maven repository using Artifactory
Oracle have a Maven repository that hosts artifacts and maven plugins for ADF, WebLogic, SOA composites, Toplink, Coherence and other technologies. Repository is at http://maven.oracle.com. A short registration is required for use the repository. You need to login with your OTN account, read and accept the terms of use. Documentation for how to use the repository with JDeveloper and Hudson/Jenkins Continuous Integration (CI) you can find here:
http://docs.oracle.com/middleware/1213/core/MAVEN/introduction.htm#MAVEN8755
As many developers and CI servers use the repository you download from Oracle repository the same artifacts several times. This is a slow process and can bottleneck the external lines. A more effective solution is to use a repository manager and proxy the Oracle Maven repository on the internal network. This way you will download only 1 time each artifact from Oracle Maven repository and speed up the build process on developer machine or on Continuous Integration Servers.
http://docs.oracle.com/middleware/1213/core/MAVEN/introduction.htm#MAVEN8755
As many developers and CI servers use the repository you download from Oracle repository the same artifacts several times. This is a slow process and can bottleneck the external lines. A more effective solution is to use a repository manager and proxy the Oracle Maven repository on the internal network. This way you will download only 1 time each artifact from Oracle Maven repository and speed up the build process on developer machine or on Continuous Integration Servers.
Monday, November 9, 2015
Using Ansible to install WebLogic 12c R2 (12.2.1) and Fusion Middleware Infastructure on Oracle Linux 7.1
Before a couple of days Oracle release WebLogic 12c R2 (12.2.1). There are a lot of cool features like Java EE 7 support and Multitenancy Support for WebLogic domains. Installation of WebLogic server along with ADF runtime (Fusion Middleware Infrastructure) are not hard but requires a lot of parameters to be configured and a significant time when you need to repeat the actions in multiple virtual machines. Also Infrastructure updates are time consuming. Ansible is a great tool that help us automate this things. This article will demonstrate the creation of a WebLogic domain using Ansible. You can download code in my git hub account:
Fusion Middleware needs a Database repository for storing the required schemas. If you don't have a database already you can use an Ansible playbook i have create to install an Oracle Database 12c automatically. You can download the code here:
Fusion Middleware needs a Database repository for storing the required schemas. If you don't have a database already you can use an Ansible playbook i have create to install an Oracle Database 12c automatically. You can download the code here:
https://github.com/cvezalis/oracledb-ansible
You can configure your infrastructure variables in infa-vars.yml
You can test the playbook from the extracted folder using:
vagrant up
a virtual machine will be ready in a few minutes with no other interaction. You can access the Enterprise Manager at http://192.168.56.14:7001/em if you use the default settings.
You can configure your infrastructure variables in infa-vars.yml
You can test the playbook from the extracted folder using:
vagrant up
a virtual machine will be ready in a few minutes with no other interaction. You can access the Enterprise Manager at http://192.168.56.14:7001/em if you use the default settings.
Thursday, October 22, 2015
Using Ansible to configure an Oracle Linux 7.1 server with Oracle 12c R1 Enterprise Edition Database
Ansible is the leading tool for configuring software and various parameters on servers. It does not require agents and other software installed on nodes like other popular tools (puppet or chef). Its also modular and already have hundreds of modules that help us configure our servers in several ways. In this article I will show how we can install an Oracle 12c R1 Database (12.1.0.2) in Oracle Linux 7.1 server. The same Ansible playbook can be used with Redhat Enterprise Linux 7.1 and CentOS 7.1. You can download the code in Github at:
https://github.com/cvezalis/oracledb-ansible
Source code also includes configuration for provision automatically a virtual machine using Vagrant.
Download from Oracle support the Oracle installation files:
- linuxamd64_12102_database_1of2.zip
- linuxamd64_12102_database_1of2.zip
and put them to folder roles/oracle-install/files inside checkout folder
After go into checkout folder and execute :
$ vagrant up
After a few minutes a virtual machine with Oracle Database will be ready for you without any further configuration. You can access the Enterprise Manager Express using sys/sysdba and “oracle” as password.
https://oradb3.private:5500/em
You can shutdown the virtual machine using:
$ vagrant halt
You can destroy it (delete from disk) using:
$ vagrant destroy
more details at my article here : http://www.nodalpoint.com/devops-ansible-oracle-database-oraclelinux-7-vagrant/
Tuesday, October 13, 2015
Deploy JAX-RS 2.0 REST Webservice on WebLogic 12c
Creating a JAX-RS 2.0 (REST) style web service and deploy it to a WebLogic 12.1.3 server deployment will fail. The reference implementation of JAX-RS 2.0 library is missing from server. WebLogic 12c comes with Jersey 2.5.1 jar installed on filesystem but not deployed by default on WebLogic.
Wednesday, October 7, 2015
VMware workstation 11 on Ubuntu 15.04 high cpu utilization solved
VMware 11 workstation on Ubuntu with windows guests freezes from time to time with very high cpu utilization. The process vmware-vmx and khugepaged get 100% cpu time for a couple of seconds. The khugepaged is the process that configures the transparent hugepages. When i disable the transparent hugepages windows guest run without freezes again. To disable it on every operating system start up i put in /etc/rc.local
Labels:
100%,
11,
15.04,
cpu,
freezes,
high,
hugepages,
transparent,
ubuntu,
utilization,
vmware,
workstation
Friday, October 2, 2015
Ansible playbook to provision a WebLogic Fusion Middleware Domain on RHEL/CentOS 7
I created a playbook for Ansible to provision a WebLogic server, install Fusion Middleware Infrastructure software and create a Domain with a managed server in a RHEL 7 Linux System. (CentOS 7 and Oracle Linux 7 are supported too)
Monday, September 14, 2015
Error accesing EM 12c Cloud Control weak ephemeral Diffie-Hellman public key
After Chrome and Firefox browsers get some security updates i cannot access the Oracle Enterprise Manager 12c console. The browser (Chrome 45.0.2454.85 on Ubuntu 15.04) reported that:
Server has a weak ephemeral Diffie-Hellman public key
ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY
Server has a weak ephemeral Diffie-Hellman public key
ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY
Labels:
12c,
Cloud Control,
console,
Enterprise,
key,
Manager,
oracle,
public,
security
Tuesday, September 1, 2015
Improve performance on virtualized RHEL 7 server using tuned
Tuned is a dynamic adaptive system tuning daemon that tunes system settings dynamically depending on usage. You can configure tuned in RHEL 6/7 systems (and CentOS, Oracle Linux etc) using tuned-adm witch is the commandline tool for switching between different tuning profiles.
Saturday, August 29, 2015
Installing EPEL Repository to Oracle Linux 7
Extra Packages for Enterprise Linux (or EPEL) is a Repository that holds high quality extra packages that Red Hat Enterprise Linux (RHEL) base distributions (like Oracle Linux 7) does not include. Installation of EPEL in Oracle Linux 7 is simple. We need to download and install an rpm package that EPEL provides.
Saturday, May 23, 2015
jdeveloper 12c (12.1.3) is crashing on ubuntu 15.04 with unity
Jdeveloper 12c and especially version 12.1.3 is crashing when used with unity on Ubuntu 15.04. The problem is JAyatana a package for integrate swing applications with unity that is installed by default in 15.04.
Friday, May 8, 2015
Btrfs disable copy on write (cow) for virtual machine disks
In files like vmware virtual disks (vmdk files) is common to disable copy on write (cow) on btrfs filesystems to avoid system slow response due to heavy I/O on disks.
You can verify if a file have disabled the copy on write using lsattr command. If you see a C on the file attributes the copy on write is disabled.
You can verify if a file have disabled the copy on write using lsattr command. If you see a C on the file attributes the copy on write is disabled.
Monday, April 6, 2015
StopWatch with annotations to Profile methods using Spring Aspect Oriented Programming (AOP)
The following example is a way to measure the execution time for methods using Spring Aspect Oriented Programming (AOP).
First we need to create a new annotation:
First we need to create a new annotation:
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Inherited
@Documented
public @interface ProfileExecution
{
}
Friday, October 24, 2014
Linux convert ext4 to btrfs
Btrfs filesystem tool btrfs-convert can be used for convert ext2/ext3/ext4 to btrfs. Because of the copy on write algorithms of Btrfs it is posible to rollback the conversion even after you start using the converted file system.
The following is sample commands and output from an ext4 conversion to Btrfs in openSUSE 13.1. openSUSE will have Btrfs as the default filesystem from 13.2 which is going to be released next month. Go to openSUSE website for more information:
The following is sample commands and output from an ext4 conversion to Btrfs in openSUSE 13.1. openSUSE will have Btrfs as the default filesystem from 13.2 which is going to be released next month. Go to openSUSE website for more information:
chris-linux:/home/chris # btrfs-convert /dev/sdb2 /dev/sdb2 is mounted chris-linux:/home/chris # umount /dev/sdb2 chris-linux:/home/chris # btrfs-convert /dev/sdb2 creating btrfs metadata. creating ext2fs image file. cleaning up system chunk. conversion complete.
Subscribe to:
Posts (Atom)





