Setup Oracle in Ubuntu

Step 1: Download Oracle Database Express Edition.

Step 2: Instructions before install Oracle

  1. Copy the downloaded file and paste it in home directory.
  2. Unzip using the command:
  3. Install required packages using the command:
    sudo apt-get install alien libaio1 unixodbc
  4. Enter into the Disk1 folder using command:
    cd Disk1/
  5. Convert RPM package format to DEB package format (that is used by Ubuntu) using the command:
    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
  6. Create the required chkconfig script using the command:
    sudo pico /sbin/chkconfig

    The pico text editor is started and the commands are shown at the bottom of the screen. Now copy and paste the following into the file and save:

    # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
    if [[ ! `tail -n1 $file | grep INIT` ]]; then
        echo >> $file
        echo '### BEGIN INIT INFO' >> $file
        echo '# Provides: OracleXE' >> $file
        echo '# Required-Start: $remote_fs $syslog' >> $file
        echo '# Required-Stop: $remote_fs $syslog' >> $file
        echo '# Default-Start: 2 3 4 5' >> $file
        echo '# Default-Stop: 0 1 6' >> $file
        echo '# Short-Description: Oracle 11g Express Edition' >> $file
        echo '### END INIT INFO' >> $file
    update-rc.d oracle-xe defaults 80 01
  7. Change the permission of the chkconfig file using the command:
    sudo chmod 755 /sbin/chkconfig  
  8. Set kernel parameters. Oracle 11gR2 XE requires additional kernel parameters which you need to set using the command:
    sudo pico /etc/sysctl.d/60-oracle.conf
  9. Copy the following into the file and save:
    # Oracle 11g XE kernel parameters 
    net.ipv4.ip_local_port_range=9000 65000  
    kernel.sem=250 32000 100 128 
  10. Verify the change using the command:
    sudo cat /etc/sysctl.d/60-oracle.conf 
  11. You should see what you entered earlier. Now load the kernel parameters:
    sudo service procps start
  12. Verify the new parameters are loaded using:
    sudo sysctl -q fs.file-max

    You should see the file-max value that you entered earlier.

  13. Set up /dev/shm mount point for Oracle. Create the following file using the command:
    sudo pico /etc/rc2.d/S01shm_load
  14. Copy the following into the file and save.
    case "$1" in
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
        echo error
        exit 1
  15. Change the permissions of the file using the command:
    sudo chmod 755 /etc/rc2.d/S01shm_load
  16. Now execute the following commands:
    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener

    Now, Reboot Your System

Step 3: Install Oracle

  1. Install the oracle DBMS using the command:
    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
  2. Configure Oracle using the command:
    sudo /etc/init.d/oracle-xe configure 
  3. Setup environment variables by editting your .bashrc file:
    pico ~/.bashrc
  4. Add the following lines to the end of the file:
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/`
    export ORACLE_BASE=/u01/app/oracle
    export PATH=$ORACLE_HOME/bin:$PATH
  5. Load the changes by executing your profile:
    . ~/.profile
  6. Start the Oracle 11gR2 XE:
    sudo service oracle-xe start
  7. Add user YOURUSERNAME to group dba using the command:
    sudo usermod -a -G dba YOURUSERNAME

Step 4: Using the Oracle XE Command Shell

  1. Start the Oracle XE 11gR2 server using the command:
    sudo service oracle-xe start
  2. Start command line shell as the system admin using the command:
    sqlplus sys as sysdba

    Enter the password that you gave while configuring Oracle earlier. You will now be placed in a SQL environment that only understands SQL commands.

  3. Create a regular user account in Oracle using the SQL command:
    create user USERNAME identified by PASSWORD;

    Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password. If you had error executing the above with a message about resetlogs, then execute the following SQL command and try again:

    alter database open resetlogs;
  4. Grant privileges to the user account using the SQL command:
    grant connect, resource to USERNAME;

    Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password.

  5. Exit the sys admin shell using the SQL command:
  6. Start the commandline shell as a regular user using the command:

    Now, you can run sql commands…

Cara Membuat Koneksi Database ORACLE di PHP

Hai ! Disini saya akan berbagi cara membuat koneksi database ORACLE di PHP dengan satu koneksi atau banyak koneksi dalam satu applikasi.

Sebelumnya saya akan memberi contoh membuat dengan satu koneksi.

//koneksi ke server

$connect = oci_connect(“user”,”password”,”host”) or die(“can’t connect server”);

Dengan koneksi diatas Anda bisa membuat CRUD (Create, Read, Update, Delete) dengan satu database, tapi jika Anda membuat satu aplikasi ada beberapa database berikut caranya :

//koneksi pertama

$connect1 = oci_connect(“user1”,”password1”,”host1”) or die(“can’t connect1”);

//koneksi kedua

$connect2 = oci_connect(“user2”,”password2”,”host3”) or die(“can’t connect2”);

Dengan banyak koneksi Anda juga bisa membuar CRUD (Create, Read, Update, Delete) dengan banyak database dalam satu Applikasi.

Get days of month (mendapatkan hari dalam satu bulan) on Oracle

Berikut kode untuk mengetahui hari dalam 1 bulan di Oracle :

SELECT TO_NUMBER (TO_CHAR (LAST_DAY (TO_DATE (’12-12-2012′, ‘dd-mm-yyyy’)), ‘dd’))

penjelasan :

dalam query sql saya sarankan untuk membaca dari dalam,

TO_DATE (’12-12-2012′, ‘dd-mm-yyyy’) untuk mengkonversi dari string ke date,

last_day() untuk mendapatkan tanggal terakhir dalam 1 bulan,

to_char() untuk mengkonversi dari date ke string,

to_number() untuk mengkonversi dari string ke number.


semoga bermanfaat.