Installing Oracle 10g R1 on SUSE SLES-9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you're installing the first patchset of 10gR1 (10.1.0.3.0), then configuring hugepages in the following way is optional and not required for a successful install. In this case, you can skip ahead to the section "Installing the orarun Package." For hugepages, the entry in "/boot/grub/menu.lst" for "Linux" should look something like the following, but will depend on course on your SLES-9 installation. Only add "hugepages=50" to whatever is there already: title Linux kernel (hd0,1)/boot/vmlinuz root=/dev/sda2 vga=0x311 selinux=0 hugepages=50 splash=silent resume=/dev/sda1 elevator=cfq showopts initrd (hd0,1)/boot/initrd Another thing that needs to be done to configure hugepages is to allow the SHM_HUGETLB flag (04000) in the shmget() call for non-root users, by doing one of the following, as root: echo "1" > /proc/sys/vm/disable_cap_mlock or: sysctl -w vm.disable_cap_mlock="1" Both of these commands will only make the change valid until the next reboot. If you prefer to make it permanent, then you must create the following file: /etc/sysctl.conf The file /etc/sysctl.conf will need to contain the following line: vm.disable_cap_mlock = 1 To cause the settings in /etc/sysctl.conf to take effect on reboot of your newly-installed SLES-9 system, one of the following commands needs to be issued (only once) to configure the boot.sysctl script to be a member of the set of boot-time initialisation scripts of the SUSE "boot script concept": insserv /etc/init.d/boot.sysctl or: chkconfig boot.sysctl on Installing the orarun Package Making use of the orarun package will save quite a lot of typing. Install the "orarun" package from SUSE SLES-9 CD3, either using YaST which is the preferred way as it will find all the dependencies for you, or if you are familiar with "rpm" by using: rpm -i /media/cdrom/suse/i586/orarun-1.8-109.5.i586.rpm \ /media/cdrom/suse/i586/libaio-devel-0.3.98-18.3.i586.rpm In any case, you should make sure that the following packages are installed: - glibc-devel - gcc - gcc-c++ - libaio - libaio-devel - make - openmotif - openmotif-libs ...and while you're at it, also install the following packages if you intend to compile PHP afterwards: - bison - flex Don't forget to install a browser. We recommend Mozilla. After installing the "orarun" package, the account for the oracle user is normally disabled. To enable it, change the shell for the "oracle" user from "/bin/false" to "/bin/bash", either using YaST user administration, or by editing the file "/etc/passwd". Also, give the "oracle" user a password, and add the "oracle" user to the new "oinstall" and "dba" groups, as follows: /usr/sbin/usermod -g oinstall -G dba oracle (Of course you could also do this using the graphical user administration tool in YaST) Another thing to do while you're running as "root" is to remove the following two lines from "/etc/services". net8-cman 1830/tcp # Oracle Net8 CMan Admin net8-cman 1830/udp # Oracle Net8 CMan Admin Also remove the lines for ports 5500-5505. You can put them back in after the Oracle install is complete, this step is just a workaround to help the installer make a valid entry for EMD_URL in the file $ORACLE_HOME/`hostname -f`_$ORACLE_SID/sysman/config/emd.properties. (If anything should go wrong (and the EM dbconsole doesn't start up) - this is the place to fix it.) Now login as the new "oracle" user, and copy the contents of "/etc/skel" to "/opt/oracle", which is the default $HOME for the oracle user, using perhaps: (cd /etc/skel && find . -print|cpio -pdmvu /opt/oracle) Let's have a look at the configuration files of the "orarun" package: rpm -ql orarun As we're using bash here, let's edit the configuration file: /etc/profile.d/oracle.sh You might like to modify the entries for "ORACLE_SID" and "ORACLE_BASE" to your taste, but certainly it will be fun to modify the default setting for "ORACLE_HOME" from the default: ORACLE_HOME=$ORACLE_BASE/product/9ir2 to what Oracle 10gR1 will expect, which is: ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 It might be simplest at this point to restart your window manager as the new "oracle" user, or perhaps launch a new session and login as the "oracle" user, as the remainder of this document will assume that you're running as "oracle", and that the environment settings from /etc/profile.d/oracle.sh are in effect. Mount the Oracle 10gR1 installation media, and launch the oracle installer as the new "oracle" user, as follows: mount /media/cdrom (cd $HOME && /media/cdrom/runInstaller -ignoreSysPrereqs) If you're installing the first patchset of 10gR1 (10.1.0.3.0), the workaround flag is no longer required, and you can launch the installer using: mount /media/cdrom (cd $HOME && /media/cdrom/runInstaller) Wait for the Oracle Universal Installer graphical screen to appear, and follow the usual steps in the installation guide. Once the installation is complete, the installer should have created a sample database, and started up some services. At the end of the database installation, you should take the occasion to unlock a few demo accounts ("scott", "hr", "sh", "oe", etc.) using the GUI that is offered for this purpose. If it is not already started, start up the "dbconsole" using: emctl start dbconsole and connect using a browser such as Mozilla to the following URL: http://localhost:5500/em Pretty much all the routine database administration tasks, and many performance tuning tasks can be done via this "dbconsole" browser interface, without ever going back to the command line. Enjoy :)