Re: Oracle 10g in debian/amd64
Hi,
Михаил Иванов wrote:
> Hallo! Did anybody have a successful experience installing oracle
> under debian on amd64? I have a problem with missing X locale when
> running oracle installer. But all locales are there, both native
> and in 32 bit emulation directory (oracle installer is 32 bit app
> and runs under emulation).
the following is a quick and dirty hack I built after installation.
Machine was an Athlon64 with 4 GB RAM, install was done under VMware
Workstation 5 with 1,5 GB RAM (Debian Sarge R0). Host system was also
Sarge stable.
--- snipp ---
#!/bin/bash
# Oracle 10g pre-install script
# Ian Langnickel <ian@langnickel.org>
# Version: 10.06.2005
# Required users groups and files
/usr/sbin/groupadd dba
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd nobody
/usr/sbin/useradd -g oinstall -d /home/oracle -s /bin/bash oracle
mkdir /home/oracle
chown -R oracle.dba /home/oracle
passwd oracle
touch /etc/oratab
chown oracle.dba /etc/oratab
# Kernel-stuff
echo "kernel.shmmax = 100000000" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >>/etc/sysctl.conf
echo "kernel.shmmax = 2147483648" >>/etc/sysctl.conf
echo "kernel.shmmni = 4096" >>/etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >>/etc/sysctl.conf
echo "fs.file-max = 65536" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >>/etc/sysctl.conf
# reload configuration
/sbin/sysctl -p
# set limits
echo "* soft nproc 2047" >>/etc/security/limits.conf
echo "* hard nproc 16384" >>/etc/security/limits.conf
echo "* soft nofile 1024" >>/etc/security/limits.conf
echo "* hard nofile 65536" >>/etc/security/limits.conf
# needed for installer to start
dpkg-reconfigure locales
apt-get install libc6 binutils xbase-clients zip unzip rpm awk
ln -s /usr/bin/awk /bin/awk
# fake RedHat
echo "Red Hat Linux release 2.1 (drupal)" >/etc/redhat-release
--- snipp ---
>From here on you will have to enable X11 forwarding (if you don't have
X11 installed). In this case you would also have to install at least the
xbase-clients package.
Now fire off the installer and it should do.
Note: Two error messages (one concerning "ihsodbc ctx_on", one
"all_no_orcl") will appear, click them away with "Continue".
Before running "/home/oracle/product/10.1.0/Db_1/root.sh" as root, do a
"ln -s /etc /etc/rc.d" or it will fail.
After install do a "ln -s /etc/oratab /var/opt/oracle/oratab" and create
the following files, works for me:
--- /home/oracle/.bash_profile ---
# export ORACLE_HOME=/home/oracle/OraHome1
export ORACLE_HOME=/home/oracle/product/10.1.0/Db_1
export ORACLE_BASE=/home/oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_TERM=xterm
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/jdk/jdk118_v3/bin
export TNS_ADMIN=$ORACLE_HOME/config
export NLS_LANG=WE8ISO8859P1
# export NLS_LANG=GERMAN.GERMANY.WE8ISO8859P1
# export NLS_SORT=GERMAN
export LC_ALL=en_US
export LC_LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
if [ -z $LD_LIBRARY_PATH ]
then
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
else
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
fi
if [ -z $CLASSPATH ]
then
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
else
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export CLASSPATH
fi
--- end of /home/oracle/.bash_profile ---
--- /etc/init.d/oradb ---
#!/bin/sh
ORA_HOME=/home/oracle/products/10.1.0/Db_1
ORA_OWNER=oracle
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_TERM=xterm
PATH=$PATH:$ORACLE_HOME/bin:/usr/local/jdk/jdk118_v3/bin
TNS_ADMIN=$ORACLE_HOME/config
NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1
NLS_SORT=GERMAN
test -f $ORA_HOME/bin/dbstart || exit 0
echo "Oracle startup: cannot start"
case "$1" in
'start') Start the Oracle databases and Net listener
su - oracle -c "$ORA_HOME/bin/lsnrctl start" &
su oracle -c "$ORA_HOME/bin/dbstart" &
;;
'stop') Stop the Oracle databases and Net listener
su - oracle -c "$ORA_HOME/bin/lsnrctl stop" &
su oracle -c "$ORA_HOME/bin/dbshut" &
;;
esac
--- end of /etc/init.d/oradb ---
The Oracle Application Server also needs the .bashrc.
Make the init-Stuff, fire up the server and connect via
http://hostname:5500/em or sqlplus:
chmod 755 /etc/init.d/oradb
update-rc.d oradb defaults
/etc/init.d/oradb start
Have fun!
Hope this helps and is useful for someone.
Cheers,
--
Ian Langnickel
G.O.D. Gesellschaft für Organisation und Datenverarbeitung mbH
Berliner Str. 111 - 38104 Braunschweig - Germany
Phone: +49 531 23767-17 - Fax: +49 531 23767-41
PGP key available on request
Reply to: