Work in progress
Oracle
Oracle is a non-free database, you can find an old Debian repository provided by Oracle with outdated packages. Here you will find information regarding the installation of Oracle on Debian systems.
Oracle Debian repository: deb http://oss.oracle.com/debian unstable main non-free
Please, keep in mind I'm no Oracle specialist, this is a minimalist guideline to help people suffer less. My idea is also document my steps, there are probably different (and better) ways to implement such solutions and I'll be more than happy to add such info (or to see somebody else add it). My real intention is to make a tutorial more Debian way. I really hope this helps.
Preparations
- One of the hard things if you're a first time adventurer in Oracle (or if there's a long time since of you last mess with it), is to know how the system works in terms of partitions and file system space.
- Both 10g and 11g needs a few special things:
At least 15GiB space for the zip files containing the database, installer and documentation, I put those in /srv/oracle
At least XXGiB space for the installed binaries and resources, that should appear under /opt
Some free space for the databases, they usually go under /u01, /u02 and sequentially. Oracle documentation says you can choose whatever letter you want and a fixed width number, it could be /z0001.
- For some bizarre reason Oracle asked 15GiB of swap space.
Although there is a graphical installer you don't need to install X Window System on the server. You can use X11Forwarding or use the Oracle Silent Install.
Oracle 11g on Squeeze (amd64)
aptitude install build-essential ia32-libs libaio1 libstdc++5 xauth
- Creating users and groups
For me, those are system users and groups because they take care of a service, you'll find several articles creating regular groups and users, this should be no difference except organizational and philosophical.
addgroup --system oinstall
addgroup --system dba
adduser --system --ingroup oinstall --shell /bin/bash oracle
adduser oracle dba
- Adapting the system to Oracle requirements
- sysctl
Add a file /etc/sysctl.d/local-oracle
- security/limits
Add a file /etc/security/limits.d/local-oracle
- PAM
Usually, you just have to enable pam_limits.so in /etc/pam.d/su, but make sure it is active for /etc/pam.d/{login,sshd,su}
- sysctl
- Nasty hacks
ln -s /usr/bin/basename /bin/basename
Yes, it's required, believe me, I tried to install without it.
- Running the installer
- Graphical
- {{{./runInstaller
- Graphical
Oracle 10g on Squeeze (amd64)
aptitude install build-essential ia32-libs libaio1 libstdc++5 xauth
- Creating users and groups
For me, those are system users and groups because they take care of a service, you'll find several articles creating regular groups and users, this should be no difference except organizational and philosophical.
addgroup --system oinstall
addgroup --system dba
adduser --system --ingroup oinstall --shell /bin/bash oracle
adduser oracle dba
- Adapting the system to Oracle requirements
- sysctl
Add a file /etc/sysctl.d/local-oracle
- security/limits
Add a file /etc/security/limits.d/local-oracle
- PAM
Usually, you just have to enable pam_limits.so in /etc/pam.d/su, but make sure it is active for /etc/pam.d/{login,sshd,su}
- sysctl
- Nasty hacks
ln -s /usr/bin/basename /bin/basename
Yes, it's required, believe me, I tried to install without it.