Drug preguntas

Oracle: ORA-27102 When Creating a New DB

Programming Comments Off

I personnally hate the task of configuring Oracle as a DBMS. Unfortunately, many business use it since it has proven it’s stability, performance and scalability. Oracle is a good DBMS except for the IT guys who need to install it.

We were given a clean Sparc Sunblade 1000 running a brand new install of Solaris 10. The only requirement for our project was to configure Oracle to run a dedicated database server. Since we’ll eventually need high performance and probably load-balance this database between several servers, Oracle seemed the perfect solution.

First and second attempts to install an Oracle 11g database failed miserably with an out of memory error. The DBMS install would succeed but we were unable to create a new database.
Browsing the web lead to this blog post explaining our bug :

Solaris 10/Oracle: Fixing ORA-27102: out of memory Error

We had to increase the available memory for the privileged user section using this command:

prctl -n project.max-shm-memory -r -v 10G -i project 3

Good luck

Video streaming using Jingle library

Programming 15 Comments »

We’ve implemented the Smack API provided by Ignite Realtime which integrates a Java version of Google’s C++ Jingle library. The audio sessions over XMPP works almost out of the box using Jingle. As we needed video integration in one of our university project, we considered developing additional classes to support video format. After some nice hours of coding, we now have successfully accomplished this duty and we can post the source here with informations on how to get video working.

So here are the general steps to take to get a video session established between two parties. Please note that the way the libraries do not currently allow a simultaneous video and audio session. We might work on that in the next days.

1 – You need a XMPP server. Unfortunately, there are some differences in the Jingle integration of Google and Ignite Realtime. While we are able to connect to the GTalk server using Smack API, it is not possible to directly use Smack’s Jingle to create audio-video sessions with other GTalk users. The best thing is to use Ignitime Realtime’s Openfire application.

2 – Create users and add manage their rosters. Once the server is up, add several users via the web administration interface (http://localhost:9090). Then, the best thing is to use a XMPP client such as Ignite Realtime’s Spark application and add the users you want to be able to communicate with.

3 – Open Eclipse and get projects to compile. While this can seem quite easy for some people, it can be very painful for others. You will need 2 projects in your Eclipse workspace: the Jingle project available from a subdirectory in the Smack library and the project provided here. Both projects need a reference to smack.jar and smackx.jar. Jingle will also need to have all the jars in it’s /lib and /build/merge.

4 – Install JMF (link), open the JMF registry editor application once the installation complete. You will then have to hit detect devices to have any usb webcam found. Unfortunately for mac users, it seems like the iSight camera doesn’t get detected by the application. We have used a regular USB logitech camera for our successful tests.

5 – You will need two computers, one to act as a client and one as a server. The AVManager class has can be run has an application. The server waits for an XMPP Jingle session request while the client immediately tries to establish a connection with the first available contact on it’s roster.

Download files:
Video Jinglle Library
replace your /jingle/source/org/jivesoftware/smackx/jingle/mediaimpl/jmf
from the Smack’s 3.0.4+ source code.

CommClient project

Guide to compiling LibJingle 0.4.0

Programming, Projects 1 Comment »

Yesterday I had to find a way to compile libjingle for an eventual use in our university project. So here are a few of the requirements needed to build libjingle and then execute the few examples included in the library. The distro used to compile libjingle is Ubuntu Feisty 7.04.
First you need to install these libraries from the Synaptic Package Manager :

  • build-essential
  • libspeex-dev
  • libspeex1
  • libexpat1
  • libexpat1-dev
  • libssl-dev
  • openssl

There are probably a few other libraries missing from the list above, you only need

  • Speex 1.1.11.1
  • oRTP 0.7.1 (warning only this version is proven to work)
  • gcc 4.0.x (I had infinite issues with gcc 3.4.0 and 4.1.0), refer to this post for a post that gives directions on how to install a version of gcc not included in Synpatic. One example is e.g: ./configure –target=i686-pc-linux-gnu-gcc –enable-languages=c,c++
  • iLBC is included in this file, extract the included ilbc-rfc3951.tar.gz, configure it, make it, install it
  • LibJingle 0.4.0

LibJingle can be configure using the parameter –with-ilbc=/usr/local/
You should then be able to make libjingle.
Finally, you can execute the application call in the subfolder talk/examples/call which allows to make a vocal connection with other google talk users.

Good Luck ! If you are running in any problem, make sure you have the listed versions of the files written above.