Novos blogs:  Casos de sucesso com Linux  cursos Linux on-line  apresentação Projeto Debian e distro Debian  SERPRO escolhe Debian  Debian Day 2008 Porto Alegre


Tech Force / Linux blog / Oracle 10g R2 in Debian domU into Debian dom0



Right menu

Linux blog recente

Casos de sucesso com Linux

Empresas, governos e instituições, desde as pequenas até as gigantescas, JÁ ESTÃO colhendo os frutos do uso do Linux.
Quem participa além de usar, ganha ainda mais.

Não conectado

Notificação


How to install Oracle Enterprise 10g R2 in a Debian GNU / Linux Xen guest, domU, into a Debian Xen host, dom0.

It is possible to install and run Oracle Enterprise Database 10g Release 2 (10.2.0.1.0) for Linux x86 in a Debian GNU / Linux 4.0 Etch Xen guest, domU, into a Debian GNU / Linux 4.0 Etch Xen host, dom0.

Why would you do this?

Oracle Enterprise Database 10g R2 is a resource hog and MUST run in an exclusive powerful machine.
Period.

You must not run any other service at it.

Nothing else.

For installation you will have to tweak kernel parameters and environment variables that impact other apps.
Even stronger security, beyond the database engine policies theirself, should be implemented at an external "heavy armored shield machine".
If you have one GOOD powerful server and storage available, you could setup separated Virtual Machines for your development, other for tests, other for integration, other for customer tests and acceptance, staging before the production with reduced costs. You could also have different VMs for each developer initial phase risky ideas.
You could even disable other VMs and or tweak memory of your VM while running critical performance tests.
Virtualization is very good for development. If you make mistakes, zap your breaked image and restart from a previously saved good image in few minutes.

Using different LVM partitions for engine and data, leaving spare LVM partitions for fast image backup / restores during the development, you will have more flexibility.
For real backups you will have to use DLTs or other reliable method.
Virtualization also allows you tweak memory for impact evaluation.

Debian GNU / Linux has a much smaller memory, disk, active services, security exposure footprints than Red Hat or Unbreakable Linux.
Debian is visibly more fast, tunable and manageable, also.
A bare minimal Debian 4.0 Etch could fit into 24 MB RAM and only NFS port active, while the RH 4.0 could use 196 MB RAM when ready to install Oracle and even loads a graphical interface on the server (a security heresy).

Where is the "less is more" IT motto?

It is not practical to selectively install Red Hat packages for the Oracle installations. Dependency control is weak with rpm and you could break your system. You should have to install pre-defined bloated X-window graphical rpm package selection.
If you want to run into a VM, and for development, these could be significant factors.

When running multiple Virtual Machines in a server, each memory byte and active service counts. Less is more.

Oracle has the Express Edition available as Debian packages, but it has limitations that could not allow your development (or production).
Oracle does not certify its products for Debian, yet, and it is unlikely to do so, as it sells Unbreakable Linux and ready Oracle VM images with preconfigured Unbreakable Linux and Oracle Enterprise Database.

But these are also bloated solutions, and we are back to square one.

An Oracle Enterprise Database installation is so complex (you MUST read the massive Oracle Installation Manual), painful and error prone that we recommend that you purchase ready Oracle VM images for customer tests and acceptance and for the production.

Or carefully backup images of your preconfigured Virtual Machine disk images.

I emphasize: you MUST read the massive Oracle Installation manual.

If you are using Oracle for production, it is so expensive that a few more (tens of) thousand dollars for some more gigabytes of first classs ECC RAM, more gigabytes at your FC SAN, more fastest latest and greatest multicore multicpu blades for your server, beyond the needed Oracle stack licenses, to run these bloated solutions are not of much impact. And you will have a ready binary certified solution.
Because Oracle is a binary closed source solution, you do not have means to guarantee 100% compatibility or look for trouble spots recompiling from sources. Only Oracle could do this.

Plan for a PostgreSQL migration.

Even so, the Oracle Enterprise Database 10g R2 is running on Debian 4.0 Etch guest domU Xen VM on a Debian 4.0 Etch host dom0 Xen server since October 8th 2007 without problems, except incomplete hardware info collection (it is a VM). Debian 4.0 Etch is LSB compliant and this helps a lot for this task.

It is a matter of computing how much cost your time to configure an Unbreakeble Linux Virtual Machine with Oracle Database Engine, against upgrading your hardware, your Oracle Database AND Unbreakable Linux annual licenses fees, cost of blindly using a "black box" that you are unable to control the maintenance and code, and the cost of total vendor lock-in.

Generally speaking, if you are in a hurry, the "easy way" is to pay in advance forever.

In the long term, it will always be effective to take control of your business yourself.

As you can see, using a complete FLOSS stack could give you CHOICES.

In a hurry, you could use a consultancy support contract.

In the long term, you could leverage your staff, by training, and take control yourself, if convenient.

CHOICES.

Acknowledgements

The installation process was performed and debugged with the invaluable help of an experienced Oracle DBA, Gerson Tessler.

How to install Oracle Enterprise Database in a Debian domU?

Preparation: the Debian dom0 server

Hardware

By importance order:

Memory:

Oracle Enterprise Database 10g R2 is a resource hog.
The server hardware should be really GOOD.
You need plenty (GigabyteS) of good (ECC) RAM.
More is more.
For Oracle Database, it seems that fast RAM is never enough.

Buy more, all you could fit in your server.

We installed into a 1 (one) gigabyte ECC RAM machine for the development with multiple VMs for other apps.
A painful and learning experience, as you will see.

Disks:

The storage subsystem should be the most reliable and fastest that (your) money could buy.
If you could use a first class fastest Fiber Channel SAN device, the better.
Oracle Database performance is heavily impacted by the storage subsystem.
Use, at least, a good fast SCSI big disk or array.
IDE or SATA desktop disks are painfully slow and unreliable.
Oh, yes, newest SATA disks have good BURST transfer speeds. But good fast SCSI disks and controllers have SUSTAINED transfer speeds and lightning burst speeds.
Use LVM for managing partitions, as it works well with Xen.
Do not use RAW partitions for Oracle Database. As of 2007, linux filesystems are so efficient that RAW partitions do not give reasonable performance gains over them and add too much management complexity and inflexibility.

CPU:

If you still have enough remaining money, buy the more multicores and fastest CPU(s) you could with it.
But first, invest at memory, then at storage subsystem purchases.

Software

The bare minimum Debian 4.0r1 Etch GNU / Linux dom0 Xen server.
At your server hardware, select the minimum install during the Debian Installer phase.
If you use a Net Install disk, you will automatically download and install the latest security updates.
If you use a regular CD/DVD install disk, you will have to security update your system as soon as possible.

Installed packages:

After the Debian minimum install, you will use some features of the powerful Debian package system for copying and installing the package selection.
Record copy the system configuration, as per Debian Reference Manual.

Server info:

For comparison if things go wrong, we reproduce some hardware HP ML 370 server info below.

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.20GHz
stepping        : 10
cpu MHz         : 3192.160
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr lahf_lm
bogomips        : 7984.61

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.20GHz
stepping        : 10
cpu MHz         : 3192.160
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl cid cx16 xtpr lahf_lm
bogomips        : 7984.61
xen_dom0_host:~# lspci -v
00:00.0 Host bridge: Intel Corporation E7320 Memory Controller Hub (rev 0c)
        Subsystem: Intel Corporation E7320 Memory Controller Hub
        Flags: bus master, fast devsel, latency 0
        Capabilities: [40] Vendor Specific Information

00:02.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A (rev 0c) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/1 Enable-
        Capabilities: [64] Express Root Port (Slot-) IRQ 0

00:03.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A1 (rev 0c) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        Memory behind bridge: d8100000-d81fffff
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/1 Enable-
        Capabilities: [64] Express Root Port (Slot-) IRQ 0

00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02) (prog-if 00 [Normal decode])
        Flags: bus master, 66MHz, fast devsel, latency 48
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=48
        I/O behind bridge: 00002000-00002fff
        Memory behind bridge: d8200000-d82fffff
        Prefetchable memory behind bridge: 00000000dc000000-00000000dfffffff
        Capabilities: [50] PCI-X bridge device

00:1d.0 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02) (prog-if 00 [UHCI])
        Subsystem: Hewlett-Packard Company Unknown device 25a1
        Flags: bus master, medium devsel, latency 0, IRQ 16
        I/O ports at 1400 [size=32]

00:1d.1 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02) (prog-if 00 [UHCI])
        Subsystem: Hewlett-Packard Company Unknown device 25a1
        Flags: bus master, medium devsel, latency 0, IRQ 17
        I/O ports at 1420 [size=32]

00:1d.4 System peripheral: Intel Corporation 6300ESB Watchdog Timer (rev 02)
        Subsystem: Hewlett-Packard Company Unknown device 0000
        Flags: medium devsel
        Memory at d8001000 (32-bit, non-prefetchable) [size=16]

00:1d.5 PIC: Intel Corporation 6300ESB I/O Advanced Programmable Interrupt Controller (rev 02) (prog-if 20 [IO(X)-APIC])
        Subsystem: Intel Corporation Unknown device 25a1
        Flags: bus master, fast devsel, latency 0
        Capabilities: [50] PCI-X non-bridge device

00:1d.7 USB Controller: Intel Corporation 6300ESB USB2 Enhanced Host Controller (rev 02) (prog-if 20 [EHCI])
        Subsystem: Hewlett-Packard Company Unknown device 24d0
        Flags: bus master, medium devsel, latency 0, IRQ 18
        Memory at d8001400 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=04, subordinate=04, sec-latency=32
        I/O behind bridge: 00003000-00003fff
        Memory behind bridge: d8300000-d9ffffff
        Prefetchable memory behind bridge: 50000000-500fffff

00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02)
        Flags: bus master, medium devsel, latency 0

00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller (rev 02) (prog-if 8a [Master SecP PriP])
        Subsystem: Hewlett-Packard Company Unknown device 25a1
        Flags: bus master, medium devsel, latency 0, IRQ 19
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at 1440 [size=16]
        Memory at 50100000 (32-bit, non-prefetchable) [size=1K]

00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)
        Subsystem: Hewlett-Packard Company Unknown device 25a1
        Flags: medium devsel, IRQ 22
        I/O ports at 1100 [size=32]

02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
        Subsystem: Hewlett-Packard Company Unknown device 3260
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at d8100000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Vital Product Data
        Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 Enable-
        Capabilities: [d0] Express Endpoint IRQ 0

03:01.0 RAID bus controller: Adaptec AAC-RAID (rev 01)
        Subsystem: Hewlett-Packard Company AAR-2610SA
        Flags: bus master, fast Back2Back, 66MHz, slow devsel, latency 32, IRQ 20
        Memory at dc000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [80] Power Management version 2

03:04.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6041 4-port SATA II PCI-X Controller (rev 09)
        Subsystem: Hewlett-Packard Company Unknown device 103c
        Flags: bus master, fast Back2Back, 66MHz, medium devsel, latency 32, IRQ 21
        Memory at d8200000 (64-bit, non-prefetchable) [size=1M]
        I/O ports at 2000 [size=256]
        Capabilities: [40] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
        Capabilities: [60] PCI-X non-bridge device

04:04.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) (prog-if 00 [VGA])
        Subsystem: ATI Technologies Inc Rage XL
        Flags: bus master, stepping, medium devsel, latency 66, IRQ 10
        Memory at d9000000 (32-bit, non-prefetchable) [size=16M]
        I/O ports at 3000 [size=256]
        Memory at d8300000 (32-bit, non-prefetchable) [size=4K]
        [virtual] Expansion ROM at 50000000 [disabled] [size=128K]
        Capabilities: [5c] Power Management version 2

Debconf configurations:

Read CAREFULLY the debconf saved configuration below. As the configuration was copied from a brazilian portuguese installation for a given hardware (an HP Proliant server), you could adapt or start from scratch yourself, ignoring the file completely.
Actually we recommend you start debconf configuration from scratch yourself, using the file as a GUIDE if things went wrong, for comparisons with another sucessfull but different hardware and language configuration.
You should save YOUR debconf selections file for backup purposes at YOUR hardware and skip to the package selection.
We installed at a HP server, using LVM.

Xen host dom0 debconf selections

Package selection:

Edit /etc/apt/sources.list to enable main, contrib and non-free sections of the repository as well as security repository.

You should use the Debian Reference Manual record/copy configuration topic .

# apt-get update
# dselect update
# dpkg --set-selections < xen_host_server_installed_packages.txt
# apt-get -u dselect-upgrade

The bacula, postgresql, zabbix and bwm packages are not essential, but important for backup and monitoring.
The bind9 is needed by the domU guest running Oracle Enterprise Database if your server is using an intranet dns. The Oracle installer requires a standard dns easily reached, a condition not always met at intranets.
The selinux, python-semanage and python packages are related.
The kernel images may have been updated and you should edit for your machine architecture.
There are some obviously language dependant packages, like ibrazilian, aspell-pt-br, tz-brasil, wbrazilian, wportuguese.
You should analyze the package selection file BEFORE using it and edit it for your language, hardware and network.

acpid                        install
adduser                        install
apt                        install
apt-file                    install
apt-utils                    install
aptitude                    install
aspell                        install
aspell-pt-br                    install
aspell-pt-pt                    install
at                        install
bacula-common                    install
bacula-console                    install
bacula-director-common                install
bacula-director-sqlite3                install
bacula-fd                    install
bacula-sd                    install
bacula-sd-pgsql                    install
bacula-server                    install
base-files                    install
base-passwd                    install
bash                        install
bc                        install
bind9-host                    install
binutils                    install
bridge-utils                    install
bsdmainutils                    install
bsdutils                    install
busybox                        install
bwm                        install
console-common                    install
console-data                    install
console-tools                    install
coreutils                    install
cpio                        install
cron                        install
dc                        install
debconf                        install
debconf-i18n                    install
debconf-utils                    install
debian-archive-keyring                install
debianutils                    install
debootstrap                    install
dhcp3-client                    install
dhcp3-common                    install
dictionaries-common                install
diff                        install
dmidecode                    install
dnsutils                    install
doc-debian                    install
doc-linux-text                    install
dpkg                        install
dselect                        install
e2fslibs                    install
e2fsprogs                    install
ed                        install
eject                        install
exim4                        install
exim4-base                    install
exim4-config                    install
exim4-daemon-light                install
file                        install
findutils                    install
finger                        install
fping                        install
ftp                        install
gcc-4.1-base                    install
gettext-base                    install
gnupg                        install
gpgv                        install
grep                        install
groff-base                    install
grub                        install
gzip                        install
hostname                    install
iamerican                    install
ibrazilian                    install
ibritish                    install
ifupdown                    install
info                        install
initramfs-tools                    install
initscripts                    install
installation-report                install
iportuguese                    install
iproute                        install
iproute-doc                    install
iptables                    install
iputils-ping                    install
ispell                        install
klibc-utils                    install
klogd                        install
laptop-detect                    install
less                        install
libacl1                        install
libapt-pkg-perl                    install
libaspell15                    install
libatm1                        install
libattr1                    install
libbeecrypt6                    install
libbind9-0                    install
libblkid1                    install
libbz2-1.0                    install
libc6                        install
libc6-i686                    deinstall
libc6-xen                    install
libcap1                        install
libcomerr2                    install
libconfig-file-perl                install
libconsole                    install
libdb4.2                    install
libdb4.3                    install
libdb4.4                    install
libdevmapper1.02                install
libdns22                    install
libedit2                    install
libevent1                    install
libgc1c2                    install
libgcc1                        install
libgcrypt11                    install
libgdbm3                    install
libgnutls13                    install
libgpg-error0                    install
libgpmg1                    install
libgssapi2                    install
libidn11                    install
libisc11                    install
libisccc0                    install
libisccfg1                    install
libklibc                    install
libkrb53                    install
libldap2                    install
liblocale-gettext-perl                install
liblockfile1                    install
liblwres9                    install
liblzo1                        install
libmagic1                    install
libncurses5                    install
libncursesw5                    install
libneon25                    install
libnewt0.52                    install
libnfsidmap2                    install
libopencdk8                    install
libpam-modules                    install
libpam-runtime                    install
libpam0g                    install
libpci2                        install
libpcre3                    install
libpopt0                    install
libpq4                        install
libreadline5                    install
librpcsecgss3                    install
librpm4                        install
libsasl2                    install
libsasl2-2                    install
libselinux1                    install
libsemanage1                    install
libsepol1                    install
libsigc++-2.0-0c2a                install
libslang2                    install
libsqlite3-0                    install
libss2                        install
libssl0.9.8                    install
libstdc++6                    install
libtasn1-3                    install
libtasn1-3-bin                    install
libtext-charwidth-perl                install
libtext-iconv-perl                install
libtext-template-perl                install
libtext-wrapi18n-perl                install
libusb-0.1-4                    install
libuuid1                    install
libvolume-id0                    install
libwrap0                    install
libxml2                        install
linux-image-2.6-686                install
linux-image-2.6.18-4-686            install
linux-image-2.6.18-4-xen-686            install
linux-image-2.6.18-4-xen-vserver-686        install
linux-image-2.6.18-5-686            install
linux-modules-2.6.18-4-xen-686            install
linux-modules-2.6.18-4-xen-vserver-686        install
locales                        install
login                        install
logrotate                    install
lsb-base                    install
lsof                        install
lvm-common                    install
lvm2                        install
m4                        install
mailx                        install
makedev                        install
man-db                        install
manpages                    install
manpages-pt                    install
mawk                        install
mime-support                    install
mktemp                        install
module-init-tools                install
mount                        install
mpack                        install
mtools                        install
mtr-tiny                    install
mtx                        install
mutt                        install
myspell-pt-br                    install
myspell-pt-pt                    install
nano                        install
ncurses-base                    install
ncurses-bin                    install
ncurses-term                    install
net-tools                    install
netbase                        install
netcat                        install
nfs-common                    install
openbsd-inetd                    install
openssh-client                    install
openssh-server                    install
openssl                        install
passwd                        install
patch                        install
pciutils                    install
perl                        install
perl-base                    install
perl-doc                    install
perl-modules                    install
pidentd                        install
policycoreutils                    install
popularity-contest                install
portmap                        install
postgresql-8.1                    install
postgresql-client-8.1                install
postgresql-client-common            install
postgresql-common                install
procmail                    install
procps                        install
python                        install
python-central                    install
python-minimal                    install
python-newt                    install
python-selinux                    install
python-semanage                    install
python-support                    install
python2.4                    install
python2.4-minimal                install
readline-common                    install
reiserfsprogs                    install
reportbug                    install
rpm                        install
rpmstrap                    install
sed                        install
selinux-policy-refpolicy-targeted        install
sgml-base                    install
sharutils                    install
sqlite3                        install
ssl-cert                    install
strace                        install
sysklogd                    install
sysv-rc                        install
sysvinit                    install
sysvinit-utils                    install
tar                        install
tasksel                        install
tasksel-data                    install
tcpd                        install
tcsh                        install
telnet                        install
texinfo                        install
time                        install
traceroute                    install
tz-brasil                    install
tzdata                        install
ucf                        install
udev                        install
update-inetd                    install
usbutils                    install
util-linux                    install
util-linux-locales                install
vim-common                    install
vim-tiny                    install
w3m                        install
wamerican                    install
wbrazilian                    install
wget                        install
whiptail                    install
whois                        install
wportuguese                    install
xen-hypervisor-3.0.3-1-i386-pae            install
xen-linux-system-2.6.18-4-xen-686        install
xen-linux-system-2.6.18-4-xen-vserver-686    install
xen-tools                    install
xen-utils-3.0.3-1                install
xen-utils-common                install
xfsprogs                    install
xml-core                    install
zabbix-agent                    install
zlib1g                        install

The Debian GNU / Linux 4.0 Etch Oracle server guest, domU, Xen instance:

You should also perform a basic minimal install.
We used xen-tools, boot-strapping Debian 4.0 Etch inside the virtual machine.

xen_host_server:~# vgcreate -s 4M oracle_host_group /dev/sda5 

xen_host_server:~# nano /etc/xen/xend-config.sxp 

enable network bridge as described at the file.

xen_host_server:~# invoke-rc.d xend restart 

We defined the Virtual Machine memory size considering the other Virtual Machines that must run at the Xen host and crossing with the minimal requirements of the Oracle Database. Use all RAM you could assign to it.
The xen_host_server was left with 280 MB RAM for some headroom for juggling with memory among VMs and this proved to be enough. At this setup with PostgreSQL, Bacula, Zabbix, it uses 256 MB RAM, being 147 MB for buffers. 128 MB could do the job.

xen_host_server:~# xen-create-image --hostname=XenOracleServer --ip=10.200.240.41 --netmask=255.255.252.0 --gateway=10.200.240.1 --passwd --kernel=/boot/vmlinuz-2.6.18-4-xen-686 --initrd=/boot/initrd.img-2.6.18-4-xen-686 --debootstrap --dist=etch --cache --mirror=http://ftp.us.debian.org/debian/ --lvm=oracle_host_group --memory=407MB --swap=1GB --size=8,31GB --force

xen_host_server:~# xm create --console_autoconnect /etc/xen/XenOracleServer.cfg 

This will show you the console of the Virtual Machine at your screen.

Then, edit /etc/apt/sources.list to enable main, contrib and non-free sections of the repository as well as security repository and install openssh-client and openssh-server to avoid direct connection to console next time.

The installed packages:

The dnsmasq is a simpler solution to the requirement of a DNS server by the Oracle Installer.
You could include language related packages.

adduser                        install
alien                        install
apt                        install
apt-utils                    install
aptitude                    install
auto-apt                    install
base-files                    install
base-passwd                    install
bash                        install
bind9-host                    install
binutils                    install
bsdmainutils                    install
bsdutils                    install
bzip2                        install
coreutils                    install
cpio                        install
cpp                        install
cpp-4.1                        install
cron                        install
dbus                        install
dclock                        install
dctrl-tools                    install
debconf                        install
debconf-i18n                    install
debconf-utils                    install
debhelper                    install
debian-archive-keyring                install
debianutils                    install
defoma                        install
devscripts                    install
dh-make                        install
dhcp3-client                    install
dhcp3-common                    install
diff                        install
diffstat                    install
dmidecode                    install
dnsmasq                        install
dnsutils                    install
dpkg                        install
dpkg-dev                    install
dselect                        install
e2fslibs                    install
e2fsprogs                    install
ed                        install
fakeroot                    install
file                        install
findutils                    install
fontconfig-config                install
gawk                        install
gcc                        install
gcc-4.1                        install
gcc-4.1-base                    install
gettext                        install
gettext-base                    install
gnupg                        install
gpgv                        install
grep                        install
grep-dctrl                    install
groff-base                    install
gsfonts                        install
gsfonts-x11                    install
gzip                        install
hostname                    install
html2text                    install
ifupdown                    install
info                        install
initscripts                    install
intltool-debian                    install
iptables                    install
iputils-ping                    install
jablicator                    install
java-common                    install
klogd                        install
ksh                        install
laptop-detect                    install
lesstif2                    install
lesstif2-dev                    install
libacl1                        install
libaio1                        install
libasound2                    install
libattr1                    install
libbeecrypt6                    install
libbind9-0                    install
libblkid1                    install
libbz2-1.0                    install
libc6                        install
libc6-dev                    install
libc6-xen                    install
libcap1                        install
libclass-accessor-perl                install
libcomerr2                    install
libconsole                    install
libdb3                        install
libdb4.2                    install
libdb4.3                    install
libdb4.4                    install
libdbus-1-3                    install
libdevmapper1.02                install
libdns22                    install
libdrm2                        install
libedit2                    install
libexpat1                    install
libfontconfig1                    install
libfontenc1                    install
libfreetype6                    install
libfs6                        install
libft-perl                    install
libgcc1                        install
libgcrypt11                    install
libgdbm3                    install
libgl1-mesa-glx                    install
libgnutls13                    install
libgpg-error0                    install
libice6                        install
libio-string-perl                install
libisc11                    install
libisccc0                    install
libisccfg1                    install
libkrb53                    install
libldap2                    install
liblocale-gettext-perl                install
libltdl3                    install
liblwres9                    install
liblzo1                        install
libmagic1                    install
libmudflap0                    install
libmudflap0-dev                    install
libncurses5                    install
libncursesw5                    install
libneon25                    install
libnewt0.52                    install
libopencdk8                    install
libpam-modules                    install
libpam-runtime                    install
libpam0g                    install
libparse-debianchangelog-perl            install
libpci2                        install
libpng12-0                    install
libpopt0                    install
libreadline5                    install
librpm4                        install
libsasl2                    install
libsasl2-2                    install
libselinux1                    install
libsepol1                    install
libsigc++-2.0-0c2a                install
libslang2                    install
libsm6                        install
libsqlite3-0                    install
libss2                        install
libssl0.9.8                    install
libssp0                        install
libstdc++6                    install
libtasn1-3                    install
libtext-charwidth-perl                install
libtext-iconv-perl                install
libtext-wrapi18n-perl                install
libtimedate-perl                install
libttf2                        install
libusb-0.1-4                    install
libuuid1                    install
libwrap0                    install
libx11-6                    install
libx11-data                    install
libxau6                        install
libxaw7                        install
libxcursor1                    install
libxdmcp6                    install
libxext6                    install
libxfixes3                    install
libxfont1                    install
libxft2                        install
libxi6                        install
libxkbfile1                    install
libxml2                        install
libxmu6                        install
libxmuu1                    install
libxp6                        install
libxpm4                        install
libxrandr2                    install
libxrender1                    install
libxss1                        install
libxt6                        install
libxtrap6                    install
libxtst6                    install
libxv1                        install
libxxf86dga1                    install
libxxf86vm1                    install
lintian                        install
linux-kernel-headers                install
locales                        install
login                        install
logrotate                    install
lsb-base                    install
lsb-rpm                        install
make                        install
makedev                        install
man-db                        install
manpages                    install
mawk                        install
mktemp                        install
module-init-tools                install
mount                        install
nano                        install
ncurses-base                    install
ncurses-bin                    install
net-tools                    install
netbase                        install
netcat                        install
odbcinst1debian1                install
openbsd-inetd                    install
openssh-client                    install
openssh-server                    install
passwd                        install
patch                        install
pciutils                    install
perl                        install
perl-base                    install
perl-doc                    install
perl-modules                    install
po-debconf                    install
procps                        install
readline-common                    install
resolvconf                    install
rpm                        install
sed                        install
sgml-base                    install
ssh                        install
sun-java5-bin                    install
sun-java5-demo                    install
sun-java5-jdk                    install
sun-java5-jre                    install
sysklogd                    install
sysv-rc                        install
sysvinit                    install
sysvinit-utils                    install
tar                        install
tasksel                        install
tasksel-data                    install
tcpd                        install
traceroute                    install
tzdata                        install
ucf                        install
unixodbc                    install
unzip                        install
update-inetd                    install
util-linux                    install
util-linux-locales                install
vim-common                    install
vim-tiny                    install
wget                        install
whiptail                    install
x11-common                    install
xbase-clients                    install
xfonts-encodings                install
xfonts-utils                    install
xml-core                    install
xutils                        install
xutils-dev                    install
zip                        install
zlib1g                        install

The Oracle Database pre-installation tasks:

First, as already said, you MUST read the Oracle Installation Manual.
You can not use simple "cake recipes" for Oracle Installation.
You will have to read the manual and follow it.

We will cover more the obscure hints here and the differences for the Debian Etch installation.
The previously documented tasks are listed at the manual and some sites.
You should read them all, by order of relevance and correctness:

But not actually perform these instructions yet.
First, you must make your Debian Etch "transmorph" to a Red Hat and THEN follow the Oracle Installation Manual.

But did not these sites actually install Oracle at Debian?

Oracle Installer and Oracle Database are like aliens to Linux concepts and culture.
Unfortunately, the Oracle Installer "seems" to install and the Database engine "seems" to work at first look.
You have to put a reasonable workload to spot the problems.
This proved to be the tricky and longer part:
To have an ACTUALLY working installation and running engine.
We have been running the engine at the customer since october 4th 2007 and observed very carefully.
The basic concept is to fool Oracle Installer and the Database Engine in order to it "thinks" is running at a Red Hat Enterprise Linux server, **but not ignoring its prerequisites verifications.**

DNS workaround:

Let's start with name resolution problems ( chapter 2.4 at the intallation manual).
We had to configure the xen domU to work at our intranet using some kind of DNS solution.
For some reason, Oracle Installer requires complete standard access to DNS, not always true for a lab server at an intranet.
It does not honor the /etc/hosts file.
So, we installed dnsmasq as a simple lightweight DNS server to feed the /etc/hostname through a standard DNS query.
The /etc/host.conf file:

#AFM 26set2007 oracle needs nslookup returning right values
#first query /etc/hosts file, then dns servers
order hosts, bind

The modifications at /etc/dnsmasq.conf:

# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this
#AFM 26set2007 modifications for dnsmasq at same machine for oracle
no-resolv

# Add other name servers here, with domain specs if they are for
# non-public domains.
#AFM 26set2007 modifications for dnsmasq at same machine for oracle
server=10.200.113.12
Red Hat release

We used the /etc/redhat-release file:

Red Hat Linux release 4.1
PCI

The Oracle Installer and the Database Engine collect hardware info.
Running at a Xen domU guest, it will be tricky.
At least, make a symbolic link from /bin/lspci to /sbin/lspci.
As a Xen domU, the output will be blank, but the command will not fail.

XenOracleServer:~# ln -s /bin/lspci /sbin/lspci 
The other symbolic links.

Create the symbolic links cited at the french Linux Identitity article.

#ln -s /usr/bin/awk /bin/awk
#ln -s /usr/bin/rpm /bin/rpm
#ln -s /usr/bin/basename /bin/basename
#ln -s /etc /etc/rc.d
#ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
The RPM

Debian uses dpkg for its package management. But it CAN use rpm to install rpm packages. Avoid this at all costs, if you could.
The strong dependency check of dpkg is not present with rpm and you could break your system with a bad rpm package. Alien is a Debian tool to try convert different package formats, but good dependencies lists are up to the original developer. You could use alien to convert a rpm package to a deb package and then use dpkg to install it.
We created the rpm base directories almost as described at the french article:

#mkdir /var/lib/rpm
#touch /var/lib/rpm/Basenames
#rpm --initdb
#rpm --rebuilddb

AFTER the Oracle installation, you should get something similar to this:

oracle@XenOracleServer:~$ ls -la /var/lib/rpm
total 404
drwxr-xr-x  2 root   root        4096 2007-09-24 12:07 .
drwxr-xr-x 21 root   root        4096 2007-10-15 15:58 ..
-rwxr-xr-x  1 root   root           0 2007-09-21 14:43 Basenames
-rwxr-xr-x  1 oracle oinstall   24576 2007-09-24 12:07 __db.001
-rwxr-xr-x  1 oracle oinstall 1318912 2007-09-24 12:07 __db.002
-rwxr-xr-x  1 oracle oinstall  450560 2007-09-24 12:07 __db.003
-rwxr-xr-x  1 oracle oinstall   12288 2007-09-24 12:07 Name
-rwxr-xr-x  1 root   root       12288 2007-09-21 14:38 Packages
Create the needed users and groups

Follow the suitable chapter 2.5 at the Oracle Installation Manual to create the needed users and groups and their modifications. Some users must be at more than one group.
Do not forget to verify the special user "nobody".
A special advice.
The "oracle home" is NOT the home of the oracle Linux user.
The names are confusing, but you must not be mislead by these.
The "oracle home" is the home of the database products, not of the user nor of the engine.
Carefully read the chapter 2.7 of the Oracle 10g R2 Installation Manual.
Pay special attention to directories and files ownership and permissions.
A single mistake and you may have to restart from a previously saved LVM image as the Oracle Installer mess things so badly and blindly that is easier to restart from scratch.
After creating the directories and groups following the Oracle Installation Manual, we modified some user and system files, as some variables were not properly set for some given Oracle daemons . It is an EXCLUSIVE Oracle server virtual machine.

oracle@XenOracleServer:~$ cat /home/oracle/.bash_profile

# ~/.bash_profile: executed by bash(1) for login shells.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/login.defs
#AFM 08Ago2007 uncommented for Oracle
umask 022

# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi
oracle@XenOracleServer:~$ cat /home/oracle/.bashrc

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    ;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac

# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;
*)
    ;;
esac

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
#    . ~/.bash_aliases
#fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi


#AFM 08out2007 oracle modifications
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0
ORACLE_SID=customerbase
TNS_ADMIN=$ORACLE_HOME/network/admin
PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH

export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export TNS_ADMIN

export PATH
unset USERNAME
oracle@XenOracleServer:~$ cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

export PATH

umask 022

#AFM 08Ago2007 changes for Oracle
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi


#AFM 08out2007 oracle modifications
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0
ORACLE_SID=customerbase
TNS_ADMIN=$ORACLE_HOME/network/admin
PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH

export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export TNS_ADMIN

export PATH
unset USERNAME

Configuring kernel parameters

You must follow the Oracle Installation Manual chapter 2.6 to edit the /etc/sysctl.conf file contents.
The parameters will be read next boot and persist between reboots.

If you want them read without rebooting, you could issue command:

#sysctl -p /etc/sysctl.conf
oracle@XenOracleServer:~$ cat /etc/sysctl.conf
       
 #
 # /etc/sysctl.conf - Configuration file for setting system variables
 # See sysctl.conf (5) for information.
 #
       
 #kernel.domainname = example.com
 #net/ipv4/icmp_echo_ignore_broadcasts=1
       
 # Uncomment the following to stop low-level messages on console
 #kernel.printk = 4 4 1 7
       
 ##############################################################3
 # Functions previously found in netbase
 #
       
 # Uncomment the next line to enable Spoof protection (reverse-path filter)
 #net.ipv4.conf.default.rp_filter=1
       
 # Uncomment the next line to enable TCP/IP SYN cookies
 #net.ipv4.tcp_syncookies=1
       
 # Uncomment the next line to enable packet forwarding for IPv4
 #net.ipv4.conf.default.forwarding=1
       
 # Uncomment the next line to enable packet forwarding for IPv6
 #net.ipv6.conf.default.forwarding=1
       
 #AFM 18Sep2007 changes for oracle
 kernel.shmall = 2097152
 kernel.shmmax = 2147483648
 kernel.shmmni = 4096
 kernel.sem = 250 32000 100 128
 fs.file-max = 65536
 net.ipv4.ip_local_port_range = 1024 65000
 net.core.rmem_default = 1048576
 net.core.rmem_max = 1048576
 net.core.wmem_default = 262144
 net.core.wmem_max = 262144

You should edit 2 files instead of the one documented for limits.
Edit /etc/pam.d/su :

oracle@XenOracleServer:~$ cat /etc/pam.d/su
 #
 # The PAM configuration file for the Shadow `su' service
 #
       
 # This allows root to su without passwords (normal operation)
 auth       sufficient pam_rootok.so
       
 # Uncomment this to force users to be a member of group root
 # before they can use `su'. You can also add "group=foo"
 # to the end of this line if you want to use a group other
 # than the default "root" (but this may have side effect of
 # denying "root" user, unless she's a member of "foo" or explicitly
 # permitted earlier by e.g. "sufficient pam_rootok.so").
 # (Replaces the `SU_WHEEL_ONLY' option from login.defs)
 # auth       required   pam_wheel.so
       
 # Uncomment this if you want wheel members to be able to
 # su without a password.
 # auth       sufficient pam_wheel.so trust
       
 # Uncomment this if you want members of a specific group to not
 # be allowed to use su at all.
 # auth       required   pam_wheel.so deny group=nosu
       
 # Uncomment and edit /etc/security/time.conf if you need to set
 # time restrainst on su usage.
 # (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
 # as well as /etc/porttime)
 # account    requisite  pam_time.so
       
 # This module parses environment configuration file(s)
 # and also allows you to use an extended config
 # file /etc/security/pam_env.conf.
 #
 # parsing /etc/environment needs "readenv=1"
 session       required   pam_env.so readenv=1
 # locale variables are also kept into /etc/default/locale in etch
 # reading this file *in addition to /etc/environment* does not hurt
 session       required   pam_env.so readenv=1 envfile=/etc/default/locale
       
 # Defines the MAIL environment variable
 # However, userdel also needs MAIL_DIR and MAIL_FILE variables
 # in /etc/login.defs to make sure that removing a user
 # also removes the user's mail spool file.
 # See comments in /etc/login.defs
 #
 # "nopen" stands to avoid reporting new mail when su'ing to another user
 session    optional   pam_mail.so nopen
       
 # Sets up user limits, please uncomment and read /etc/security/limits.conf
 # to enable this functionality.
 # (Replaces the use of /etc/limits in old login)
 #AFM 08Ago2007 uncommented for Oracle
 session    required   pam_limits.so
       
 # The standard Unix authentication modules, used with
 # NIS (man nsswitch) as well as normal /etc /passwd and
 # /etc/ shadow entries.
 @include common-auth
 @include common-account
 @include common-session

Also edit /etc/pam.d/login :

oracle@XenOracleServer:~$ cat /etc/pam.d/login
       
 #
 # The PAM configuration file for the Shadow `login' service
 #
       
 # Outputs an issue file prior to each login prompt (Replaces the
 # ISSUE_FILE option from login.defs). Uncomment for use
 # auth       required   pam_issue.so issue=/etc/issue
       
 # Disallows root logins except on tty's listed in /etc/securetty
 # (Replaces the `CONSOLE' setting from login.defs)
 auth       requisite  pam_securetty.so
       
 # Disallows other than root logins when /etc/nologin exists
 # (Replaces the `NOLOGINS_FILE' option from login.defs)
 auth       requisite  pam_nologin.so
       
 # This module parses environment configuration file(s)
 # and also allows you to use an extended config
 # file /etc/security/pam_env.conf.
 #
 # parsing /etc/environment needs "readenv=1"
 session       required   pam_env.so readenv=1
 # locale variables are also kept into /etc/default/locale in etch
 # reading this file *in addition to /etc/environment* does not hurt
 session       required   pam_env.so readenv=1 envfile=/etc/default/locale
       
 # Standard Un*x authentication.
 @include common-auth
       
 # This allows certain extra groups to be granted to a user
 # based on things like time of day, tty, service, and user.
 # Please edit /etc/security/group.conf to fit your needs
 # (Replaces the `CONSOLE_GROUPS' option in login.defs)
 auth       optional   pam_group.so
       
 # Uncomment and edit /etc/security/time.conf if you need to set
 # time restrainst on logins.
 # (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
 # as well as /etc/porttime)
 # account    requisite  pam_time.so
       
 # Uncomment and edit /etc/security/access.conf if you need to
 # set access limits.
 # (Replaces /etc/login.access file)
 # account  required       pam_access.so
       
 # Sets up user limits according to /etc/security/limits.conf
 # (Replaces the use of /etc/limits in old login)
 #AFM 18Sep2007 oracle changes
 session    required   /lib/security/pam_limits.so
 session    required   pam_limits.so
       
 # Prints the last login info upon succesful login
 # (Replaces the `LASTLOG_ENAB' option from login.defs)
 session    optional   pam_lastlog.so
       
 # Prints the motd upon succesful login
 # (Replaces the `MOTD_FILE' option in login.defs)
 session    optional   pam_motd.so
       
 # Prints the status of the user's mailbox upon succesful login
 # (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
 #
 # This also defines the MAIL environment variable
 # However, userdel also needs MAIL_DIR and MAIL_FILE variables
 # in /etc/login.defs to make sure that removing a user
 # also removes the user's mail spool file.
 # See comments in /etc/login.defs
 session    optional   pam_mail.so standard
       
 # SELinux needs to intervene at login time to ensure that the process
 # starts in the proper default security context.
 # Uncomment the following line to enable SELinux
 # session required pam_selinux.so multiple
       
 # Standard Un*x account and session
 @include common-account
 @include common-session
 @include common-password
 oracle@XenOracleServer:~$

Also, you should edit /etc/security/limits.conf as documented in the manual.

oracle@XenOracleServer:~$ cat /etc/security/limits.conf
       
 # /etc/security/limits.conf
 #
 #Each line describes a limit for a user in the form:
 #
 #<domain>        <type>  <item>  <value>
 #
 #Where:
 #<domain> can be:
 #        - an user name
 #        - a group name, with @group syntax
 #        - the wildcard *, for default entry
 #        - the wildcard %, can be also used with %group syntax,
 #                 for maxlogin limit
 #
 #<type> can have the two values:
 #        - "soft" for enforcing the soft limits
 #        - "hard" for enforcing hard limits
 #
 #<item> can be one of the following:
 #        - core - limits the core file size (KB)
 #        - data - max data size (KB)
 #        - fsize - maximum filesize (KB)
 #        - memlock - max locked-in-memory address space (KB)
 #        - nofile - max number of open files
 #        - rss - max resident set size (KB)
 #        - stack - max stack size (KB)
 #        - cpu - max CPU time (MIN)
 #        - nproc - max number of processes
 #        - as - address space limit
 #        - maxlogins - max number of logins for this user
 #        - maxsyslogins - max number of logins on the system
 #        - priority - the priority to run user process with
 #        - locks - max number of file locks the user can hold
 #        - sigpending - max number of pending signals
 #        - msgqueue - max memory used by POSIX message queues (bytes)
 #        - nice - max nice priority allowed to raise to
 #        - rtprio - max realtime priority
 #
 #<domain>      <type>  <item>         <value>
 #
       
 #*               soft    core            0
 #*               hard    rss             10000
 #@student        hard    nproc           20
 #@faculty        soft    nproc           20
 #@faculty        hard    nproc           50
 #ftp             hard    nproc           0
 #@student        -       maxlogins       4
       
       
 #AFM 08Ago2007 changes for Oracle
 *               soft    nproc           2047
 *               hard    nproc           16384
 *               soft    nofile          1024
 *               hard    nofile          65536
       
 # End of file

BEFORE the installation: Configuring the oracle User's Environment and X fowarding

We do not use xhost, and use ssh X11 fowarding instead.
So, you must check your VM sshd configuration.

oracle@XenOracleServer:~$ cat /etc/ssh/sshd_config
       
 # Package generated configuration file
 # See the sshd(8) manpage for details
       
 # What ports, IPs and protocols we listen for
 Port 22
 # Use these options to restrict which interfaces/protocols sshd will bind to
 #ListenAddress ::
 #ListenAddress 0.0.0.0
 Protocol 2
 # HostKeys for protocol version 2
 HostKey /etc/ssh/ssh_host_rsa_key
 HostKey /etc/ssh/ssh_host_dsa_key
 #Privilege Separation is turned on for security
 UsePrivilegeSeparation yes
       
 # Lifetime and size of ephemeral version 1 server key
 KeyRegenerationInterval 3600
 ServerKeyBits 768
       
 # Logging
 SyslogFacility AUTH
 LogLevel INFO
       
 # Authentication:
 LoginGraceTime 120
 PermitRootLogin yes
 StrictModes yes
       
 RSAAuthentication yes
 PubkeyAuthentication yes
 #AuthorizedKeysFile     %h/.ssh/authorized_keys
       
 # Don't read the user's ~/.rhosts and ~/.shosts files
 IgnoreRhosts yes
 # For this to work you will also need host keys in /etc/ssh_known_hosts
 RhostsRSAAuthentication no
 # similar for protocol version 2
 HostbasedAuthentication no
 # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
 #IgnoreUserKnownHosts yes
       
 # To enable empty passwords, change to yes (NOT RECOMMENDED)
 PermitEmptyPasswords no
       
 # Change to yes to enable challenge-response passwords (beware issues with
 # some PAM modules and threads)
 ChallengeResponseAuthentication no
       
 # Change to no to disable tunnelled clear text passwords
 #PasswordAuthentication yes
       
 # Kerberos options
 #KerberosAuthentication no
 #KerberosGetAFSToken no
 #KerberosOrLocalPasswd yes
 #KerberosTicketCleanup yes
       
 # GSSAPI options
 #GSSAPIAuthentication no
 #GSSAPICleanupCredentials yes
       
 X11Forwarding yes
 X11DisplayOffset 10
 PrintMotd no
 PrintLastLog yes
 TCPKeepAlive yes
 #UseLogin no
       
 #MaxStartups 10:30:60
 #Banner /etc/issue.net
       
 # Allow client to pass locale environment variables
 AcceptEnv LANG LC_*
       
 Subsystem sftp /usr/lib/openssh/sftp-server
       
 UsePAM yes

Restart sshd daemon.

#invoke-rc.d sshd restart

Now you can open a "ssh -X" connection to your virtual machine.
It is tricky, but you have to perform some oracle user's environment tweaks just before the installer execution to set some variables and UNSET others for the installer, remarkably ORACLE_HOME and TNS_ADMIN.
You must follow the "Configuring the oracle User's Environment" , chapter 2.14, with some differences for us.
Do not disconnect or close the shell session before starting the Oracle Installer or you will have to reconfigure the environment variables valid for the shell session.

Start the Oracle Installer:

To start the installer, do not ignore prerequisites as said elsewhere. If you forgot something obvious, the Oracle Installer will alert you at start.
The installer will guide you.
At some point you will have to pause and open a new simultaneus shell connection, login as root and run 2 shell scripts indicated.
The output of the scripts should be similar to something below:

XenOracleServer:~# cd /u01/app/oracle/oraInventory/
 XenOracleServer:/u01/app/oracle/oraInventory# sh /u01/app/oracle/oraInventory/orainstRoot.sh
 Alterando permissões de/u01/app/oracle/oraInventory para 770.
 Alterando o nome do grupo de /u01/app/oracle/oraInventory para oinstall.
 A execução do script foi concluída
 XenOracleServer:/u01/app/oracle/oraInventory#
       
       
       
       
 XenOracleServer:/u01/app/oracle/oraInventory# cd /u01/app/oracle/product/10.2.0/XenOracleServer:/u01/app/oracle/product/10.2.0# sh /u01/app/oracle/product/10.2.0/root.sh
 Running Oracle10 root.sh script...
       
 The following environment variables are set as:
     ORACLE_OWNER= oracle
     ORACLE_HOME=  /u01/app/oracle/product/10.2.0
       
 Enter the full pathname of the local bin directory: [/usr/local/bin]:
    Copying dbhome to /usr/local/bin ...
    Copying oraenv to /usr/local/bin ...
    Copying coraenv to /usr/local/bin ...
       
       
 Creating /etc/oratab file...
 Entries will be added to the /etc/oratab file as needed by
 Database Configuration Assistant when a database is created
 Finished running generic part of root.sh script.
 Now product-specific root actions will be performed.
 XenOracleServer:/u01/app/oracle/product/10.2.0#

Automatic engine startup:

At this point, you should have the database engine running.
Access http://XenOracleServer:1158/em
But it will not automatically shutdown cleanly nor start automatically at next boot.
You could use the french article as guidance to create your startup / shutdown scripts.
You could use the http://albatordeb.blogspot.com/2007/04/oracle.html as another example.
You could use the http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4468&pagina=1 as another good guidance.
In a future article we will present our solution.

Red Hat cluster suite in Debian GNU / Linux 4.0 Etch

The Red Hat cluster suite packages in Debian 4.0 Etch are partially broken.

See how to patch them to get your cluster up and running.

Virtualização e serviço de arquivos em cluster de alta disponibilidade com Debian Etch, com redundância, espelhamento, replicação, em ambientes de desenvolvimento (parte 1)

Virtualização e serviço de arquivos POSIX em cluster de alta disponibilidade redundante com espelhamento síncrono e replicação assíncrona em ambientes de desenvolvimento, com montagem local, suporte a ACL, quotas, direct I/O (dio), asynchronous I/O (aio), homologado para banco de dados Oracle RAC e compatível com PostgreSQL.

Comentários

Usuários registrados têm permissão para criar comentários.


Translate this page.  

Slashdot   Slashdot It!     Digg it   StumbleUpon Stumble It!    Save to del.icio.us   Add to Propeller  Submit To Propeller    Add to Free Software Daily Add to Free Sw Daily   Add to Technorati Favorites  Add to Technorati Favorites   AddThis Social Bookmark Button    AddThis Feed Button    Adicionar esta notícia no Rec6   Adicionar esta notícia no Linkk   Adicionar esta notícia no diHITT   Adicionar esta notícia no Uêba   Adicionar esta notícia no LinkLoko       Adicionar esta notícia ao Brasil Source   enviar para DoMelhor