31 January 2011

Mule, the one with the source (MuleSource)

Only one output
One can not configure more than one outbound router for any service defined in mule. The first defined outbound service will be used to dispatch the message.
For example, the following code:


the chitchatter will never be invoked.
Service name
It seems that the service name in (config.xml or better saying hello-config.xml) does not have anything to do with the flow of the system and is only for the better understanding of user.

20 January 2011

PDE-PER001 Internal error

Using oracle form builder, I get this error from time to time when compiling a form. It is said to be because of several forms being open at the same time. So if you get this error, better to close some forms and they try again.
However, I have solved the problem another way. I have one of my forms open in pll format, which was causing the problem. I have closed that form, opened it in fmb or fmx format and then no errors.

Create .Jar file using JDeveloper

Unlike eclipse that you can easily export your project into a .Jar file, in JDeveloper, it is not that easy. In Eclipse you just need to use the export option on your project and then let it know where you want your .jar file to be. However, in JDeveloper the story is a little bit different. You need to create a new deployment environment (in project preferences panel) and then from there you should assign where you want your jar file. After doing this step, then you need to right click on your project, then click deploy and you’ll see “to jar file”, tada. Your jar file is ready.

19 January 2011

FRM-13008 can not Find Java Bean

If you get this error using Oracle Form Builder, you might want to try these ones (one of them, not both necessarily)
  • Set the forms_class_path in the registry and in the environment file and put the files in the right places.
  • If you get that error when invoking the Oracle-Forms Layout-Editor and you are sure the naming of the bean and also the FORMSxx_BUILDER_CLASSPATH variable is set correctly, then you should check with which java-version your bean is compiled. To display it correctly in version 10.x you need JDK 1.4.2_06 or lower. I don't know which version you need for version 11, please comment if you have any information about that.

14 January 2011

Oracle Commands (Oracle Application Server)

These are mostly oracle application server commands:
To start and stop the Management Service, the Management Agent, the Grid Control Console, the Application Server Control Console, and the Database Control, you use the Enterprise Manager command-line utility (emctl)
opmnctl is the supported tool for starting and stopping all components in an Oracle Application Server instance, with the exception of the Oracle Enterprise Manager 10g Application Server Control Console (Application Server Control Console). opmnctl provides a centralized way to control and monitor Oracle Application Server components from the command line. You can useopmnctl to execute control and monitoring commands across multiple Oracle Application Server instances simultaneously.
opmnctl also enables you to perform operations on a specified Oracle Application Server instance in a cluster or all instances in a cluster using an optional parameter called scope. You can also use the scope option to control an individual Oracle Application Server process.
In my observed usage of these commands, they have been used in the following ways:
  • emctl stop
  • emctl start
  • opmnctl status
  • opmnctl start
  • opmnctl startall
  • opmnctl stopall

13 January 2011

OID (Oracle Internet Directory)

Using Oracle Internet Directory you will find some profiles that you either need to change or use in order to synchronize from AD (Active Directory). Some of the default profiles are as follow:
  • ActiveImport—The profile for importing changes from Microsoft Active Directory to Oracle Internet Directory by using the DirSync approach
  • ActiveChgImp—The profile for importing changes from Microsoft Active Directory to Oracle Internet Directory by using the USN-Changed approach
  • ActiveExport—The profile for exporting changes from Oracle Internet Directory to Microsoft Active Directory
For synchronizing between AD and OID, you need to use Directory Integration and Provisioning Assistant. It can be done in two different way:
  • To invoke the Assistant as a command-line tool enter dipassistant.
  • To invoke the Assistant as a graphical interface tool, enter the following command:
    $ORACLE_HOME/bin/dipassistant -gui

Some mapping examples:
If you plan to synchronize only the cn=users container under dc=us,dc=mycompany,dc=com, then the domain mapping rule is: Distinguished Name Rules

This rule synchronizes every entry under cn=users,dc=us,dc=mycompany,dc=com. However, the type of object synchronized under this container is determined by the attribute-level mapping rules that follow the DN Mapping rules.

If you plan to synchronize the entry cn=groups,dc=us,dc=mycompany,dc=com under  cn=users,dc=us,dc=mycompany,dc=com then the domain mapping rule is as follows:
cn=groups,dc=us,dc=mycompany,dc=com: cn=users,dc=us,dc=mycompany,dc=com

Synchronizing Deletions from Microsoft Active Directory

Active Directory deletions can be synchronized with Oracle Internet Directory by querying for them in Active Directory. The way to do this depends on whether you are using the DirSync approach or the USN-Changed approach. (Section of http://download.oracle.com/docs/cd/B14099_19/idmanage.1012/b14085/odip_actdir003.htm)

7 January 2011

SID in Oracle (& JDBC)

There can be more than one Oracle instance on a single machine. In order to be able to distinguish these instances, Oracle uses a SID (System Identifier) which is a string. The SID can be set through the ORACLE_SID environment variable.
D:\oracle\product\10.1.0>set ORACLE_SID=ORA10
On Windows, each instance requires a Windows service. This service must first be created with oradim: D:\oracle\product\10.1.0\Db_1>oradim -new -sid %ORACLE_SID% -intpwd MYSECRETPASSWORD -startmode M

5 January 2011

ORA-12514 – Solution

I was trying to connect to database using the following URL : jdbc:oracle:thin:@//dbs03.~~~~.ca:1521/database_name_dev while JDBC needs an SID to connect to and not a database name or TSN name. Not sure how should you find it out what an SID is for a given database for now, but after changing it to jdbc:oracle:thin:@//dbs03.~~~~.ca:1521/db03, I could connect to database.


ORA-12514: TNS:listener does not currently know of service requested in connect descriptor.

I have encountered this problem using OC4J. I was trying to connect to a database using JDBC (via OC4J) while caught this error. I have searched a little bit online about this one and it seems it is a general error of oracle saying that there is something wrong with the listener or your database credentials. The connection was able to be established, but something was wrong in getting the data. It might be your credentials, might be any other thing.
If you want to know a little bit more in detail you might want to check the solutions to it at this page.
The listener received a request to establish a connection to a database or other service. The connect descriptor received by the listener specified a service name for a service (usually a database service) that either has not yet dynamically registered with the listener or has not been statically configured for the listener. This may be a temporary condition such as after the listener has started, but before the database instance has registered with the listener.
  • Wait a moment and try to connect a second time.
  • Check which services are currently known by the listener by executing: lsnrctl services
  • Check that the SERVICE_NAME parameter in the connect descriptor of the net service name used specifies a service known by the listener.
  • If an easy connect naming connect identifier was used, check that the service name specified is a service known by the listener.
  • Check for an event in the listener.log file.