====== Oracle XE on Debian (Sarge) ====== original article taken from: [[http://itu.dk/people/atrakic//archives/2006/02/08/Oracle/index.html|here]] see also: [[http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html|Installing Oracle Database 10g Release 2 on Linux x86]] This document describes guide for installing Oracle 10g Express Edition (formaly known as HTML DB) on Debian based machines. ===== About OracleXE ===== Oracle Database Express Edition (XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that's free to develop, deploy, and distribute; fast to download; and simple to administer. ===== Basic requirements ===== Debian based host (32 bit) with minimum 4GB of free space for oracle data + 500Mb for package installation. - Min. 1Gb of ram. 1) As always start up by adding additional lines to sources.list and update package list: # echo "deb http://oss.oracle.com/debian/ unstable main non-free" >> /etc/apt/sources.list # apt-get update 2) Installation now may begin with installing following 2 packages from freshly updated list: # apt-get install oracle-xe-client # apt-get install oracle-xe 3) Installation is now completed. Please notice runtime kernel parametar changes: ''`cat /etc/sysctl.conf`''. Proceed further with configuration - just accept defaults - and enter password for ''SYS'' and ''SYSTEM'' accounts: # sh /etc/init.d/oracle-sh configure That's it. Oracle listener should be up and running on socket 1521: ''`lsof -n -i TCP:1521`'', with web configuration console attached to your loopback device `''firefox http://127.0.0.1:8080/apex''` - this is a default installation. ===== Oracle XE hints ===== * You can always preview/edit your current Oracle-XE settings with: ''`vim /etc/default/oracle-xe`''. * Since installation of previously installed packages is rather heavily space demanding, delete them from apt cache: # apt-get clean ==== Disable/enable Oracle XE Service ==== Your Debian based system should meet the minimum requirements for swap space, otherwise installastion would fail. Based on the amount of physical memory available on the system, Oracle Database 10g Express Edition requires 1006 MB of swap space (YMMV). In order to overcome this issue you can allways extend your partitions with like Knoppix ot Gparted. The alterntative way without reboot can be done by issuing: # dd if=/dev/zero of=/myswapfile bs=1M count=1000 # mkswap /myswapfile # swapon /myswapfile You can always disable Oracle XE startup in boot time with (no ''update-rc.d'' method here ;-) ): # chmod -x /etc/init.d/oracle-xe The alernative way to the same is to edit ''/etc/default/oracle-xe'' and change: #ORACLE_DBENABLED=true ORACLE_DBENABLED=false ==== Web console management ==== If you have installed OracleXE database on remote *nix server, you can easily setup a ssh tunnel in order to gain access to a web administration console (since web console is bound to loopback device and therefore unavailable outside to the network): $ ssh oracle-xe-server -L 8081:localhost:8080 While keeping this proces running (or keep it on background via `screen` or `nohup`), you may now login to Oracle XE web administrations console on your local computer: http://localhost:8081/apex/. Please notice that your ssh daemon on your local computer should allow TCP forwarding: AllowTcpForwarding yes in your sshd configuration file. ==== SQL Remote connection management ==== By default OracleXe installation does not allow sql network connections to your XE database. To enable it, logon to web management console and enable "Remote connections": "Administration->enable "Available from local server and remote clients"-> press "Apply Changes". The same procedure can also be done from the commandline: $ sqlplus -S system/password@//localhost/XE < @this_script.sql SQL> exit; Alternatively use web managment console to add new Oracle XE users accordingly. ==== Delete user ==== For deleting a sql users from OracleXE use web management console or execute following commands from the commandline: # su - oracle oracle@server:~$ sqlplus / as sys SQL> drop user myuser cascade; SQL>exit;